volleyballsimtypes 0.0.217 → 0.0.356

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 (449) hide show
  1. package/package.json +38 -13
  2. package/dist/cjs/src/data/common/index.d.ts +0 -1
  3. package/dist/cjs/src/data/common/index.js +0 -17
  4. package/dist/cjs/src/data/common/status.d.ts +0 -8
  5. package/dist/cjs/src/data/common/status.js +0 -11
  6. package/dist/cjs/src/data/index.d.ts +0 -4
  7. package/dist/cjs/src/data/index.js +0 -22
  8. package/dist/cjs/src/data/init-models.d.ts +0 -2
  9. package/dist/cjs/src/data/init-models.js +0 -188
  10. package/dist/cjs/src/data/models/box-score.d.ts +0 -73
  11. package/dist/cjs/src/data/models/box-score.js +0 -174
  12. package/dist/cjs/src/data/models/competition-champion.d.ts +0 -23
  13. package/dist/cjs/src/data/models/competition-champion.js +0 -38
  14. package/dist/cjs/src/data/models/competition-match.d.ts +0 -29
  15. package/dist/cjs/src/data/models/competition-match.js +0 -46
  16. package/dist/cjs/src/data/models/competition-standings-match.d.ts +0 -45
  17. package/dist/cjs/src/data/models/competition-standings-match.js +0 -60
  18. package/dist/cjs/src/data/models/competition-standings.d.ts +0 -53
  19. package/dist/cjs/src/data/models/competition-standings.js +0 -57
  20. package/dist/cjs/src/data/models/competition-teams.d.ts +0 -23
  21. package/dist/cjs/src/data/models/competition-teams.js +0 -42
  22. package/dist/cjs/src/data/models/competition.d.ts +0 -82
  23. package/dist/cjs/src/data/models/competition.js +0 -54
  24. package/dist/cjs/src/data/models/country.d.ts +0 -50
  25. package/dist/cjs/src/data/models/country.js +0 -34
  26. package/dist/cjs/src/data/models/division-season.d.ts +0 -23
  27. package/dist/cjs/src/data/models/division-season.js +0 -38
  28. package/dist/cjs/src/data/models/division.d.ts +0 -49
  29. package/dist/cjs/src/data/models/division.js +0 -51
  30. package/dist/cjs/src/data/models/draft-pick.d.ts +0 -31
  31. package/dist/cjs/src/data/models/draft-pick.js +0 -50
  32. package/dist/cjs/src/data/models/draft.d.ts +0 -29
  33. package/dist/cjs/src/data/models/draft.js +0 -34
  34. package/dist/cjs/src/data/models/index.d.ts +0 -27
  35. package/dist/cjs/src/data/models/index.js +0 -43
  36. package/dist/cjs/src/data/models/iteration.d.ts +0 -26
  37. package/dist/cjs/src/data/models/iteration.js +0 -30
  38. package/dist/cjs/src/data/models/league.d.ts +0 -33
  39. package/dist/cjs/src/data/models/league.js +0 -44
  40. package/dist/cjs/src/data/models/match-rating.d.ts +0 -27
  41. package/dist/cjs/src/data/models/match-rating.js +0 -52
  42. package/dist/cjs/src/data/models/match-result.d.ts +0 -27
  43. package/dist/cjs/src/data/models/match-result.js +0 -38
  44. package/dist/cjs/src/data/models/match-set.d.ts +0 -65
  45. package/dist/cjs/src/data/models/match-set.js +0 -56
  46. package/dist/cjs/src/data/models/match.d.ts +0 -84
  47. package/dist/cjs/src/data/models/match.js +0 -52
  48. package/dist/cjs/src/data/models/performance-stats.d.ts +0 -53
  49. package/dist/cjs/src/data/models/performance-stats.js +0 -120
  50. package/dist/cjs/src/data/models/player-team.d.ts +0 -28
  51. package/dist/cjs/src/data/models/player-team.js +0 -52
  52. package/dist/cjs/src/data/models/player.d.ts +0 -99
  53. package/dist/cjs/src/data/models/player.js +0 -62
  54. package/dist/cjs/src/data/models/rally.d.ts +0 -29
  55. package/dist/cjs/src/data/models/rally.js +0 -50
  56. package/dist/cjs/src/data/models/tactics.d.ts +0 -38
  57. package/dist/cjs/src/data/models/tactics.js +0 -55
  58. package/dist/cjs/src/data/models/team.d.ts +0 -160
  59. package/dist/cjs/src/data/models/team.js +0 -62
  60. package/dist/cjs/src/data/models/user.d.ts +0 -22
  61. package/dist/cjs/src/data/models/user.js +0 -57
  62. package/dist/cjs/src/data/models/views/box-score-totals.d.ts +0 -71
  63. package/dist/cjs/src/data/models/views/box-score-totals.js +0 -138
  64. package/dist/cjs/src/data/models/views/index.d.ts +0 -1
  65. package/dist/cjs/src/data/models/views/index.js +0 -17
  66. package/dist/cjs/src/data/models/vper.d.ts +0 -25
  67. package/dist/cjs/src/data/models/vper.js +0 -46
  68. package/dist/cjs/src/data/transformers/box-score.d.ts +0 -5
  69. package/dist/cjs/src/data/transformers/box-score.js +0 -81
  70. package/dist/cjs/src/data/transformers/country.d.ts +0 -5
  71. package/dist/cjs/src/data/transformers/country.js +0 -20
  72. package/dist/cjs/src/data/transformers/court-position.d.ts +0 -5
  73. package/dist/cjs/src/data/transformers/court-position.js +0 -31
  74. package/dist/cjs/src/data/transformers/division.d.ts +0 -5
  75. package/dist/cjs/src/data/transformers/division.js +0 -35
  76. package/dist/cjs/src/data/transformers/draft-pick.d.ts +0 -5
  77. package/dist/cjs/src/data/transformers/draft-pick.js +0 -22
  78. package/dist/cjs/src/data/transformers/draft.d.ts +0 -5
  79. package/dist/cjs/src/data/transformers/draft.js +0 -23
  80. package/dist/cjs/src/data/transformers/events.d.ts +0 -8
  81. package/dist/cjs/src/data/transformers/events.js +0 -75
  82. package/dist/cjs/src/data/transformers/index.d.ts +0 -24
  83. package/dist/cjs/src/data/transformers/index.js +0 -40
  84. package/dist/cjs/src/data/transformers/iteration.d.ts +0 -5
  85. package/dist/cjs/src/data/transformers/iteration.js +0 -18
  86. package/dist/cjs/src/data/transformers/league.d.ts +0 -5
  87. package/dist/cjs/src/data/transformers/league.js +0 -24
  88. package/dist/cjs/src/data/transformers/match-rating.d.ts +0 -4
  89. package/dist/cjs/src/data/transformers/match-rating.js +0 -16
  90. package/dist/cjs/src/data/transformers/match-set.d.ts +0 -12
  91. package/dist/cjs/src/data/transformers/match-set.js +0 -52
  92. package/dist/cjs/src/data/transformers/match.d.ts +0 -5
  93. package/dist/cjs/src/data/transformers/match.js +0 -61
  94. package/dist/cjs/src/data/transformers/performance-stats.d.ts +0 -5
  95. package/dist/cjs/src/data/transformers/performance-stats.js +0 -51
  96. package/dist/cjs/src/data/transformers/player-team.d.ts +0 -3
  97. package/dist/cjs/src/data/transformers/player-team.js +0 -12
  98. package/dist/cjs/src/data/transformers/player.d.ts +0 -5
  99. package/dist/cjs/src/data/transformers/player.js +0 -79
  100. package/dist/cjs/src/data/transformers/rally.d.ts +0 -5
  101. package/dist/cjs/src/data/transformers/rally.js +0 -56
  102. package/dist/cjs/src/data/transformers/season-match.d.ts +0 -4
  103. package/dist/cjs/src/data/transformers/season-match.js +0 -16
  104. package/dist/cjs/src/data/transformers/season.d.ts +0 -5
  105. package/dist/cjs/src/data/transformers/season.js +0 -46
  106. package/dist/cjs/src/data/transformers/stage.d.ts +0 -5
  107. package/dist/cjs/src/data/transformers/stage.js +0 -25
  108. package/dist/cjs/src/data/transformers/standing.d.ts +0 -4
  109. package/dist/cjs/src/data/transformers/standing.js +0 -24
  110. package/dist/cjs/src/data/transformers/tactics.d.ts +0 -5
  111. package/dist/cjs/src/data/transformers/tactics.js +0 -60
  112. package/dist/cjs/src/data/transformers/team.d.ts +0 -5
  113. package/dist/cjs/src/data/transformers/team.js +0 -34
  114. package/dist/cjs/src/data/transformers/tournament-match.d.ts +0 -5
  115. package/dist/cjs/src/data/transformers/tournament-match.js +0 -23
  116. package/dist/cjs/src/data/transformers/tournament.d.ts +0 -5
  117. package/dist/cjs/src/data/transformers/tournament.js +0 -42
  118. package/dist/cjs/src/data/transformers/vper.d.ts +0 -5
  119. package/dist/cjs/src/data/transformers/vper.js +0 -20
  120. package/dist/cjs/src/index.d.ts +0 -2
  121. package/dist/cjs/src/index.js +0 -18
  122. package/dist/cjs/src/service/competition/division.d.ts +0 -22
  123. package/dist/cjs/src/service/competition/division.js +0 -15
  124. package/dist/cjs/src/service/competition/index.d.ts +0 -12
  125. package/dist/cjs/src/service/competition/index.js +0 -30
  126. package/dist/cjs/src/service/competition/iteration.d.ts +0 -10
  127. package/dist/cjs/src/service/competition/iteration.js +0 -12
  128. package/dist/cjs/src/service/competition/league.d.ts +0 -16
  129. package/dist/cjs/src/service/competition/league.js +0 -12
  130. package/dist/cjs/src/service/competition/season.d.ts +0 -31
  131. package/dist/cjs/src/service/competition/season.js +0 -47
  132. package/dist/cjs/src/service/competition/stage.d.ts +0 -11
  133. package/dist/cjs/src/service/competition/stage.js +0 -27
  134. package/dist/cjs/src/service/competition/standing.d.ts +0 -41
  135. package/dist/cjs/src/service/competition/standing.js +0 -87
  136. package/dist/cjs/src/service/competition/tournament-match.d.ts +0 -14
  137. package/dist/cjs/src/service/competition/tournament-match.js +0 -13
  138. package/dist/cjs/src/service/competition/tournament.d.ts +0 -23
  139. package/dist/cjs/src/service/competition/tournament.js +0 -23
  140. package/dist/cjs/src/service/country/country.d.ts +0 -17
  141. package/dist/cjs/src/service/country/country.js +0 -22
  142. package/dist/cjs/src/service/country/index.d.ts +0 -1
  143. package/dist/cjs/src/service/country/index.js +0 -17
  144. package/dist/cjs/src/service/draft/draft-pick.d.ts +0 -14
  145. package/dist/cjs/src/service/draft/draft-pick.js +0 -11
  146. package/dist/cjs/src/service/draft/draft.d.ts +0 -15
  147. package/dist/cjs/src/service/draft/draft.js +0 -12
  148. package/dist/cjs/src/service/draft/index.d.ts +0 -2
  149. package/dist/cjs/src/service/draft/index.js +0 -18
  150. package/dist/cjs/src/service/event/block.d.ts +0 -36
  151. package/dist/cjs/src/service/event/block.js +0 -37
  152. package/dist/cjs/src/service/event/event-types.d.ts +0 -7
  153. package/dist/cjs/src/service/event/event-types.js +0 -2
  154. package/dist/cjs/src/service/event/in-play-event.d.ts +0 -17
  155. package/dist/cjs/src/service/event/in-play-event.js +0 -21
  156. package/dist/cjs/src/service/event/index.d.ts +0 -10
  157. package/dist/cjs/src/service/event/index.js +0 -26
  158. package/dist/cjs/src/service/event/libero-replacement.d.ts +0 -18
  159. package/dist/cjs/src/service/event/libero-replacement.js +0 -25
  160. package/dist/cjs/src/service/event/rally-event.d.ts +0 -20
  161. package/dist/cjs/src/service/event/rally-event.js +0 -20
  162. package/dist/cjs/src/service/event/reception.d.ts +0 -33
  163. package/dist/cjs/src/service/event/reception.js +0 -34
  164. package/dist/cjs/src/service/event/serve.d.ts +0 -33
  165. package/dist/cjs/src/service/event/serve.js +0 -34
  166. package/dist/cjs/src/service/event/set.d.ts +0 -31
  167. package/dist/cjs/src/service/event/set.js +0 -32
  168. package/dist/cjs/src/service/event/spike.d.ts +0 -35
  169. package/dist/cjs/src/service/event/spike.js +0 -36
  170. package/dist/cjs/src/service/event/substitution.d.ts +0 -11
  171. package/dist/cjs/src/service/event/substitution.js +0 -18
  172. package/dist/cjs/src/service/index.d.ts +0 -8
  173. package/dist/cjs/src/service/index.js +0 -24
  174. package/dist/cjs/src/service/match/box-score.d.ts +0 -86
  175. package/dist/cjs/src/service/match/box-score.js +0 -66
  176. package/dist/cjs/src/service/match/court-position.d.ts +0 -34
  177. package/dist/cjs/src/service/match/court-position.js +0 -70
  178. package/dist/cjs/src/service/match/index.d.ts +0 -8
  179. package/dist/cjs/src/service/match/index.js +0 -24
  180. package/dist/cjs/src/service/match/match-rating.d.ts +0 -35
  181. package/dist/cjs/src/service/match/match-rating.js +0 -59
  182. package/dist/cjs/src/service/match/match-set.d.ts +0 -43
  183. package/dist/cjs/src/service/match/match-set.js +0 -55
  184. package/dist/cjs/src/service/match/match-team.d.ts +0 -7
  185. package/dist/cjs/src/service/match/match-team.js +0 -20
  186. package/dist/cjs/src/service/match/match.d.ts +0 -38
  187. package/dist/cjs/src/service/match/match.js +0 -52
  188. package/dist/cjs/src/service/match/rally.d.ts +0 -21
  189. package/dist/cjs/src/service/match/rally.js +0 -17
  190. package/dist/cjs/src/service/match/vper.d.ts +0 -13
  191. package/dist/cjs/src/service/match/vper.js +0 -56
  192. package/dist/cjs/src/service/player/index.d.ts +0 -6
  193. package/dist/cjs/src/service/player/index.js +0 -22
  194. package/dist/cjs/src/service/player/performance-stats.d.ts +0 -10
  195. package/dist/cjs/src/service/player/performance-stats.js +0 -19
  196. package/dist/cjs/src/service/player/player.d.ts +0 -53
  197. package/dist/cjs/src/service/player/player.js +0 -96
  198. package/dist/cjs/src/service/player/rarity.d.ts +0 -15
  199. package/dist/cjs/src/service/player/rarity.js +0 -18
  200. package/dist/cjs/src/service/player/role.d.ts +0 -15
  201. package/dist/cjs/src/service/player/role.js +0 -52
  202. package/dist/cjs/src/service/player/stats.d.ts +0 -12
  203. package/dist/cjs/src/service/player/stats.js +0 -68
  204. package/dist/cjs/src/service/player/trait.d.ts +0 -51
  205. package/dist/cjs/src/service/player/trait.js +0 -87
  206. package/dist/cjs/src/service/team/formation.d.ts +0 -30
  207. package/dist/cjs/src/service/team/formation.js +0 -123
  208. package/dist/cjs/src/service/team/index.d.ts +0 -3
  209. package/dist/cjs/src/service/team/index.js +0 -19
  210. package/dist/cjs/src/service/team/tactics.d.ts +0 -26
  211. package/dist/cjs/src/service/team/tactics.js +0 -31
  212. package/dist/cjs/src/service/team/team.d.ts +0 -30
  213. package/dist/cjs/src/service/team/team.js +0 -36
  214. package/dist/cjs/src/service/utils/index.d.ts +0 -4
  215. package/dist/cjs/src/service/utils/index.js +0 -20
  216. package/dist/cjs/src/service/utils/number-utils.d.ts +0 -2
  217. package/dist/cjs/src/service/utils/number-utils.js +0 -25
  218. package/dist/cjs/src/service/utils/object-utils.d.ts +0 -4
  219. package/dist/cjs/src/service/utils/object-utils.js +0 -4
  220. package/dist/cjs/src/service/utils/rng-utils.d.ts +0 -7
  221. package/dist/cjs/src/service/utils/rng-utils.js +0 -32
  222. package/dist/cjs/src/service/utils/string-utils.d.ts +0 -2
  223. package/dist/cjs/src/service/utils/string-utils.js +0 -16
  224. package/dist/cjs/src/stat-config/roles.json +0 -117
  225. package/dist/cjs/src/stat-config/traits.json +0 -94
  226. package/dist/esm/src/data/common/index.d.ts +0 -1
  227. package/dist/esm/src/data/common/index.js +0 -1
  228. package/dist/esm/src/data/common/status.d.ts +0 -8
  229. package/dist/esm/src/data/common/status.js +0 -8
  230. package/dist/esm/src/data/index.d.ts +0 -4
  231. package/dist/esm/src/data/index.js +0 -4
  232. package/dist/esm/src/data/init-models.d.ts +0 -2
  233. package/dist/esm/src/data/init-models.js +0 -184
  234. package/dist/esm/src/data/models/box-score.d.ts +0 -73
  235. package/dist/esm/src/data/models/box-score.js +0 -170
  236. package/dist/esm/src/data/models/competition-champion.d.ts +0 -23
  237. package/dist/esm/src/data/models/competition-champion.js +0 -34
  238. package/dist/esm/src/data/models/competition-match.d.ts +0 -29
  239. package/dist/esm/src/data/models/competition-match.js +0 -42
  240. package/dist/esm/src/data/models/competition-standings-match.d.ts +0 -45
  241. package/dist/esm/src/data/models/competition-standings-match.js +0 -56
  242. package/dist/esm/src/data/models/competition-standings.d.ts +0 -53
  243. package/dist/esm/src/data/models/competition-standings.js +0 -53
  244. package/dist/esm/src/data/models/competition-teams.d.ts +0 -23
  245. package/dist/esm/src/data/models/competition-teams.js +0 -38
  246. package/dist/esm/src/data/models/competition.d.ts +0 -82
  247. package/dist/esm/src/data/models/competition.js +0 -50
  248. package/dist/esm/src/data/models/country.d.ts +0 -50
  249. package/dist/esm/src/data/models/country.js +0 -30
  250. package/dist/esm/src/data/models/division-season.d.ts +0 -23
  251. package/dist/esm/src/data/models/division-season.js +0 -34
  252. package/dist/esm/src/data/models/division.d.ts +0 -49
  253. package/dist/esm/src/data/models/division.js +0 -47
  254. package/dist/esm/src/data/models/draft-pick.d.ts +0 -31
  255. package/dist/esm/src/data/models/draft-pick.js +0 -46
  256. package/dist/esm/src/data/models/draft.d.ts +0 -29
  257. package/dist/esm/src/data/models/draft.js +0 -30
  258. package/dist/esm/src/data/models/index.d.ts +0 -27
  259. package/dist/esm/src/data/models/index.js +0 -27
  260. package/dist/esm/src/data/models/iteration.d.ts +0 -26
  261. package/dist/esm/src/data/models/iteration.js +0 -26
  262. package/dist/esm/src/data/models/league.d.ts +0 -33
  263. package/dist/esm/src/data/models/league.js +0 -40
  264. package/dist/esm/src/data/models/match-rating.d.ts +0 -27
  265. package/dist/esm/src/data/models/match-rating.js +0 -48
  266. package/dist/esm/src/data/models/match-result.d.ts +0 -27
  267. package/dist/esm/src/data/models/match-result.js +0 -34
  268. package/dist/esm/src/data/models/match-set.d.ts +0 -65
  269. package/dist/esm/src/data/models/match-set.js +0 -52
  270. package/dist/esm/src/data/models/match.d.ts +0 -84
  271. package/dist/esm/src/data/models/match.js +0 -48
  272. package/dist/esm/src/data/models/performance-stats.d.ts +0 -53
  273. package/dist/esm/src/data/models/performance-stats.js +0 -116
  274. package/dist/esm/src/data/models/player-team.d.ts +0 -28
  275. package/dist/esm/src/data/models/player-team.js +0 -48
  276. package/dist/esm/src/data/models/player.d.ts +0 -99
  277. package/dist/esm/src/data/models/player.js +0 -58
  278. package/dist/esm/src/data/models/rally.d.ts +0 -29
  279. package/dist/esm/src/data/models/rally.js +0 -46
  280. package/dist/esm/src/data/models/tactics.d.ts +0 -38
  281. package/dist/esm/src/data/models/tactics.js +0 -51
  282. package/dist/esm/src/data/models/team.d.ts +0 -160
  283. package/dist/esm/src/data/models/team.js +0 -58
  284. package/dist/esm/src/data/models/user.d.ts +0 -22
  285. package/dist/esm/src/data/models/user.js +0 -53
  286. package/dist/esm/src/data/models/views/box-score-totals.d.ts +0 -71
  287. package/dist/esm/src/data/models/views/box-score-totals.js +0 -134
  288. package/dist/esm/src/data/models/views/index.d.ts +0 -1
  289. package/dist/esm/src/data/models/views/index.js +0 -1
  290. package/dist/esm/src/data/models/vper.d.ts +0 -25
  291. package/dist/esm/src/data/models/vper.js +0 -42
  292. package/dist/esm/src/data/transformers/box-score.d.ts +0 -5
  293. package/dist/esm/src/data/transformers/box-score.js +0 -77
  294. package/dist/esm/src/data/transformers/country.d.ts +0 -5
  295. package/dist/esm/src/data/transformers/country.js +0 -16
  296. package/dist/esm/src/data/transformers/court-position.d.ts +0 -5
  297. package/dist/esm/src/data/transformers/court-position.js +0 -27
  298. package/dist/esm/src/data/transformers/division.d.ts +0 -5
  299. package/dist/esm/src/data/transformers/division.js +0 -31
  300. package/dist/esm/src/data/transformers/draft-pick.d.ts +0 -5
  301. package/dist/esm/src/data/transformers/draft-pick.js +0 -18
  302. package/dist/esm/src/data/transformers/draft.d.ts +0 -5
  303. package/dist/esm/src/data/transformers/draft.js +0 -19
  304. package/dist/esm/src/data/transformers/events.d.ts +0 -8
  305. package/dist/esm/src/data/transformers/events.js +0 -65
  306. package/dist/esm/src/data/transformers/index.d.ts +0 -24
  307. package/dist/esm/src/data/transformers/index.js +0 -24
  308. package/dist/esm/src/data/transformers/iteration.d.ts +0 -5
  309. package/dist/esm/src/data/transformers/iteration.js +0 -14
  310. package/dist/esm/src/data/transformers/league.d.ts +0 -5
  311. package/dist/esm/src/data/transformers/league.js +0 -20
  312. package/dist/esm/src/data/transformers/match-rating.d.ts +0 -4
  313. package/dist/esm/src/data/transformers/match-rating.js +0 -13
  314. package/dist/esm/src/data/transformers/match-set.d.ts +0 -12
  315. package/dist/esm/src/data/transformers/match-set.js +0 -48
  316. package/dist/esm/src/data/transformers/match.d.ts +0 -5
  317. package/dist/esm/src/data/transformers/match.js +0 -57
  318. package/dist/esm/src/data/transformers/performance-stats.d.ts +0 -5
  319. package/dist/esm/src/data/transformers/performance-stats.js +0 -47
  320. package/dist/esm/src/data/transformers/player-team.d.ts +0 -3
  321. package/dist/esm/src/data/transformers/player-team.js +0 -9
  322. package/dist/esm/src/data/transformers/player.d.ts +0 -5
  323. package/dist/esm/src/data/transformers/player.js +0 -75
  324. package/dist/esm/src/data/transformers/rally.d.ts +0 -5
  325. package/dist/esm/src/data/transformers/rally.js +0 -52
  326. package/dist/esm/src/data/transformers/season-match.d.ts +0 -4
  327. package/dist/esm/src/data/transformers/season-match.js +0 -13
  328. package/dist/esm/src/data/transformers/season.d.ts +0 -5
  329. package/dist/esm/src/data/transformers/season.js +0 -42
  330. package/dist/esm/src/data/transformers/stage.d.ts +0 -5
  331. package/dist/esm/src/data/transformers/stage.js +0 -21
  332. package/dist/esm/src/data/transformers/standing.d.ts +0 -4
  333. package/dist/esm/src/data/transformers/standing.js +0 -21
  334. package/dist/esm/src/data/transformers/tactics.d.ts +0 -5
  335. package/dist/esm/src/data/transformers/tactics.js +0 -56
  336. package/dist/esm/src/data/transformers/team.d.ts +0 -5
  337. package/dist/esm/src/data/transformers/team.js +0 -30
  338. package/dist/esm/src/data/transformers/tournament-match.d.ts +0 -5
  339. package/dist/esm/src/data/transformers/tournament-match.js +0 -19
  340. package/dist/esm/src/data/transformers/tournament.d.ts +0 -5
  341. package/dist/esm/src/data/transformers/tournament.js +0 -38
  342. package/dist/esm/src/data/transformers/vper.d.ts +0 -5
  343. package/dist/esm/src/data/transformers/vper.js +0 -16
  344. package/dist/esm/src/index.d.ts +0 -2
  345. package/dist/esm/src/index.js +0 -2
  346. package/dist/esm/src/service/competition/division.d.ts +0 -22
  347. package/dist/esm/src/service/competition/division.js +0 -11
  348. package/dist/esm/src/service/competition/index.d.ts +0 -12
  349. package/dist/esm/src/service/competition/index.js +0 -13
  350. package/dist/esm/src/service/competition/iteration.d.ts +0 -10
  351. package/dist/esm/src/service/competition/iteration.js +0 -8
  352. package/dist/esm/src/service/competition/league.d.ts +0 -16
  353. package/dist/esm/src/service/competition/league.js +0 -8
  354. package/dist/esm/src/service/competition/season.d.ts +0 -31
  355. package/dist/esm/src/service/competition/season.js +0 -43
  356. package/dist/esm/src/service/competition/stage.d.ts +0 -11
  357. package/dist/esm/src/service/competition/stage.js +0 -24
  358. package/dist/esm/src/service/competition/standing.d.ts +0 -41
  359. package/dist/esm/src/service/competition/standing.js +0 -83
  360. package/dist/esm/src/service/competition/tournament-match.d.ts +0 -14
  361. package/dist/esm/src/service/competition/tournament-match.js +0 -9
  362. package/dist/esm/src/service/competition/tournament.d.ts +0 -23
  363. package/dist/esm/src/service/competition/tournament.js +0 -19
  364. package/dist/esm/src/service/country/country.d.ts +0 -17
  365. package/dist/esm/src/service/country/country.js +0 -18
  366. package/dist/esm/src/service/country/index.d.ts +0 -1
  367. package/dist/esm/src/service/country/index.js +0 -1
  368. package/dist/esm/src/service/draft/draft-pick.d.ts +0 -14
  369. package/dist/esm/src/service/draft/draft-pick.js +0 -7
  370. package/dist/esm/src/service/draft/draft.d.ts +0 -15
  371. package/dist/esm/src/service/draft/draft.js +0 -8
  372. package/dist/esm/src/service/draft/index.d.ts +0 -2
  373. package/dist/esm/src/service/draft/index.js +0 -2
  374. package/dist/esm/src/service/event/block.d.ts +0 -36
  375. package/dist/esm/src/service/event/block.js +0 -33
  376. package/dist/esm/src/service/event/event-types.d.ts +0 -7
  377. package/dist/esm/src/service/event/event-types.js +0 -1
  378. package/dist/esm/src/service/event/in-play-event.d.ts +0 -17
  379. package/dist/esm/src/service/event/in-play-event.js +0 -17
  380. package/dist/esm/src/service/event/index.d.ts +0 -10
  381. package/dist/esm/src/service/event/index.js +0 -10
  382. package/dist/esm/src/service/event/libero-replacement.d.ts +0 -18
  383. package/dist/esm/src/service/event/libero-replacement.js +0 -21
  384. package/dist/esm/src/service/event/rally-event.d.ts +0 -20
  385. package/dist/esm/src/service/event/rally-event.js +0 -16
  386. package/dist/esm/src/service/event/reception.d.ts +0 -33
  387. package/dist/esm/src/service/event/reception.js +0 -30
  388. package/dist/esm/src/service/event/serve.d.ts +0 -33
  389. package/dist/esm/src/service/event/serve.js +0 -30
  390. package/dist/esm/src/service/event/set.d.ts +0 -31
  391. package/dist/esm/src/service/event/set.js +0 -28
  392. package/dist/esm/src/service/event/spike.d.ts +0 -35
  393. package/dist/esm/src/service/event/spike.js +0 -32
  394. package/dist/esm/src/service/event/substitution.d.ts +0 -11
  395. package/dist/esm/src/service/event/substitution.js +0 -14
  396. package/dist/esm/src/service/index.d.ts +0 -8
  397. package/dist/esm/src/service/index.js +0 -8
  398. package/dist/esm/src/service/match/box-score.d.ts +0 -86
  399. package/dist/esm/src/service/match/box-score.js +0 -55
  400. package/dist/esm/src/service/match/court-position.d.ts +0 -34
  401. package/dist/esm/src/service/match/court-position.js +0 -62
  402. package/dist/esm/src/service/match/index.d.ts +0 -8
  403. package/dist/esm/src/service/match/index.js +0 -8
  404. package/dist/esm/src/service/match/match-rating.d.ts +0 -35
  405. package/dist/esm/src/service/match/match-rating.js +0 -55
  406. package/dist/esm/src/service/match/match-set.d.ts +0 -43
  407. package/dist/esm/src/service/match/match-set.js +0 -51
  408. package/dist/esm/src/service/match/match-team.d.ts +0 -7
  409. package/dist/esm/src/service/match/match-team.js +0 -17
  410. package/dist/esm/src/service/match/match.d.ts +0 -38
  411. package/dist/esm/src/service/match/match.js +0 -48
  412. package/dist/esm/src/service/match/rally.d.ts +0 -21
  413. package/dist/esm/src/service/match/rally.js +0 -13
  414. package/dist/esm/src/service/match/vper.d.ts +0 -13
  415. package/dist/esm/src/service/match/vper.js +0 -52
  416. package/dist/esm/src/service/player/index.d.ts +0 -6
  417. package/dist/esm/src/service/player/index.js +0 -6
  418. package/dist/esm/src/service/player/performance-stats.d.ts +0 -10
  419. package/dist/esm/src/service/player/performance-stats.js +0 -15
  420. package/dist/esm/src/service/player/player.d.ts +0 -53
  421. package/dist/esm/src/service/player/player.js +0 -90
  422. package/dist/esm/src/service/player/rarity.d.ts +0 -15
  423. package/dist/esm/src/service/player/rarity.js +0 -15
  424. package/dist/esm/src/service/player/role.d.ts +0 -15
  425. package/dist/esm/src/service/player/role.js +0 -44
  426. package/dist/esm/src/service/player/stats.d.ts +0 -12
  427. package/dist/esm/src/service/player/stats.js +0 -63
  428. package/dist/esm/src/service/player/trait.d.ts +0 -51
  429. package/dist/esm/src/service/player/trait.js +0 -80
  430. package/dist/esm/src/service/team/formation.d.ts +0 -30
  431. package/dist/esm/src/service/team/formation.js +0 -119
  432. package/dist/esm/src/service/team/index.d.ts +0 -3
  433. package/dist/esm/src/service/team/index.js +0 -3
  434. package/dist/esm/src/service/team/tactics.d.ts +0 -26
  435. package/dist/esm/src/service/team/tactics.js +0 -27
  436. package/dist/esm/src/service/team/team.d.ts +0 -30
  437. package/dist/esm/src/service/team/team.js +0 -32
  438. package/dist/esm/src/service/utils/index.d.ts +0 -4
  439. package/dist/esm/src/service/utils/index.js +0 -4
  440. package/dist/esm/src/service/utils/number-utils.d.ts +0 -2
  441. package/dist/esm/src/service/utils/number-utils.js +0 -20
  442. package/dist/esm/src/service/utils/object-utils.d.ts +0 -4
  443. package/dist/esm/src/service/utils/object-utils.js +0 -1
  444. package/dist/esm/src/service/utils/rng-utils.d.ts +0 -7
  445. package/dist/esm/src/service/utils/rng-utils.js +0 -27
  446. package/dist/esm/src/service/utils/string-utils.d.ts +0 -2
  447. package/dist/esm/src/service/utils/string-utils.js +0 -11
  448. package/dist/esm/src/stat-config/roles.json +0 -117
  449. package/dist/esm/src/stat-config/traits.json +0 -94
@@ -1,17 +0,0 @@
1
- export var MatchTeam;
2
- (function (MatchTeam) {
3
- MatchTeam["HOME"] = "homeTeam";
4
- MatchTeam["AWAY"] = "awayTeam";
5
- })(MatchTeam || (MatchTeam = {}));
6
- // eslint-disable-next-line @typescript-eslint/no-namespace
7
- (function (MatchTeam) {
8
- function otherTeam(team) {
9
- if (team === MatchTeam.HOME)
10
- return MatchTeam.AWAY;
11
- else if (team === MatchTeam.AWAY)
12
- return MatchTeam.HOME;
13
- else
14
- throw new Error('UNKNOWN_MATCH_TEAM');
15
- }
16
- MatchTeam.otherTeam = otherTeam;
17
- })(MatchTeam || (MatchTeam = {}));
@@ -1,38 +0,0 @@
1
- import { MatchSet } from './match-set';
2
- import { Team } from '../team';
3
- import { MatchTeam } from './match-team';
4
- import { StatusEnum } from '../../data';
5
- import { VPER } from './vper';
6
- interface MatchParams {
7
- readonly id: string;
8
- readonly homeTeam: Team;
9
- readonly awayTeam: Team;
10
- readonly scheduledDate: Date;
11
- readonly sets: MatchSet[];
12
- readonly status: StatusEnum;
13
- readonly VPERs: VPER[];
14
- homeScore?: number;
15
- awayScore?: number;
16
- winner?: Team;
17
- }
18
- export type MatchScore = '3-0' | '3-1' | '3-2' | '2-3' | '1-3' | '0-3';
19
- export type SetScore = 0 | 1 | 2 | 3;
20
- export declare class Match {
21
- readonly id: string;
22
- readonly homeTeam: Team;
23
- readonly awayTeam: Team;
24
- readonly sets: MatchSet[];
25
- readonly scheduledDate: Date;
26
- readonly VPERs: VPER[];
27
- homeScore?: number;
28
- awayScore?: number;
29
- winner?: Team;
30
- status: StatusEnum;
31
- constructor({ id, homeTeam, awayTeam, scheduledDate, sets, status, homeScore, awayScore, winner, VPERs }: MatchParams);
32
- addSet(set: MatchSet): void;
33
- getTeamSets(team: MatchTeam): SetScore;
34
- getScore(): MatchScore;
35
- isOver(): boolean;
36
- getWinner(): Team;
37
- }
38
- export {};
@@ -1,48 +0,0 @@
1
- import { validateUUID } from '../utils';
2
- import { MatchTeam } from './match-team';
3
- import { StatusEnum } from '../../data';
4
- export class Match {
5
- constructor({ id, homeTeam, awayTeam, scheduledDate, sets, status, homeScore, awayScore, winner, VPERs }) {
6
- validateUUID(id);
7
- this.id = id;
8
- this.homeTeam = homeTeam;
9
- this.awayTeam = awayTeam;
10
- this.scheduledDate = scheduledDate;
11
- this.sets = sets;
12
- this.status = status;
13
- this.homeScore = homeScore;
14
- this.awayScore = awayScore;
15
- this.winner = winner;
16
- this.VPERs = VPERs;
17
- }
18
- addSet(set) {
19
- if (this.sets.length >= 5)
20
- throw new Error('SET_AMOUNT_EXCEEDED');
21
- this.sets.push(set);
22
- }
23
- getTeamSets(team) {
24
- const sets = this.sets.reduce((sets, set) => sets + (!set.isOver() ? 0 : set.getWinner() === team ? 1 : 0), 0);
25
- if (sets > 3 || sets < 0)
26
- throw new Error(`INCORRECT_SET_VALUE: ${sets}`);
27
- return sets;
28
- }
29
- getScore() {
30
- return `${this.getTeamSets(MatchTeam.HOME)}-${this.getTeamSets(MatchTeam.AWAY)}`;
31
- }
32
- isOver() {
33
- if (this.status === StatusEnum.COMPLETE)
34
- return true;
35
- const setsToWin = 3;
36
- const homeSets = this.getTeamSets(MatchTeam.HOME);
37
- const awaySets = this.getTeamSets(MatchTeam.AWAY);
38
- return !(homeSets < setsToWin && awaySets < setsToWin);
39
- }
40
- getWinner() {
41
- if (!this.isOver()) {
42
- throw new Error(`UNFINISHED_MATCH: ${this.id}, homeSets=[${this.sets.map(s => s.homeScore).join(', ')}], awaySets=[${this.sets.map(s => s.awayScore).join(', ')}], status=${this.status}`);
43
- }
44
- const homeSets = this.getTeamSets(MatchTeam.HOME);
45
- const awaySets = this.getTeamSets(MatchTeam.AWAY);
46
- return homeSets > awaySets ? this.homeTeam : this.awayTeam;
47
- }
48
- }
@@ -1,21 +0,0 @@
1
- import { CourtPosition } from './court-position';
2
- import { RallyEvent } from '../event';
3
- interface RallyParams {
4
- readonly id: string;
5
- readonly order: number;
6
- readonly servingTeamId: string;
7
- readonly events: RallyEvent[];
8
- }
9
- export interface PlayerPosition {
10
- position: CourtPosition;
11
- playerId: string;
12
- }
13
- export declare class Rally {
14
- readonly id: string;
15
- readonly servingTeamId: string;
16
- readonly events: RallyEvent[];
17
- readonly order: number;
18
- constructor({ id, order, servingTeamId, events }: RallyParams);
19
- addEvent(event: RallyEvent): void;
20
- }
21
- export {};
@@ -1,13 +0,0 @@
1
- import { validateUUID } from '../utils';
2
- export class Rally {
3
- constructor({ id, order, servingTeamId, events }) {
4
- validateUUID(id);
5
- this.id = id;
6
- this.order = order;
7
- this.servingTeamId = servingTeamId;
8
- this.events = events;
9
- }
10
- addEvent(event) {
11
- this.events.push(event);
12
- }
13
- }
@@ -1,13 +0,0 @@
1
- import { BoxScore } from './box-score';
2
- export interface VPERParams {
3
- readonly playerId: string;
4
- readonly matchId: string;
5
- readonly value: number;
6
- }
7
- export declare class VPER {
8
- readonly playerId: string;
9
- readonly matchId: string;
10
- readonly value: number;
11
- constructor({ playerId, matchId, value }: VPERParams);
12
- static computeVPERForMatch(boxScores: BoxScore[]): number;
13
- }
@@ -1,52 +0,0 @@
1
- const WEIGHTS = {
2
- // terminal positive
3
- ATTACK_KILL: 1.0,
4
- SERVE_ACE: 1.0,
5
- BLOCK_SOLO: 1.0,
6
- BLOCK_ASSIST: 0.5,
7
- // creation / continuation
8
- SETTING_ASSIST: 0.7,
9
- BLOCK_TOUCH: 0.2,
10
- DEFENSE_DIG: 0.25,
11
- SETTING_PASS: 0.15,
12
- // reception quality
13
- RECEPTION_PERFECT: 0.35,
14
- RECEPTION_POSITIVE: 0.15,
15
- RECEPTION_OVERPASS: -0.6,
16
- // terminal errors (always point against)
17
- TERMINAL_ERROR: -1.0
18
- };
19
- export class VPER {
20
- constructor({ playerId, matchId, value }) {
21
- this.matchId = matchId;
22
- this.playerId = playerId;
23
- this.value = value;
24
- }
25
- static computeVPERForMatch(boxScores) {
26
- let rawSum = 0;
27
- let pointsPlayedSum = 0;
28
- for (const box of boxScores) {
29
- const w = WEIGHTS;
30
- const positive = w.ATTACK_KILL * box.attack.kills +
31
- w.SERVE_ACE * box.serve.aces +
32
- w.BLOCK_SOLO * box.block.solo +
33
- w.BLOCK_ASSIST * box.block.assists +
34
- w.SETTING_ASSIST * box.setting.assists +
35
- w.BLOCK_TOUCH * box.block.touches +
36
- w.DEFENSE_DIG * box.defense.digs +
37
- w.SETTING_PASS * box.setting.pass +
38
- w.RECEPTION_PERFECT * box.reception.perfect +
39
- w.RECEPTION_POSITIVE * box.reception.positive;
40
- const negative = w.RECEPTION_OVERPASS * box.reception.overpasses +
41
- w.TERMINAL_ERROR * (box.attack.errors +
42
- box.serve.errors +
43
- box.reception.errors +
44
- box.defense.errors +
45
- box.block.errors +
46
- box.setting.errors);
47
- rawSum += positive + negative;
48
- pointsPlayedSum += box.misc.pointsPlayed;
49
- }
50
- return 100 * rawSum / Math.max(1, pointsPlayedSum);
51
- }
52
- }
@@ -1,6 +0,0 @@
1
- export * from './player';
2
- export * from './performance-stats';
3
- export * from './trait';
4
- export * from './rarity';
5
- export * from './role';
6
- export * from './stats';
@@ -1,6 +0,0 @@
1
- export * from './player';
2
- export * from './performance-stats';
3
- export * from './trait';
4
- export * from './rarity';
5
- export * from './role';
6
- export * from './stats';
@@ -1,10 +0,0 @@
1
- export declare const performanceStatKeys: readonly ["setting", "serve", "spike", "quick", "power", "awareness", "attack", "backAttack", "reception", "overhand", "bump", "block", "read", "commit", "focus", "defense", "stamina", "reflex"];
2
- export type PerformanceStatsKey = typeof performanceStatKeys[number];
3
- export type PerformanceStatsParams = Record<PerformanceStatsKey, number>;
4
- export interface PerformanceStats extends PerformanceStatsParams {
5
- }
6
- export declare class PerformanceStats {
7
- constructor(opts: PerformanceStatsParams);
8
- static fromAverage(avg: number): PerformanceStats;
9
- toString(): string;
10
- }
@@ -1,15 +0,0 @@
1
- export const performanceStatKeys = ['setting', 'serve', 'spike', 'quick', 'power', 'awareness', 'attack', 'backAttack',
2
- 'reception', 'overhand', 'bump', 'block', 'read', 'commit', 'focus', 'defense', 'stamina', 'reflex'];
3
- export class PerformanceStats {
4
- constructor(opts) {
5
- Object.assign(this, opts);
6
- }
7
- static fromAverage(avg) {
8
- const opts = Object.fromEntries(performanceStatKeys.map((key) => [key, avg]));
9
- return new PerformanceStats(opts);
10
- }
11
- toString() {
12
- return performanceStatKeys.map((key) => `${key}: ${this[key]}`)
13
- .join(', ');
14
- }
15
- }
@@ -1,53 +0,0 @@
1
- import { PerformanceStats } from './performance-stats';
2
- import { Trait } from './trait';
3
- import { Country } from '../country';
4
- import { Rarity } from './rarity';
5
- import { Stats } from './stats';
6
- import { Role } from './role';
7
- import { BoxScore, BoxScoreTotals } from '../match';
8
- export declare class Stat {
9
- readonly name: Stats;
10
- readonly value: number;
11
- constructor({ name, value }: {
12
- name: Stats;
13
- value: number;
14
- });
15
- toString(): string;
16
- }
17
- interface PlayerParams {
18
- readonly id: string;
19
- readonly name: Name;
20
- readonly country: Country;
21
- readonly stats: PerformanceStats;
22
- readonly roles: Role[];
23
- readonly traits: Trait[];
24
- readonly rarity: Rarity;
25
- readonly boxScores?: BoxScore[];
26
- readonly boxScoreTotals?: BoxScoreTotals;
27
- }
28
- export declare class Name {
29
- readonly first: string;
30
- readonly last: string;
31
- constructor({ first, last }: {
32
- first: string;
33
- last: string;
34
- });
35
- toString(): string;
36
- }
37
- export declare class Player {
38
- readonly id: string;
39
- readonly name: Name;
40
- readonly country: Country;
41
- readonly stats: PerformanceStats;
42
- readonly roles: Role[];
43
- readonly traits: Trait[];
44
- readonly generalStats: Stat[];
45
- readonly rarity: Rarity;
46
- readonly boxScores?: BoxScore[];
47
- readonly boxScoreTotals?: BoxScoreTotals;
48
- constructor({ id, name, country, stats, roles, traits, rarity, boxScores, boxScoreTotals }: PlayerParams);
49
- static sortPlayers(roles: Role[]): (p1: Player, p2: Player) => number;
50
- static compareStats(p1: Player, p2: Player): number;
51
- toString(): string;
52
- }
53
- export {};
@@ -1,90 +0,0 @@
1
- import { validateUUID } from '../utils';
2
- import { calculateStatScore, StatsEnum } from './stats';
3
- import { calculateRoleScore } from './role';
4
- export class Stat {
5
- constructor({ name, value }) {
6
- this.name = name;
7
- this.value = value;
8
- }
9
- toString() {
10
- return `${this.name}: ${this.value}`;
11
- }
12
- }
13
- export class Name {
14
- constructor({ first, last }) {
15
- this.first = first;
16
- this.last = last;
17
- }
18
- toString() {
19
- return `${this.first} ${this.last}`;
20
- }
21
- }
22
- export class Player {
23
- constructor({ id, name, country, stats, roles, traits, rarity, boxScores, boxScoreTotals }) {
24
- validateUUID(id);
25
- this.id = id;
26
- this.name = name;
27
- this.country = country;
28
- this.stats = stats;
29
- this.roles = roles;
30
- this.traits = traits;
31
- this.rarity = rarity;
32
- this.boxScores = boxScores;
33
- this.boxScoreTotals = boxScoreTotals;
34
- this.generalStats = Object.values(StatsEnum).map((stat) => ({
35
- name: stat,
36
- value: calculateStatScore(stats, stat)
37
- }));
38
- }
39
- // Used as a base sorting function for players
40
- static sortPlayers(roles) {
41
- return (p1, p2) => roles.reduce((x, role) => {
42
- const p2Score = calculateRoleScore(p2.stats, role);
43
- const p1Score = calculateRoleScore(p1.stats, role);
44
- return x + p2Score - p1Score;
45
- }, 0);
46
- }
47
- static compareStats(p1, p2) {
48
- const compareFn = (acc, current) => {
49
- let x = current.value;
50
- switch (current.name) {
51
- case StatsEnum.ATTACK:
52
- x *= 0.19;
53
- break;
54
- case StatsEnum.SET:
55
- x *= 0.19;
56
- break;
57
- case StatsEnum.RECEIVE:
58
- x *= 0.19;
59
- break;
60
- case StatsEnum.BLOCK:
61
- x *= 0.19;
62
- break;
63
- case StatsEnum.SERVE:
64
- x *= 0.19;
65
- break;
66
- case StatsEnum.STAMINA:
67
- x *= 0.05;
68
- break;
69
- default:
70
- x *= 0;
71
- }
72
- return acc + x;
73
- };
74
- const s1 = p1.generalStats.reduce(compareFn, 0);
75
- const s2 = p2.generalStats.reduce(compareFn, 0);
76
- return s2 - s1;
77
- }
78
- toString() {
79
- return JSON.stringify({
80
- id: this.id,
81
- name: this.name.toString(),
82
- country: this.country.toString(),
83
- stats: this.stats.toString(),
84
- rarity: this.rarity,
85
- roles: `[${this.roles.map(r => r.toString()).join(',')}]`,
86
- traits: `[${this.traits.map(t => t.toString()).join(',')}]`,
87
- generalStats: `[${this.generalStats.map(r => r.toString()).join(',')}]`
88
- });
89
- }
90
- }
@@ -1,15 +0,0 @@
1
- export declare enum RarityEnum {
2
- COMMON = "COMMON",
3
- RARE = "RARE",
4
- LEGENDARY = "LEGENDARY",
5
- MYTHIC = "MYTHIC",
6
- SPECIAL = "SPECIAL"
7
- }
8
- export type Rarity = RarityEnum.COMMON | RarityEnum.RARE | RarityEnum.LEGENDARY | RarityEnum.MYTHIC | RarityEnum.SPECIAL;
9
- export declare const RarityRanges: {
10
- COMMON: number[];
11
- RARE: number[];
12
- LEGENDARY: number[];
13
- MYTHIC: number[];
14
- SPECIAL: number[];
15
- };
@@ -1,15 +0,0 @@
1
- export var RarityEnum;
2
- (function (RarityEnum) {
3
- RarityEnum["COMMON"] = "COMMON";
4
- RarityEnum["RARE"] = "RARE";
5
- RarityEnum["LEGENDARY"] = "LEGENDARY";
6
- RarityEnum["MYTHIC"] = "MYTHIC";
7
- RarityEnum["SPECIAL"] = "SPECIAL";
8
- })(RarityEnum || (RarityEnum = {}));
9
- export const RarityRanges = {
10
- [RarityEnum.COMMON]: [0, 50],
11
- [RarityEnum.RARE]: [51, 70],
12
- [RarityEnum.LEGENDARY]: [71, 85],
13
- [RarityEnum.MYTHIC]: [86, 98],
14
- [RarityEnum.SPECIAL]: [99, 100]
15
- };
@@ -1,15 +0,0 @@
1
- import { PerformanceStats, PerformanceStatsParams } from './performance-stats';
2
- export declare enum RoleEnum {
3
- SETTER = "SETTER",
4
- LIBERO = "LIBERO",
5
- OUTSIDE_HITTER = "OUTSIDE_HITTER",
6
- OPPOSITE_HITTER = "OPPOSITE_HITTER",
7
- MIDDLE_BLOCKER = "MIDDLE_BLOCKER"
8
- }
9
- export type Role = RoleEnum.SETTER | RoleEnum.LIBERO | RoleEnum.MIDDLE_BLOCKER | RoleEnum.OUTSIDE_HITTER | RoleEnum.OPPOSITE_HITTER;
10
- export interface RolesFormula {
11
- role: Role;
12
- weight: PerformanceStatsParams;
13
- }
14
- export declare function calculateRoleScore(stats: PerformanceStats, role: Role): number;
15
- export declare function assignRoles(stats: PerformanceStats): Role[];
@@ -1,44 +0,0 @@
1
- import roles from '../../stat-config/roles.json';
2
- export var RoleEnum;
3
- (function (RoleEnum) {
4
- RoleEnum["SETTER"] = "SETTER";
5
- RoleEnum["LIBERO"] = "LIBERO";
6
- RoleEnum["OUTSIDE_HITTER"] = "OUTSIDE_HITTER";
7
- RoleEnum["OPPOSITE_HITTER"] = "OPPOSITE_HITTER";
8
- RoleEnum["MIDDLE_BLOCKER"] = "MIDDLE_BLOCKER";
9
- })(RoleEnum || (RoleEnum = {}));
10
- const rolesFormula = roles;
11
- export function calculateRoleScore(stats, role) {
12
- const weights = rolesFormula.find(r => r.role === role);
13
- if (weights == null)
14
- throw new Error('COULD_NOT_FIND_ROLE_WEIGHT');
15
- const score = Object.keys(weights.weight)
16
- .reduce((score, key) => {
17
- const stat = stats[key];
18
- const weight = weights.weight[key];
19
- return score + (stat * weight);
20
- }, 0);
21
- return Math.round(score);
22
- }
23
- export function assignRoles(stats) {
24
- const scores = Object.values(RoleEnum)
25
- .map((role) => ({
26
- role,
27
- score: calculateRoleScore(stats, role)
28
- }))
29
- .sort((x, y) => y.score - x.score);
30
- const out = [scores[0].role];
31
- if (scores[1].score >= 75) {
32
- out.push(scores[1].role);
33
- }
34
- if (scores[2].score >= 82) {
35
- out.push(scores[2].role);
36
- }
37
- if (scores[3].score >= 89) {
38
- out.push(scores[3].role);
39
- }
40
- if (scores[4].score >= 95) {
41
- out.push(scores[4].role);
42
- }
43
- return out;
44
- }
@@ -1,12 +0,0 @@
1
- import { PerformanceStats } from './performance-stats';
2
- export declare enum StatsEnum {
3
- ATTACK = "ATTACK",
4
- SET = "SET",
5
- RECEIVE = "RECEIVE",
6
- SERVE = "SERVE",
7
- BLOCK = "BLOCK",
8
- STAMINA = "STAMINA"
9
- }
10
- export type Stats = StatsEnum.ATTACK | StatsEnum.SET | StatsEnum.RECEIVE | StatsEnum.SERVE | StatsEnum.BLOCK | StatsEnum.STAMINA;
11
- export declare function calculateStatScore(performanceStats: PerformanceStats, statName: Stats): number;
12
- export declare function getMultipliers(statName: Stats, performanceStats?: PerformanceStats): any;
@@ -1,63 +0,0 @@
1
- export var StatsEnum;
2
- (function (StatsEnum) {
3
- StatsEnum["ATTACK"] = "ATTACK";
4
- StatsEnum["SET"] = "SET";
5
- StatsEnum["RECEIVE"] = "RECEIVE";
6
- StatsEnum["SERVE"] = "SERVE";
7
- StatsEnum["BLOCK"] = "BLOCK";
8
- StatsEnum["STAMINA"] = "STAMINA";
9
- })(StatsEnum || (StatsEnum = {}));
10
- export function calculateStatScore(performanceStats, statName) {
11
- const multipliers = getMultipliers(statName, performanceStats);
12
- const score = Object.entries(multipliers)
13
- .reduce((total, [key, value]) => total + value * performanceStats[key], 0);
14
- return Math.round(score);
15
- }
16
- export function getMultipliers(statName, performanceStats) {
17
- switch (statName) {
18
- case StatsEnum.ATTACK:
19
- return {
20
- spike: 0.55,
21
- backAttack: 0.1,
22
- power: performanceStats == null ? 0.125 : performanceStats.power > performanceStats.quick ? 0.2 : 0.05,
23
- quick: performanceStats == null ? 0.125 : performanceStats.quick > performanceStats.power ? 0.2 : 0.05,
24
- awareness: 0.05,
25
- attack: 0.05
26
- };
27
- case StatsEnum.SET:
28
- return {
29
- setting: 0.75,
30
- overhand: 0.1,
31
- awareness: 0.075,
32
- attack: 0.075
33
- };
34
- case StatsEnum.RECEIVE:
35
- return {
36
- reception: 0.75,
37
- overhand: 0.015,
38
- bump: 0.15,
39
- focus: 0.015,
40
- defense: 0.055,
41
- reflex: 0.015
42
- };
43
- case StatsEnum.SERVE:
44
- return {
45
- serve: 0.85,
46
- awareness: 0.075,
47
- attack: 0.075
48
- };
49
- case StatsEnum.BLOCK:
50
- return {
51
- block: 0.65,
52
- read: performanceStats == null ? 0.125 : performanceStats.read > performanceStats.commit ? 0.2 : 0.05,
53
- commit: performanceStats == null ? 0.125 : performanceStats.commit > performanceStats.read ? 0.2 : 0.05,
54
- focus: 0.04,
55
- defense: 0.04,
56
- reflex: 0.02
57
- };
58
- case StatsEnum.STAMINA:
59
- return { stamina: 1 };
60
- default:
61
- throw new Error('INVALID_STAT');
62
- }
63
- }
@@ -1,51 +0,0 @@
1
- import { Rarity } from './rarity';
2
- import { Role } from './role';
3
- interface TraitProps {
4
- readonly name: Trait;
5
- readonly modifier: number;
6
- readonly chance: number;
7
- readonly roles: Role[];
8
- }
9
- export declare enum TraitEnum {
10
- /**
11
- * When triggered, all actions before the net crossing have a bonus.
12
- * Can only be triggered during the first or second touch.
13
- */
14
- MASTER_MIND = "MASTER_MIND",
15
- /**
16
- * When this player is part of the front row, they will always be part of the blocking block
17
- */
18
- MOVING_WALL = "MOVING_WALL",
19
- /**
20
- * Enables the player making the second touch to spike or dump
21
- */
22
- SURPRISE_ATTACK = "SURPRISE_ATTACK",
23
- /**
24
- * Boosts the stat of the action taken and allows the player to choose the best target for the action.
25
- */
26
- MARKSMAN = "MARKSMAN",
27
- /**
28
- * The server will perform an extra strong serve.
29
- */
30
- METEOR_SERVE = "METEOR_SERVE",
31
- /**
32
- * The player has a 50% chance to perform an action with no energy decrease
33
- */
34
- VIGOROUS = "VIGOROUS",
35
- /**
36
- * The player with this trait has a chance to take the receiver's place if their reception stat is higher.
37
- */
38
- GUARDIAN = "GUARDIAN",
39
- /**
40
- * Enables the server to perform a float serve, which checks against receiver overhand instead.
41
- */
42
- FLOAT_SERVE = "FLOAT_SERVE",
43
- /**
44
- * Gives the player a chance to perform a perfect reception.
45
- */
46
- DEFENSIVE_SPECIALIST = "DEFENSIVE_SPECIALIST"
47
- }
48
- export type Trait = TraitEnum.FLOAT_SERVE | TraitEnum.SURPRISE_ATTACK | TraitEnum.GUARDIAN | TraitEnum.MASTER_MIND | TraitEnum.MOVING_WALL | TraitEnum.MARKSMAN | TraitEnum.METEOR_SERVE | TraitEnum.VIGOROUS | TraitEnum.DEFENSIVE_SPECIALIST;
49
- export declare function assignTraits(roles: Role[], rarity: Rarity): Trait[];
50
- export declare const traitMap: Map<Trait, TraitProps>;
51
- export {};