@rpgjs/server 4.3.0 → 5.0.0-alpha.1

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 +32 -15
  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 +15 -37
  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 +36 -12
  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 -174
  55. package/LICENSE +0 -19
  56. package/browser/manifest.json +0 -7
  57. package/browser/rpg.server.js +0 -22379
  58. package/browser/rpg.server.umd.cjs +0 -22410
  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 -419
  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 -18
  164. package/lib/express/server.js +0 -70
  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 -500
  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 -94
  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,15 +1,48 @@
1
- import { Utils } from '@rpgjs/common'
2
- import {
3
- MAXHP,
4
- MAXSP,
5
- } from '../presets'
1
+ import { Constructor, isString, RpgCommonPlayer } from "@rpgjs/common";
2
+ import { MAXHP, MAXSP } from "../presets";
6
3
 
7
- const {
8
- isString
9
- } = Utils
4
+ export interface IWithParameterManager {
5
+ parameters: Map<string, any>
6
+ hp: number
7
+ sp: number
8
+ exp: number
9
+ level: number
10
+ expForNextlevel: number
11
+ param: { [key: string]: number }
12
+ paramsModifier: { [key: string]: { value?: number, rate?: number } }
13
+ }
10
14
 
11
- export class ParameterManager {
15
+ interface PlayerWithMixins extends RpgCommonPlayer {
16
+ databaseById?(id: string): any;
17
+ }
12
18
 
19
+ /**
20
+ * Mixin that adds parameter management functionality to a player class.
21
+ *
22
+ * This mixin provides comprehensive parameter management including:
23
+ * - Health Points (HP) and Skill Points (SP) management
24
+ * - Experience and level progression system
25
+ * - Custom parameter creation and modification
26
+ * - Parameter modifiers for temporary stat changes
27
+ *
28
+ * @template TBase - The base class constructor type
29
+ * @param Base - The base class to extend
30
+ * @returns A new class that extends the base with parameter management capabilities
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * class MyPlayer extends WithParameterManager(BasePlayer) {
35
+ * constructor() {
36
+ * super();
37
+ * this.addParameter('strength', { start: 10, end: 100 });
38
+ * }
39
+ * }
40
+ * ```
41
+ */
42
+ export function WithParameterManager<TBase extends Constructor<RpgCommonPlayer>>(
43
+ Base: TBase
44
+ ): TBase & Constructor<IWithParameterManager> {
45
+ return class extends Base implements IWithParameterManager {
13
46
  private _paramsModifier: {
14
47
  [key: string]: {
15
48
  value?: number,
@@ -20,12 +53,7 @@ export class ParameterManager {
20
53
  private _parameters: Map<string, {
21
54
  start: number,
22
55
  end: number
23
- }>
24
-
25
- private _hp = 0
26
- private _sp = 0
27
- private _exp: number = 0
28
- private _level: number = 0
56
+ }> = new Map()
29
57
 
30
58
  /**
31
59
  * ```ts
@@ -99,11 +127,11 @@ export class ParameterManager {
99
127
  this['execMethod']('onDead')
100
128
  val = 0
101
129
  }
102
- this._hp = val
130
+ this._hp.set(val)
103
131
  }
104
132
 
105
133
  get hp(): number {
106
- return this._hp
134
+ return this._hp()
107
135
  }
108
136
 
109
137
  /**
@@ -123,11 +151,11 @@ export class ParameterManager {
123
151
  if (val > this.param[MAXSP]) {
124
152
  val = this.param[MAXSP]
125
153
  }
126
- this._sp = val
154
+ this._sp.set(val)
127
155
  }
128
156
 
129
157
  get sp(): number {
130
- return this._sp
158
+ return this._sp()
131
159
  }
132
160
 
133
161
  /**
@@ -151,16 +179,16 @@ export class ParameterManager {
151
179
  * @memberof ParameterManager
152
180
  * */
153
181
  set exp(val: number) {
154
- this._exp = val
182
+ this._exp.set(val)
155
183
  const lastLevel = this.level
156
- while (this.expForNextlevel < this._exp) {
184
+ while (this.expForNextlevel < this._exp()) {
157
185
  this.level += 1
158
186
  }
159
187
  //const hasNewLevel = player.level - lastLevel
160
188
  }
161
189
 
162
190
  get exp(): number {
163
- return this._exp
191
+ return this._exp()
164
192
  }
165
193
 
166
194
  /**
@@ -184,13 +212,14 @@ export class ParameterManager {
184
212
  * @memberof ParameterManager
185
213
  * */
186
214
  set level(val: number) {
187
- const lastLevel = this._level
215
+ const lastLevel = this._level()
188
216
  if (this.finalLevel && val > this.finalLevel) {
189
217
  val = this.finalLevel
190
218
  }
191
- if (this._class) {
192
- for (let i = this._level ; i <= val; i++) {
193
- for (let skill of this._class.skillsToLearn) {
219
+ const currentClass = this._class && this._class()
220
+ if (currentClass && 'skillsToLearn' in currentClass && Array.isArray(currentClass.skillsToLearn)) {
221
+ for (let i = this._level() ; i <= val; i++) {
222
+ for (let skill of currentClass.skillsToLearn as any[]) {
194
223
  if (skill.level == i) {
195
224
  this['learnSkill'](skill.skill)
196
225
  }
@@ -201,11 +230,11 @@ export class ParameterManager {
201
230
  if (hasNewLevel > 0) {
202
231
  this['execMethod']('onLevelUp', <any>[hasNewLevel])
203
232
  }
204
- this._level = val
233
+ this._level.set(val)
205
234
  }
206
235
 
207
236
  get level(): number {
208
- return this._level
237
+ return this._level()
209
238
  }
210
239
 
211
240
  /**
@@ -264,7 +293,7 @@ export class ParameterManager {
264
293
  changeParam(prop)
265
294
  return
266
295
  }
267
- for (let el of this[prop]) {
296
+ for (let el of this[prop]()) {
268
297
  if (!el.paramsModifier) continue
269
298
  changeParam(el.paramsModifier)
270
299
  }
@@ -342,7 +371,6 @@ export class ParameterManager {
342
371
  }
343
372
  }) {
344
373
  this._paramsModifier = val
345
- this.changeRoomState('param')
346
374
  }
347
375
 
348
376
  get parameters() {
@@ -419,7 +447,6 @@ export class ParameterManager {
419
447
  else if (name == MAXSP && this.sp > maxSp) {
420
448
  this.sp = maxSp
421
449
  }
422
- this.changeRoomState('param.' + name)
423
450
  }
424
451
 
425
452
  /**
@@ -470,10 +497,5 @@ export class ParameterManager {
470
497
  allRecovery(): void {
471
498
  this.recovery({ hp: 1, sp: 1 })
472
499
  }
473
- }
474
-
475
- export interface ParameterManager {
476
- _class,
477
- $schema,
478
- changeRoomState(key: string): void
500
+ }
479
501
  }