volleyballsimtypes 0.0.164 → 0.0.166

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 (33) hide show
  1. package/dist/cjs/src/data/models/performance-stats.d.ts +26 -15
  2. package/dist/cjs/src/data/models/performance-stats.js +37 -7
  3. package/dist/cjs/src/data/models/player.js +1 -1
  4. package/dist/cjs/src/data/transformers/performance-stats.js +22 -10
  5. package/dist/cjs/src/formula/index.d.ts +0 -1
  6. package/dist/cjs/src/formula/index.js +0 -1
  7. package/dist/cjs/src/formula/role.formula.json +76 -46
  8. package/dist/cjs/src/formula/roles.d.ts +3 -14
  9. package/dist/cjs/src/formula/stats.d.ts +2 -6
  10. package/dist/cjs/src/formula/stats.js +52 -11
  11. package/dist/cjs/src/service/player/performance-stats.d.ts +5 -25
  12. package/dist/cjs/src/service/player/performance-stats.js +10 -29
  13. package/dist/esm/src/data/models/performance-stats.d.ts +26 -15
  14. package/dist/esm/src/data/models/performance-stats.js +37 -7
  15. package/dist/esm/src/data/models/player.js +1 -1
  16. package/dist/esm/src/data/transformers/performance-stats.js +22 -10
  17. package/dist/esm/src/formula/index.d.ts +0 -1
  18. package/dist/esm/src/formula/index.js +0 -1
  19. package/dist/esm/src/formula/role.formula.json +76 -46
  20. package/dist/esm/src/formula/roles.d.ts +3 -14
  21. package/dist/esm/src/formula/stats.d.ts +2 -6
  22. package/dist/esm/src/formula/stats.js +50 -7
  23. package/dist/esm/src/service/player/performance-stats.d.ts +5 -25
  24. package/dist/esm/src/service/player/performance-stats.js +9 -28
  25. package/package.json +1 -1
  26. package/dist/cjs/src/formula/event.formula.json +0 -125
  27. package/dist/cjs/src/formula/events.d.ts +0 -125
  28. package/dist/cjs/src/formula/events.js +0 -8
  29. package/dist/cjs/src/formula/stat.formula.json +0 -66
  30. package/dist/esm/src/formula/event.formula.json +0 -125
  31. package/dist/esm/src/formula/events.d.ts +0 -125
  32. package/dist/esm/src/formula/events.js +0 -2
  33. package/dist/esm/src/formula/stat.formula.json +0 -66
@@ -1,37 +1,48 @@
1
1
  import * as Sequelize from 'sequelize';
2
- import { Model, Optional } from 'sequelize';
2
+ import { Model } from 'sequelize';
3
3
  import { PlayerId, PlayerModel } from '.';
4
4
  export interface PerformanceStatsAttributes {
5
5
  player_id: string;
6
6
  setting: number;
7
- pass: number;
8
- reception: number;
7
+ serve: number;
9
8
  spike: number;
9
+ quick: number;
10
+ power: number;
11
+ awareness: number;
12
+ attack: number;
10
13
  back_attack: number;
11
- jump: number;
14
+ reception: number;
15
+ overhand: number;
16
+ bump: number;
12
17
  block: number;
13
- awareness: number;
14
- serve: number;
15
- stamina: number;
18
+ read: number;
19
+ commit: number;
20
+ focus: number;
16
21
  defense: number;
22
+ stamina: number;
17
23
  }
18
24
  export type PerformanceStatsPk = 'player_id';
19
25
  export type PerformanceStatsId = PerformanceStatsModel[PerformanceStatsPk];
20
- export type PerformanceStatsOptionalAttributes = 'setting' | 'pass' | 'reception' | 'spike' | 'back_attack' | 'jump' | 'block' | 'awareness' | 'serve' | 'stamina' | 'defense';
21
- export type PerformanceStatsCreationAttributes = Optional<PerformanceStatsAttributes, PerformanceStatsOptionalAttributes>;
26
+ export type PerformanceStatsCreationAttributes = PerformanceStatsAttributes;
22
27
  export declare class PerformanceStatsModel extends Model<PerformanceStatsAttributes, PerformanceStatsCreationAttributes> implements PerformanceStatsAttributes {
23
28
  player_id: string;
24
29
  setting: number;
25
- pass: number;
26
- reception: number;
30
+ serve: number;
27
31
  spike: number;
32
+ quick: number;
33
+ power: number;
34
+ awareness: number;
35
+ attack: number;
28
36
  back_attack: number;
29
- jump: number;
37
+ reception: number;
38
+ overhand: number;
39
+ bump: number;
30
40
  block: number;
31
- awareness: number;
32
- serve: number;
33
- stamina: number;
41
+ read: number;
42
+ commit: number;
43
+ focus: number;
34
44
  defense: number;
45
+ stamina: number;
35
46
  player: PlayerModel;
36
47
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
37
48
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -19,17 +19,32 @@ class PerformanceStatsModel extends sequelize_1.Model {
19
19
  allowNull: false,
20
20
  defaultValue: 0
21
21
  },
22
- pass: {
22
+ serve: {
23
23
  type: sequelize_1.DataTypes.INTEGER,
24
24
  allowNull: false,
25
25
  defaultValue: 0
26
26
  },
27
- reception: {
27
+ spike: {
28
28
  type: sequelize_1.DataTypes.INTEGER,
29
29
  allowNull: false,
30
30
  defaultValue: 0
31
31
  },
32
- spike: {
32
+ quick: {
33
+ type: sequelize_1.DataTypes.INTEGER,
34
+ allowNull: false,
35
+ defaultValue: 0
36
+ },
37
+ power: {
38
+ type: sequelize_1.DataTypes.INTEGER,
39
+ allowNull: false,
40
+ defaultValue: 0
41
+ },
42
+ awareness: {
43
+ type: sequelize_1.DataTypes.INTEGER,
44
+ allowNull: false,
45
+ defaultValue: 0
46
+ },
47
+ attack: {
33
48
  type: sequelize_1.DataTypes.INTEGER,
34
49
  allowNull: false,
35
50
  defaultValue: 0
@@ -39,7 +54,17 @@ class PerformanceStatsModel extends sequelize_1.Model {
39
54
  allowNull: false,
40
55
  defaultValue: 0
41
56
  },
42
- jump: {
57
+ reception: {
58
+ type: sequelize_1.DataTypes.INTEGER,
59
+ allowNull: false,
60
+ defaultValue: 0
61
+ },
62
+ overhand: {
63
+ type: sequelize_1.DataTypes.INTEGER,
64
+ allowNull: false,
65
+ defaultValue: 0
66
+ },
67
+ bump: {
43
68
  type: sequelize_1.DataTypes.INTEGER,
44
69
  allowNull: false,
45
70
  defaultValue: 0
@@ -49,17 +74,17 @@ class PerformanceStatsModel extends sequelize_1.Model {
49
74
  allowNull: false,
50
75
  defaultValue: 0
51
76
  },
52
- awareness: {
77
+ read: {
53
78
  type: sequelize_1.DataTypes.INTEGER,
54
79
  allowNull: false,
55
80
  defaultValue: 0
56
81
  },
57
- serve: {
82
+ commit: {
58
83
  type: sequelize_1.DataTypes.INTEGER,
59
84
  allowNull: false,
60
85
  defaultValue: 0
61
86
  },
62
- stamina: {
87
+ focus: {
63
88
  type: sequelize_1.DataTypes.INTEGER,
64
89
  allowNull: false,
65
90
  defaultValue: 0
@@ -68,6 +93,11 @@ class PerformanceStatsModel extends sequelize_1.Model {
68
93
  type: sequelize_1.DataTypes.INTEGER,
69
94
  allowNull: false,
70
95
  defaultValue: 0
96
+ },
97
+ stamina: {
98
+ type: sequelize_1.DataTypes.INTEGER,
99
+ allowNull: false,
100
+ defaultValue: 0
71
101
  }
72
102
  }, {
73
103
  sequelize,
@@ -16,7 +16,7 @@ class PlayerModel extends sequelize_1.Model {
16
16
  allowNull: false
17
17
  },
18
18
  rarity: {
19
- type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.ENUM(...Object.values(service_1.Rarity))),
19
+ type: sequelize_1.DataTypes.ENUM(...Object.values(service_1.Rarity)),
20
20
  allowNull: false
21
21
  },
22
22
  first_name: {
@@ -7,12 +7,18 @@ function transformToAttributes(player) {
7
7
  player_id: player.id,
8
8
  back_attack: player.stats.backAttack,
9
9
  block: player.stats.block,
10
+ read: player.stats.read,
11
+ commit: player.stats.commit,
12
+ focus: player.stats.focus,
10
13
  awareness: player.stats.awareness,
11
14
  defense: player.stats.defense,
12
- jump: player.stats.jump,
13
- pass: player.stats.pass,
15
+ quick: player.stats.quick,
16
+ power: player.stats.power,
17
+ attack: player.stats.attack,
14
18
  serve: player.stats.serve,
15
19
  reception: player.stats.reception,
20
+ overhand: player.stats.overhand,
21
+ bump: player.stats.bump,
16
22
  setting: player.stats.setting,
17
23
  spike: player.stats.spike,
18
24
  stamina: player.stats.stamina
@@ -21,17 +27,23 @@ function transformToAttributes(player) {
21
27
  exports.transformFromPerformanceStats = transformToAttributes;
22
28
  function transformToObject(model) {
23
29
  return new service_1.PerformanceStats({
24
- awareness: model.awareness,
25
- defense: model.defense,
26
- jump: model.jump,
27
- pass: model.pass,
28
- serve: model.serve,
29
- reception: model.reception,
30
30
  setting: model.setting,
31
+ serve: model.serve,
31
32
  spike: model.spike,
32
- stamina: model.stamina,
33
+ quick: model.quick,
34
+ power: model.power,
35
+ awareness: model.awareness,
36
+ attack: model.attack,
37
+ backAttack: model.back_attack,
38
+ reception: model.reception,
39
+ overhand: model.overhand,
40
+ bump: model.bump,
33
41
  block: model.block,
34
- backAttack: model.back_attack
42
+ read: model.read,
43
+ commit: model.commit,
44
+ focus: model.focus,
45
+ defense: model.defense,
46
+ stamina: model.stamina
35
47
  });
36
48
  }
37
49
  exports.transformToPerformanceStats = transformToObject;
@@ -1,3 +1,2 @@
1
1
  export * from './stats';
2
- export * from './events';
3
2
  export * from './roles';
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./stats"), exports);
18
- __exportStar(require("./events"), exports);
19
18
  __exportStar(require("./roles"), exports);
@@ -3,80 +3,110 @@
3
3
  "role": "SETTER",
4
4
  "weight": {
5
5
  "serve": 0.2,
6
- "setting": 0.2475,
7
- "pass": 0.09,
8
- "reception": 0.0825,
9
- "spike": 0.075,
6
+ "stamina": 0.05,
7
+ "setting": 0.7,
8
+ "block": 0.05,
9
+ "spike": 0,
10
+ "quick": 0,
11
+ "power": 0,
10
12
  "backAttack": 0,
11
- "jump": 0.1125,
12
- "block": 0,
13
- "awareness": 0.1425,
14
- "defense": 0,
15
- "stamina": 0.05
13
+ "awareness": 0,
14
+ "attack": 0,
15
+ "reception": 0,
16
+ "overhand": 0,
17
+ "bump": 0,
18
+ "read": 0,
19
+ "commit": 0,
20
+ "focus": 0,
21
+ "defense": 0
16
22
  }
17
23
  },
18
24
  {
19
25
  "role": "LIBERO",
20
26
  "weight": {
21
- "serve": 0.02,
22
- "setting": 0.045,
23
- "pass": 0.095,
24
- "reception": 0.33,
25
27
  "spike": 0,
28
+ "quick": 0,
29
+ "power": 0,
26
30
  "backAttack": 0,
27
- "jump": 0,
31
+ "awareness": 0,
32
+ "attack": 0,
33
+ "serve": 0,
34
+ "stamina": 0.15,
35
+ "setting": 0.15,
36
+ "reception": 0.7,
37
+ "overhand": 0,
38
+ "bump": 0,
28
39
  "block": 0,
29
- "awareness": 0.14,
30
- "defense": 0.33,
31
- "stamina": 0.04
40
+ "read": 0,
41
+ "commit": 0,
42
+ "focus": 0,
43
+ "defense": 0
32
44
  }
33
45
  },
34
46
  {
35
47
  "role": "OUTSIDE_HITTER",
36
48
  "weight": {
37
- "serve": 0.2,
49
+ "spike": 0.6,
50
+ "quick": 0,
51
+ "power": 0,
52
+ "backAttack": 0.2,
53
+ "awareness": 0,
54
+ "attack": 0,
55
+ "serve": 0.15,
56
+ "stamina": 0.05,
38
57
  "setting": 0,
39
- "pass": 0,
40
- "reception": 0.075,
41
- "spike": 0.2325,
42
- "backAttack": 0.105,
43
- "jump": 0.15,
44
- "block": 0.1125,
45
- "awareness": 0.0375,
46
- "defense": 0.0375,
47
- "stamina": 0.05
58
+ "reception": 0,
59
+ "overhand": 0,
60
+ "bump": 0,
61
+ "block": 0,
62
+ "read": 0,
63
+ "commit": 0,
64
+ "focus": 0,
65
+ "defense": 0
48
66
  }
49
67
  },
50
68
  {
51
69
  "role": "OPPOSITE_HITTER",
52
70
  "weight": {
53
- "serve": 0.2,
71
+ "spike": 0.3,
72
+ "quick": 0,
73
+ "power": 0,
74
+ "backAttack": 0.1,
75
+ "awareness": 0,
76
+ "attack": 0,
77
+ "serve": 0.1,
78
+ "stamina": 0.1,
54
79
  "setting": 0,
55
- "pass": 0,
56
- "reception": 0.05,
57
- "spike": 0.245,
58
- "backAttack": 0.12,
59
- "jump": 0.155,
60
- "block": 0.1050,
61
- "awareness": 0.04,
62
- "defense": 0.035,
63
- "stamina": 0.05
80
+ "reception": 0.2,
81
+ "overhand": 0,
82
+ "bump": 0,
83
+ "block": 0.2,
84
+ "read": 0,
85
+ "commit": 0,
86
+ "focus": 0,
87
+ "defense": 0
64
88
  }
65
89
  },
66
90
  {
67
91
  "role": "MIDDLE_BLOCKER",
68
92
  "weight": {
69
- "serve": 0.2,
93
+ "spike": 0.2,
94
+ "quick": 0,
95
+ "power": 0,
96
+ "backAttack": 0,
97
+ "awareness": 0,
98
+ "attack": 0,
99
+ "serve": 0,
100
+ "stamina": 0.1,
70
101
  "setting": 0,
71
- "pass": 0,
72
102
  "reception": 0,
73
- "spike": 0.09,
74
- "backAttack": 0,
75
- "jump": 0.24,
76
- "block": 0.2475,
77
- "awareness": 0.0975,
78
- "defense": 0.075,
79
- "stamina": 0.05
103
+ "overhand": 0,
104
+ "bump": 0,
105
+ "block": 0.7,
106
+ "read": 0,
107
+ "commit": 0,
108
+ "focus": 0,
109
+ "defense": 0
80
110
  }
81
111
  }
82
112
  ]
@@ -1,20 +1,9 @@
1
+ import { PerformanceStatsParams } from '../service';
1
2
  export declare const ALL_ROLES: string[];
2
3
  export type RolesTuple = typeof ALL_ROLES;
3
4
  export type Roles = RolesTuple[number];
4
5
  export interface RolesFormula {
5
- 'role': Roles;
6
- 'weight': {
7
- 'serve': number;
8
- 'setting': number;
9
- 'pass': number;
10
- 'reception': number;
11
- 'spike': number;
12
- 'backAttack': number;
13
- 'jump': number;
14
- 'block': number;
15
- 'awareness': number;
16
- 'defense': number;
17
- 'stamina': number;
18
- };
6
+ role: Roles;
7
+ weight: PerformanceStatsParams;
19
8
  }
20
9
  export declare const rolesFormula: RolesFormula[];
@@ -1,10 +1,6 @@
1
- import { PerformanceStats, PerformanceStatsParams } from '../service';
1
+ import { PerformanceStats } from '../service';
2
2
  export declare const ALL_STATS: string[];
3
3
  export type StatsTuple = typeof ALL_STATS;
4
4
  export type Stats = StatsTuple[number];
5
- export interface StatFormula {
6
- statName: Stats;
7
- weight: PerformanceStatsParams;
8
- }
9
- export declare const statsFormula: StatFormula[];
10
5
  export declare function calculateScore(performanceStats: PerformanceStats, statName: Stats): number;
6
+ export declare function getMultipliers(statName: Stats, performanceStats?: PerformanceStats): any;
@@ -1,18 +1,59 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.calculateScore = exports.statsFormula = exports.ALL_STATS = void 0;
7
- const stat_formula_json_1 = __importDefault(require("./stat.formula.json"));
8
- exports.ALL_STATS = ['ATTACK', 'DEFENSE', 'SERVE', 'PHYSICAL'];
9
- exports.statsFormula = stat_formula_json_1.default;
3
+ exports.getMultipliers = exports.calculateScore = exports.ALL_STATS = void 0;
4
+ exports.ALL_STATS = ['ATTACK', 'SET', 'RECEIVE', 'SERVE', 'BLOCK', 'STAMINA'];
10
5
  function calculateScore(performanceStats, statName) {
11
- const weights = stat_formula_json_1.default.find((s) => s.statName === statName);
12
- if (weights == null)
13
- throw new Error('COULD_NOT_FIND_ROLE_WEIGHT');
14
- const score = Object.entries(weights.weight)
6
+ const multipliers = getMultipliers(statName, performanceStats);
7
+ const score = Object.entries(multipliers)
15
8
  .reduce((total, [key, value]) => total + value * performanceStats[key], 0);
16
9
  return Math.round(score);
17
10
  }
18
11
  exports.calculateScore = calculateScore;
12
+ function getMultipliers(statName, performanceStats) {
13
+ switch (statName) {
14
+ case 'ATTACK':
15
+ return {
16
+ spike: 0.55,
17
+ backAttack: 0.1,
18
+ power: performanceStats == null ? 0.125 : performanceStats.power > performanceStats.quick ? 0.2 : 0.05,
19
+ quick: performanceStats == null ? 0.125 : performanceStats.quick > performanceStats.power ? 0.2 : 0.05,
20
+ awareness: 0.05,
21
+ attack: 0.05
22
+ };
23
+ case 'SET':
24
+ return {
25
+ setting: 0.7,
26
+ overhand: 0.1,
27
+ bump: 0.05,
28
+ awareness: 0.075,
29
+ attack: 0.075
30
+ };
31
+ case 'RECEIVE':
32
+ return {
33
+ reception: 0.75,
34
+ overhand: 0.025,
35
+ bump: 0.15,
36
+ focus: 0.025,
37
+ defense: 0.05
38
+ };
39
+ case 'SERVE':
40
+ return {
41
+ serve: 0.85,
42
+ awareness: 0.075,
43
+ attack: 0.075
44
+ };
45
+ case 'BLOCK':
46
+ return {
47
+ block: 0.65,
48
+ read: performanceStats == null ? 0.125 : performanceStats.read > performanceStats.commit ? 0.2 : 0.05,
49
+ commit: performanceStats == null ? 0.125 : performanceStats.commit > performanceStats.read ? 0.2 : 0.05,
50
+ focus: 0.05,
51
+ defense: 0.05
52
+ };
53
+ case 'STAMINA':
54
+ return { stamina: 1 };
55
+ default:
56
+ throw new Error('INVALID_STAT');
57
+ }
58
+ }
59
+ exports.getMultipliers = getMultipliers;
@@ -1,30 +1,10 @@
1
- export interface PerformanceStatsParams {
2
- readonly setting: number;
3
- readonly pass: number;
4
- readonly reception: number;
5
- readonly spike: number;
6
- readonly backAttack: number;
7
- readonly jump: number;
8
- readonly block: number;
9
- readonly awareness: number;
10
- readonly serve: number;
11
- readonly defense: number;
12
- readonly stamina: number;
1
+ export declare const performanceStatKeys: readonly ["setting", "serve", "spike", "quick", "power", "awareness", "attack", "backAttack", "reception", "overhand", "bump", "block", "read", "commit", "focus", "defense", "stamina"];
2
+ export type PerformanceStatsKey = typeof performanceStatKeys[number];
3
+ export type PerformanceStatsParams = Record<PerformanceStatsKey, number>;
4
+ export interface PerformanceStats extends PerformanceStatsParams {
13
5
  }
14
- export type PerformanceStatsKey = keyof PerformanceStatsParams;
15
6
  export declare class PerformanceStats {
16
- readonly setting: number;
17
- readonly pass: number;
18
- readonly reception: number;
19
- readonly spike: number;
20
- readonly backAttack: number;
21
- readonly jump: number;
22
- readonly block: number;
23
- readonly awareness: number;
24
- readonly serve: number;
25
- readonly defense: number;
26
- readonly stamina: number;
27
7
  constructor(opts: PerformanceStatsParams);
8
+ static fromAverage(avg: number): PerformanceStats;
28
9
  toString(): string;
29
- static fromAverage(average: number): PerformanceStats;
30
10
  }
@@ -1,38 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PerformanceStats = void 0;
4
- const utils_1 = require("../utils");
3
+ exports.PerformanceStats = exports.performanceStatKeys = void 0;
4
+ exports.performanceStatKeys = ['setting', 'serve', 'spike', 'quick', 'power', 'awareness', 'attack', 'backAttack',
5
+ 'reception', 'overhand', 'bump', 'block', 'read', 'commit', 'focus', 'defense', 'stamina'];
5
6
  class PerformanceStats {
6
7
  constructor(opts) {
7
- this.serve = opts.serve;
8
- this.pass = opts.pass;
9
- this.setting = opts.setting;
10
- this.reception = opts.reception;
11
- this.spike = opts.spike;
12
- this.backAttack = opts.backAttack;
13
- this.jump = opts.jump;
14
- this.block = opts.block;
15
- this.awareness = opts.awareness;
16
- this.defense = opts.defense;
17
- this.stamina = opts.stamina;
8
+ Object.assign(this, opts);
18
9
  }
19
- toString() {
20
- return (0, utils_1.getKeys)(this).map(key => `${key}: ${this[key]}`).join(', ');
10
+ static fromAverage(avg) {
11
+ const opts = Object.fromEntries(exports.performanceStatKeys.map((key) => [key, avg]));
12
+ return new PerformanceStats(opts);
21
13
  }
22
- static fromAverage(average) {
23
- return new PerformanceStats({
24
- setting: average,
25
- pass: average,
26
- reception: average,
27
- spike: average,
28
- backAttack: average,
29
- jump: average,
30
- block: average,
31
- awareness: average,
32
- serve: average,
33
- defense: average,
34
- stamina: average
35
- });
14
+ toString() {
15
+ return exports.performanceStatKeys.map((key) => `${key}: ${this[key]}`)
16
+ .join(', ');
36
17
  }
37
18
  }
38
19
  exports.PerformanceStats = PerformanceStats;
@@ -1,37 +1,48 @@
1
1
  import * as Sequelize from 'sequelize';
2
- import { Model, Optional } from 'sequelize';
2
+ import { Model } from 'sequelize';
3
3
  import { PlayerId, PlayerModel } from '.';
4
4
  export interface PerformanceStatsAttributes {
5
5
  player_id: string;
6
6
  setting: number;
7
- pass: number;
8
- reception: number;
7
+ serve: number;
9
8
  spike: number;
9
+ quick: number;
10
+ power: number;
11
+ awareness: number;
12
+ attack: number;
10
13
  back_attack: number;
11
- jump: number;
14
+ reception: number;
15
+ overhand: number;
16
+ bump: number;
12
17
  block: number;
13
- awareness: number;
14
- serve: number;
15
- stamina: number;
18
+ read: number;
19
+ commit: number;
20
+ focus: number;
16
21
  defense: number;
22
+ stamina: number;
17
23
  }
18
24
  export type PerformanceStatsPk = 'player_id';
19
25
  export type PerformanceStatsId = PerformanceStatsModel[PerformanceStatsPk];
20
- export type PerformanceStatsOptionalAttributes = 'setting' | 'pass' | 'reception' | 'spike' | 'back_attack' | 'jump' | 'block' | 'awareness' | 'serve' | 'stamina' | 'defense';
21
- export type PerformanceStatsCreationAttributes = Optional<PerformanceStatsAttributes, PerformanceStatsOptionalAttributes>;
26
+ export type PerformanceStatsCreationAttributes = PerformanceStatsAttributes;
22
27
  export declare class PerformanceStatsModel extends Model<PerformanceStatsAttributes, PerformanceStatsCreationAttributes> implements PerformanceStatsAttributes {
23
28
  player_id: string;
24
29
  setting: number;
25
- pass: number;
26
- reception: number;
30
+ serve: number;
27
31
  spike: number;
32
+ quick: number;
33
+ power: number;
34
+ awareness: number;
35
+ attack: number;
28
36
  back_attack: number;
29
- jump: number;
37
+ reception: number;
38
+ overhand: number;
39
+ bump: number;
30
40
  block: number;
31
- awareness: number;
32
- serve: number;
33
- stamina: number;
41
+ read: number;
42
+ commit: number;
43
+ focus: number;
34
44
  defense: number;
45
+ stamina: number;
35
46
  player: PlayerModel;
36
47
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
37
48
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;