@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 +0,0 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":"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"}
@@ -1,163 +0,0 @@
1
- import { StateManager } from './StateManager';
2
- import { EffectManager } from './EffectManager';
3
- import { ParameterManager } from './ParameterManager';
4
- import { RpgPlayer } from './Player';
5
- type SkillClass = {
6
- new (...args: any[]): any;
7
- };
8
- export declare class SkillManager {
9
- skills: any[];
10
- private _getSkillIndex;
11
- /**
12
- * Retrieves a learned skill. Returns null, if not found
13
- * ```ts
14
- * import Fire from 'your-database/skills/fire'
15
- *
16
- * player.getSkill(Fire)
17
- * ```
18
- *
19
- * @title Get Skill
20
- * @method player.getSkill(skillClass)
21
- * @param {SkillClass | string} skillClass or data id
22
- * @returns {instance of SkillClass | null}
23
- * @memberof SkillManager
24
- */
25
- getSkill(skillClass: SkillClass | string): any;
26
- /**
27
- * Learn a skill. Attributes the coefficient 1 to the parameter INT (intelligence) if cd is not present on the class.
28
- *
29
- * `onLearn()` method is called on the SkillClass
30
- *
31
- * ```ts
32
- * import Fire from 'your-database/skills/fire'
33
- *
34
- * player.learnSkill(Fire)
35
- * ```
36
- *
37
- * @title Learn Skill
38
- * @method player.learnSkill(skillClass)
39
- * @param {SkillClass | string} skillClass or data id
40
- * @throws {SkillLog} alreadyLearned
41
- * If the player already knows the skill
42
- * ```
43
- {
44
- id: SKILL_ALREADY_LEARNED,
45
- msg: '...'
46
- }
47
- ```
48
- * @returns {instance of SkillClass}
49
- * @memberof SkillManager
50
- */
51
- learnSkill(skillClass: SkillClass | string): any;
52
- /**
53
- * Forget a skill
54
- *
55
- * `onForget()` method is called on the SkillClass
56
- *
57
- * ```ts
58
- * import Fire from 'your-database/skills/fire'
59
- *
60
- * try {
61
- * player.forgetSkill(Fire)
62
- * }
63
- * catch (err) {
64
- * console.log(err)
65
- * }
66
- * ```
67
- *
68
- * @title Forget Skill
69
- * @method player.learnSkill(skillClass)
70
- * @param {SkillClass | string} skillClass or data id
71
- * @throws {SkillLog} notLearned
72
- * If trying to forget a skill not learned
73
- * ```
74
- * {
75
- * id: SKILL_NOT_LEARNED,
76
- * msg: '...'
77
- * }
78
- * ```
79
- * @returns {instance of SkillClass}
80
- * @memberof SkillManager
81
- */
82
- forgetSkill(skillClass: SkillClass | string): any;
83
- /**
84
- * Using a skill
85
- *
86
- * `onUse()` method is called on the SkillClass
87
- *
88
- * If other players are indicated then damage will be done to these other players. The method `applyDamage()` will be executed
89
- *
90
- * ```ts
91
- * import Fire from 'your-database/skills/fire'
92
- *
93
- * try {
94
- * player.useSkill(Fire)
95
- * }
96
- * catch (err) {
97
- * console.log(err)
98
- * }
99
- * ```
100
- *
101
- * or
102
- *
103
- *
104
- * * ```ts
105
- * import Fire from 'your-database/skills/fire'
106
- *
107
- * try {
108
- * player.useSkill(Fire, otherPlayer)
109
- * }
110
- * catch (err) {
111
- * console.log(err)
112
- * }
113
- * ```
114
- *
115
- * @title Use Skill
116
- * @method player.useSkill(skillClass,otherPlayer)
117
- * @param {SkillClass | string} skillClass or data id
118
- * @param {Array<RpgPlayer> | RpgPlayer} [otherPlayer]
119
- * @throws {SkillLog} restriction
120
- * If the player has the `Effect.CAN_NOT_SKILL` effect
121
- * ```
122
- * {
123
- * id: RESTRICTION_SKILL,
124
- * msg: '...'
125
- * }
126
- * ```
127
- * @throws {SkillLog} notLearned
128
- * If the player tries to use an unlearned skill
129
- * ```
130
- * {
131
- * id: SKILL_NOT_LEARNED,
132
- * msg: '...'
133
- * }
134
- * ```
135
- * @throws {SkillLog} notEnoughSp
136
- * If the player does not have enough SP to use the skill
137
- * ```
138
- * {
139
- * id: NOT_ENOUGH_SP,
140
- * msg: '...'
141
- * }
142
- * ```
143
- * @throws {SkillLog} chanceToUseFailed
144
- * If the chance to use the skill has failed (defined with the `hitRate` property)
145
- * ```
146
- * {
147
- * id: USE_CHANCE_SKILL_FAILED,
148
- * msg: '...'
149
- * }
150
- * ```
151
- *
152
- * `onUseFailed()` method is called on the SkillClass
153
- *
154
- * @returns {instance of SkillClass}
155
- * @memberof SkillManager
156
- * @todo
157
- */
158
- useSkill(skillClass: SkillClass | string, otherPlayer?: RpgPlayer | RpgPlayer[]): any;
159
- }
160
- export interface SkillManager extends ParameterManager, StateManager, EffectManager {
161
- databaseById(skillClass: any): any;
162
- }
163
- export {};
@@ -1,223 +0,0 @@
1
- import { Utils } from '@rpgjs/common';
2
- import { Effect } from '@rpgjs/database';
3
- import { SkillLog } from '../logs/index.js';
4
- import { StateManager } from './StateManager.js';
5
- import { EffectManager } from './EffectManager.js';
6
- import { ParameterManager } from './ParameterManager.js';
7
- const { isArray, isString, isInstanceOf, applyMixins } = Utils;
8
- export class SkillManager {
9
- _getSkillIndex(skillClass) {
10
- return this.skills.findIndex(skill => {
11
- if (isString(skill)) {
12
- return skill.id == skillClass;
13
- }
14
- if (isString(skillClass)) {
15
- return skillClass == (skill.id || skill);
16
- }
17
- return isInstanceOf(skill, skillClass);
18
- });
19
- }
20
- /**
21
- * Retrieves a learned skill. Returns null, if not found
22
- * ```ts
23
- * import Fire from 'your-database/skills/fire'
24
- *
25
- * player.getSkill(Fire)
26
- * ```
27
- *
28
- * @title Get Skill
29
- * @method player.getSkill(skillClass)
30
- * @param {SkillClass | string} skillClass or data id
31
- * @returns {instance of SkillClass | null}
32
- * @memberof SkillManager
33
- */
34
- getSkill(skillClass) {
35
- const index = this._getSkillIndex(skillClass);
36
- return this.skills[index] ?? null;
37
- }
38
- /**
39
- * Learn a skill. Attributes the coefficient 1 to the parameter INT (intelligence) if cd is not present on the class.
40
- *
41
- * `onLearn()` method is called on the SkillClass
42
- *
43
- * ```ts
44
- * import Fire from 'your-database/skills/fire'
45
- *
46
- * player.learnSkill(Fire)
47
- * ```
48
- *
49
- * @title Learn Skill
50
- * @method player.learnSkill(skillClass)
51
- * @param {SkillClass | string} skillClass or data id
52
- * @throws {SkillLog} alreadyLearned
53
- * If the player already knows the skill
54
- * ```
55
- {
56
- id: SKILL_ALREADY_LEARNED,
57
- msg: '...'
58
- }
59
- ```
60
- * @returns {instance of SkillClass}
61
- * @memberof SkillManager
62
- */
63
- learnSkill(skillClass) {
64
- if (this.getSkill(skillClass)) {
65
- throw SkillLog.alreadyLearned(skillClass);
66
- }
67
- if (isString(skillClass))
68
- skillClass = this.databaseById(skillClass);
69
- const instance = new skillClass();
70
- this.skills.push(instance);
71
- this['execMethod']('onLearn', [this], instance);
72
- return instance;
73
- }
74
- /**
75
- * Forget a skill
76
- *
77
- * `onForget()` method is called on the SkillClass
78
- *
79
- * ```ts
80
- * import Fire from 'your-database/skills/fire'
81
- *
82
- * try {
83
- * player.forgetSkill(Fire)
84
- * }
85
- * catch (err) {
86
- * console.log(err)
87
- * }
88
- * ```
89
- *
90
- * @title Forget Skill
91
- * @method player.learnSkill(skillClass)
92
- * @param {SkillClass | string} skillClass or data id
93
- * @throws {SkillLog} notLearned
94
- * If trying to forget a skill not learned
95
- * ```
96
- * {
97
- * id: SKILL_NOT_LEARNED,
98
- * msg: '...'
99
- * }
100
- * ```
101
- * @returns {instance of SkillClass}
102
- * @memberof SkillManager
103
- */
104
- forgetSkill(skillClass) {
105
- if (isString(skillClass))
106
- skillClass = this.databaseById(skillClass);
107
- const index = this._getSkillIndex(skillClass);
108
- if (index == -1) {
109
- throw SkillLog.notLearned(skillClass);
110
- }
111
- const instance = this.skills[index];
112
- this.skills.splice(index, 1);
113
- this['execMethod']('onForget', [this], instance);
114
- return instance;
115
- }
116
- /**
117
- * Using a skill
118
- *
119
- * `onUse()` method is called on the SkillClass
120
- *
121
- * If other players are indicated then damage will be done to these other players. The method `applyDamage()` will be executed
122
- *
123
- * ```ts
124
- * import Fire from 'your-database/skills/fire'
125
- *
126
- * try {
127
- * player.useSkill(Fire)
128
- * }
129
- * catch (err) {
130
- * console.log(err)
131
- * }
132
- * ```
133
- *
134
- * or
135
- *
136
- *
137
- * * ```ts
138
- * import Fire from 'your-database/skills/fire'
139
- *
140
- * try {
141
- * player.useSkill(Fire, otherPlayer)
142
- * }
143
- * catch (err) {
144
- * console.log(err)
145
- * }
146
- * ```
147
- *
148
- * @title Use Skill
149
- * @method player.useSkill(skillClass,otherPlayer)
150
- * @param {SkillClass | string} skillClass or data id
151
- * @param {Array<RpgPlayer> | RpgPlayer} [otherPlayer]
152
- * @throws {SkillLog} restriction
153
- * If the player has the `Effect.CAN_NOT_SKILL` effect
154
- * ```
155
- * {
156
- * id: RESTRICTION_SKILL,
157
- * msg: '...'
158
- * }
159
- * ```
160
- * @throws {SkillLog} notLearned
161
- * If the player tries to use an unlearned skill
162
- * ```
163
- * {
164
- * id: SKILL_NOT_LEARNED,
165
- * msg: '...'
166
- * }
167
- * ```
168
- * @throws {SkillLog} notEnoughSp
169
- * If the player does not have enough SP to use the skill
170
- * ```
171
- * {
172
- * id: NOT_ENOUGH_SP,
173
- * msg: '...'
174
- * }
175
- * ```
176
- * @throws {SkillLog} chanceToUseFailed
177
- * If the chance to use the skill has failed (defined with the `hitRate` property)
178
- * ```
179
- * {
180
- * id: USE_CHANCE_SKILL_FAILED,
181
- * msg: '...'
182
- * }
183
- * ```
184
- *
185
- * `onUseFailed()` method is called on the SkillClass
186
- *
187
- * @returns {instance of SkillClass}
188
- * @memberof SkillManager
189
- * @todo
190
- */
191
- useSkill(skillClass, otherPlayer) {
192
- const skill = this.getSkill(skillClass);
193
- if (this.hasEffect(Effect.CAN_NOT_SKILL)) {
194
- throw SkillLog.restriction(skillClass);
195
- }
196
- if (!skill) {
197
- throw SkillLog.notLearned(skillClass);
198
- }
199
- if (skill.spCost > this.sp) {
200
- throw SkillLog.notEnoughSp(skillClass, skill.spCost, this.sp);
201
- }
202
- this.sp -= (skill.spCost / (this.hasEffect(Effect.HALF_SP_COST) ? 2 : 1));
203
- const hitRate = skill.hitRate ?? 1;
204
- if (Math.random() > hitRate) {
205
- this['execMethod']('onUseFailed', [this, otherPlayer], skill);
206
- throw SkillLog.chanceToUseFailed(skillClass);
207
- }
208
- if (otherPlayer) {
209
- let players = otherPlayer;
210
- if (!isArray(players)) {
211
- players = [otherPlayer];
212
- }
213
- for (let player of players) {
214
- this.applyStates(player, skill);
215
- player.applyDamage(this, skill);
216
- }
217
- }
218
- this['execMethod']('onUse', [this, otherPlayer], skill);
219
- return skill;
220
- }
221
- }
222
- applyMixins(SkillManager, [ParameterManager, StateManager, EffectManager]);
223
- //# sourceMappingURL=SkillManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkillManager.js","sourceRoot":"","sources":["../../src/Player/SkillManager.ts"],"names":[],"mappings":"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"}
@@ -1,185 +0,0 @@
1
- import { ItemFixture } from './ItemFixture';
2
- import { RpgPlayer } from './Player';
3
- type StateClass = {
4
- new (...args: any[]): any;
5
- };
6
- export declare class StateManager {
7
- states: any[];
8
- _statesEfficiency: {
9
- rate: number;
10
- state: any;
11
- }[];
12
- /**
13
- * Recovers the player's states defense on inventory. This list is generated from the `statesDefense` property defined on the weapons or armors equipped.
14
- * If several items have the same element, only the highest rate will be taken into account.
15
- *
16
- * ```ts
17
- * import { Armor, State } from '@rpgjs/server'
18
- *
19
- * @State({
20
- * name: 'Paralyze'
21
- * })
22
- * class Paralyze {}
23
- *
24
- * @Armor({
25
- * name: 'Shield',
26
- * statesDefense: [{ rate: 1, state: Paralyze }]
27
- * })
28
- * class Shield {}
29
- *
30
- * @Armor({
31
- * name: 'FireShield',
32
- * statesDefense: [{ rate: 0.5, state: Paralyze }]
33
- * })
34
- * class FireShield {}
35
- *
36
- * player.addItem(Shield)
37
- * player.addItem(FireShield)
38
- * player.equip(Shield)
39
- * player.equip(FireShield)
40
- *
41
- * console.log(player.statesDefense) // [{ rate: 1, state: instance of Paralyze }]
42
- * ```
43
- * @title Get States Defense
44
- * @prop {Array<{ rate: number, state: StateClass}>} player.statesDefense
45
- * @readonly
46
- * @memberof StateManager
47
- * */
48
- get statesDefense(): {
49
- rate: number;
50
- state: any;
51
- }[];
52
- /**
53
- * Set or retrieves all the states where the player is vulnerable or not.
54
- *
55
- * ```ts
56
- * import { Class, State } from '@rpgjs/server'
57
- *
58
- * @State({
59
- * name: 'Paralyze'
60
- * })
61
- * class Paralyze {}
62
- *
63
- * @State({
64
- * name: 'Sleep'
65
- * })
66
- * class Sleep {}
67
- *
68
- * @Class({
69
- * name: 'Fighter',
70
- * statesEfficiency: [{ rate: 1, state: Paralyze }]
71
- * })
72
- * class Hero {}
73
- *
74
- * player.setClass(Hero)
75
- *
76
- * console.log(player.statesEfficiency) // [{ rate: 1, instance of Paralyze }]
77
- *
78
- * player.statesEfficiency = [{ rate: 2, state: Sleep }]
79
- *
80
- * console.log(player.statesEfficiency) // [{ rate: 1, state: instance of Paralyze }, { rate: 2, state: instance of Sleep }]
81
- * ```
82
- * @title Set/Get States Efficiency
83
- * @prop {Array<{ rate: number, state: StateClass}>} player.statesEfficiency
84
- * @memberof StateManager
85
- * */
86
- get statesEfficiency(): {
87
- rate: number;
88
- state: any;
89
- }[];
90
- set statesEfficiency(val: {
91
- rate: number;
92
- state: any;
93
- }[]);
94
- applyStates(player: RpgPlayer, { addStates, removeStates }: {
95
- addStates: any;
96
- removeStates: any;
97
- }): void;
98
- /**
99
- * Get a state to the player. Returns `null` if the state is not present on the player
100
- * ```ts
101
- * import Paralyze from 'your-database/states/paralyze'
102
- *
103
- * player.getState(Paralyze)
104
- * ```
105
- *
106
- * @title Get State
107
- * @method player.getState(stateClass)
108
- * @param {StateClass | string} stateClass or state id
109
- * @returns {instance of StateClass | null}
110
- * @memberof StateManager
111
- */
112
- getState(stateClass: StateClass | string): any;
113
- /**
114
- * Adds a state to the player. Set the chance between 0 and 1 that the state can apply
115
- * ```ts
116
- * import Paralyze from 'your-database/states/paralyze'
117
- *
118
- * try {
119
- * player.addState(Paralyze)
120
- * }
121
- * catch (err) {
122
- * console.log(err)
123
- * }
124
- * ```
125
- *
126
- * @title Add State
127
- * @method player.addState(stateClass,chance=1)
128
- * @param {StateClass | string} stateClass state class or state id
129
- * @param {number} [chance] 1 by default
130
- * @throws {StateLog} addFailed
131
- * If the chance to add the state has failed (defined with the `chance` param)
132
- * ```
133
- * {
134
- * id: ADD_STATE_FAILED,
135
- * msg: '...'
136
- * }
137
- * ```
138
- * @returns {instance of StateClass}
139
- * @memberof StateManager
140
- * @todo
141
- */
142
- addState(stateClass: StateClass | string, chance?: number): object | null;
143
- /**
144
- * Remove a state to the player. Set the chance between 0 and 1 that the state can be removed
145
- * ```ts
146
- * import Paralyze from 'your-database/states/paralyze'
147
- *
148
- * try {
149
- * player.removeState(Paralyze)
150
- * }
151
- * catch (err) {
152
- * console.log(err)
153
- * }
154
- * ```
155
- *
156
- * @title Remove State
157
- * @method player.removeState(stateClass,chance=1)
158
- * @param {StateClass|string} stateClass class state or state id
159
- * @param {number} [chance] 1 by default
160
- * @throws {StateLog} removeFailed
161
- * If the chance to remove the state has failed (defined with the `chance` param)
162
- * ```
163
- * {
164
- * id: REMOVE_STATE_FAILED,
165
- * msg: '...'
166
- * }
167
- * ```
168
- * @throws {StateLog} notApplied
169
- * If the status does not exist
170
- * ```
171
- * {
172
- * id: STATE_NOT_APPLIED,
173
- * msg: '...'
174
- * }
175
- * ```
176
- * @returns {instance of StateClass}
177
- * @memberof StateManager
178
- */
179
- removeState(stateClass: StateClass | string, chance?: number): void;
180
- private findStateEfficiency;
181
- }
182
- export interface StateManager extends ItemFixture {
183
- databaseById(stateClass: any): any;
184
- }
185
- export {};