volleyballsimtypes 0.0.132 → 0.0.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/data/transformers/coach.d.ts +1 -3
- package/dist/cjs/src/data/transformers/coach.js +2 -13
- package/dist/cjs/src/data/transformers/draft.js +1 -3
- package/dist/cjs/src/data/transformers/index.d.ts +0 -7
- package/dist/cjs/src/data/transformers/index.js +0 -7
- package/dist/cjs/src/data/transformers/league.d.ts +1 -3
- package/dist/cjs/src/data/transformers/league.js +1 -9
- package/dist/cjs/src/data/transformers/match-set-stats.d.ts +1 -3
- package/dist/cjs/src/data/transformers/match-set-stats.js +1 -35
- package/dist/cjs/src/data/transformers/match-set.d.ts +1 -3
- package/dist/cjs/src/data/transformers/match-set.js +5 -34
- package/dist/cjs/src/data/transformers/match.d.ts +2 -4
- package/dist/cjs/src/data/transformers/match.js +6 -21
- package/dist/cjs/src/data/transformers/player.d.ts +1 -4
- package/dist/cjs/src/data/transformers/player.js +1 -68
- package/dist/cjs/src/data/transformers/rally.d.ts +1 -3
- package/dist/cjs/src/data/transformers/rally.js +3 -42
- package/dist/cjs/src/data/transformers/role.d.ts +1 -3
- package/dist/cjs/src/data/transformers/role.js +1 -6
- package/dist/cjs/src/data/transformers/season.d.ts +1 -3
- package/dist/cjs/src/data/transformers/season.js +1 -43
- package/dist/cjs/src/data/transformers/team.d.ts +1 -3
- package/dist/cjs/src/data/transformers/team.js +1 -13
- package/dist/cjs/src/data/transformers/tournament-match.d.ts +1 -3
- package/dist/cjs/src/data/transformers/tournament-match.js +1 -9
- package/dist/cjs/src/data/transformers/tournament.d.ts +1 -3
- package/dist/cjs/src/data/transformers/tournament.js +1 -11
- package/dist/cjs/src/data/transformers/trait.d.ts +1 -3
- package/dist/cjs/src/data/transformers/trait.js +1 -23
- package/dist/cjs/src/index.d.ts +0 -1
- package/dist/cjs/src/index.js +0 -1
- package/dist/cjs/src/service/country/country.d.ts +1 -0
- package/dist/cjs/src/service/country/country.js +9 -0
- package/dist/cjs/src/service/match/match-rating.d.ts +2 -2
- package/dist/cjs/src/service/match/match-set.d.ts +12 -8
- package/dist/cjs/src/service/match/match-set.js +8 -8
- package/dist/cjs/src/service/match/match.d.ts +3 -3
- package/dist/cjs/src/service/match/rally.d.ts +3 -3
- package/dist/cjs/src/service/player/performance-stats.d.ts +4 -3
- package/dist/cjs/src/service/player/performance-stats.js +15 -0
- package/dist/cjs/src/service/player/player.d.ts +20 -9
- package/dist/cjs/src/service/player/player.js +32 -1
- package/dist/cjs/src/service/player/role.d.ts +3 -1
- package/dist/cjs/src/service/player/role.js +9 -6
- package/dist/cjs/src/service/player/stats.d.ts +4 -4
- package/dist/cjs/src/service/player/stats.js +4 -4
- package/dist/cjs/src/service/player/trait.d.ts +1 -0
- package/dist/cjs/src/service/player/trait.js +10 -0
- package/dist/cjs/src/service/team/team.d.ts +3 -3
- package/dist/esm/src/data/transformers/coach.d.ts +1 -3
- package/dist/esm/src/data/transformers/coach.js +2 -12
- package/dist/esm/src/data/transformers/draft.js +1 -3
- package/dist/esm/src/data/transformers/index.d.ts +0 -7
- package/dist/esm/src/data/transformers/index.js +0 -7
- package/dist/esm/src/data/transformers/league.d.ts +1 -3
- package/dist/esm/src/data/transformers/league.js +1 -8
- package/dist/esm/src/data/transformers/match-set-stats.d.ts +1 -3
- package/dist/esm/src/data/transformers/match-set-stats.js +1 -34
- package/dist/esm/src/data/transformers/match-set.d.ts +1 -3
- package/dist/esm/src/data/transformers/match-set.js +8 -36
- package/dist/esm/src/data/transformers/match.d.ts +2 -4
- package/dist/esm/src/data/transformers/match.js +3 -17
- package/dist/esm/src/data/transformers/player.d.ts +1 -4
- package/dist/esm/src/data/transformers/player.js +3 -68
- package/dist/esm/src/data/transformers/rally.d.ts +1 -3
- package/dist/esm/src/data/transformers/rally.js +2 -40
- package/dist/esm/src/data/transformers/role.d.ts +1 -3
- package/dist/esm/src/data/transformers/role.js +1 -5
- package/dist/esm/src/data/transformers/season.d.ts +1 -3
- package/dist/esm/src/data/transformers/season.js +2 -43
- package/dist/esm/src/data/transformers/team.d.ts +1 -3
- package/dist/esm/src/data/transformers/team.js +2 -13
- package/dist/esm/src/data/transformers/tournament-match.d.ts +1 -3
- package/dist/esm/src/data/transformers/tournament-match.js +2 -9
- package/dist/esm/src/data/transformers/tournament.d.ts +1 -3
- package/dist/esm/src/data/transformers/tournament.js +2 -11
- package/dist/esm/src/data/transformers/trait.d.ts +1 -3
- package/dist/esm/src/data/transformers/trait.js +1 -22
- package/dist/esm/src/index.d.ts +0 -1
- package/dist/esm/src/index.js +0 -1
- package/dist/esm/src/service/country/country.d.ts +1 -0
- package/dist/esm/src/service/country/country.js +9 -0
- package/dist/esm/src/service/match/match-rating.d.ts +2 -2
- package/dist/esm/src/service/match/match-set.d.ts +12 -8
- package/dist/esm/src/service/match/match-set.js +8 -8
- package/dist/esm/src/service/match/match.d.ts +3 -3
- package/dist/esm/src/service/match/rally.d.ts +3 -3
- package/dist/esm/src/service/player/performance-stats.d.ts +4 -3
- package/dist/esm/src/service/player/performance-stats.js +15 -0
- package/dist/esm/src/service/player/player.d.ts +20 -9
- package/dist/esm/src/service/player/player.js +29 -0
- package/dist/esm/src/service/player/role.d.ts +3 -1
- package/dist/esm/src/service/player/role.js +9 -6
- package/dist/esm/src/service/player/stats.d.ts +4 -4
- package/dist/esm/src/service/player/stats.js +4 -4
- package/dist/esm/src/service/player/trait.d.ts +1 -0
- package/dist/esm/src/service/player/trait.js +10 -0
- package/dist/esm/src/service/team/team.d.ts +3 -3
- package/package.json +3 -2
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { PlayerPosition, Rally } from './rally';
|
|
2
2
|
import { MatchTeam } from './match-team';
|
|
3
3
|
import { Player } from '../player';
|
|
4
|
-
|
|
4
|
+
declare enum ScoreThreshold {
|
|
5
|
+
SET = 25,
|
|
6
|
+
TIE_BREAK = 15
|
|
7
|
+
}
|
|
8
|
+
interface MatchSetParams {
|
|
5
9
|
readonly id: string;
|
|
6
10
|
readonly order: number;
|
|
7
11
|
readonly isTieBreak: boolean;
|
|
@@ -31,7 +35,7 @@ export interface SetStatistics {
|
|
|
31
35
|
killBlocks: number;
|
|
32
36
|
assists: number;
|
|
33
37
|
}
|
|
34
|
-
export declare class MatchSet {
|
|
38
|
+
export declare class MatchSet implements MatchSetParams {
|
|
35
39
|
readonly id: string;
|
|
36
40
|
readonly order: number;
|
|
37
41
|
readonly isTieBreak: boolean;
|
|
@@ -39,12 +43,12 @@ export declare class MatchSet {
|
|
|
39
43
|
readonly awayPlayerPosition: PlayerPosition[];
|
|
40
44
|
readonly stats: SetStatistics[];
|
|
41
45
|
readonly rallies: Rally[];
|
|
42
|
-
|
|
43
|
-
private
|
|
44
|
-
private
|
|
45
|
-
constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }:
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
readonly scoreThreshold: ScoreThreshold;
|
|
47
|
+
private _homeScore;
|
|
48
|
+
private _awayScore;
|
|
49
|
+
constructor({ id, order, isTieBreak, homePlayerPosition, awayPlayerPosition, stats, rallies, homeScore, awayScore }: MatchSetParams);
|
|
50
|
+
get homeScore(): number;
|
|
51
|
+
get awayScore(): number;
|
|
48
52
|
increaseScore(team: MatchTeam): void;
|
|
49
53
|
addRally(rally: Rally): void;
|
|
50
54
|
/**
|
|
@@ -10,8 +10,8 @@ export class MatchSet {
|
|
|
10
10
|
validateUUID(id);
|
|
11
11
|
this.id = id;
|
|
12
12
|
this.order = order;
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
13
|
+
this._homeScore = homeScore;
|
|
14
|
+
this._awayScore = awayScore;
|
|
15
15
|
this.homePlayerPosition = homePlayerPosition;
|
|
16
16
|
this.awayPlayerPosition = awayPlayerPosition;
|
|
17
17
|
this.stats = stats;
|
|
@@ -19,17 +19,17 @@ export class MatchSet {
|
|
|
19
19
|
this.isTieBreak = isTieBreak;
|
|
20
20
|
this.scoreThreshold = isTieBreak ? ScoreThreshold.TIE_BREAK : ScoreThreshold.SET;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
return this.
|
|
22
|
+
get homeScore() {
|
|
23
|
+
return this._homeScore;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
return this.
|
|
25
|
+
get awayScore() {
|
|
26
|
+
return this._awayScore;
|
|
27
27
|
}
|
|
28
28
|
increaseScore(team) {
|
|
29
29
|
if (team === MatchTeam.HOME)
|
|
30
|
-
this.
|
|
30
|
+
this._homeScore++;
|
|
31
31
|
else if (team === MatchTeam.AWAY)
|
|
32
|
-
this.
|
|
32
|
+
this._awayScore++;
|
|
33
33
|
else
|
|
34
34
|
throw new Error('UNKNOWN_TEAM');
|
|
35
35
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MatchSet } from './match-set';
|
|
2
2
|
import { Team } from '../team';
|
|
3
3
|
import { MatchTeam } from './match-team';
|
|
4
|
-
interface
|
|
4
|
+
interface MatchParams {
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly homeTeam: Team;
|
|
7
7
|
readonly awayTeam: Team;
|
|
@@ -17,7 +17,7 @@ export declare enum MatchScore {
|
|
|
17
17
|
'1-3' = "1-3",
|
|
18
18
|
'0-3' = "0-3"
|
|
19
19
|
}
|
|
20
|
-
export declare class Match {
|
|
20
|
+
export declare class Match implements MatchParams {
|
|
21
21
|
static readonly BEST_OF = 5;
|
|
22
22
|
readonly id: string;
|
|
23
23
|
readonly homeTeam: Team;
|
|
@@ -25,7 +25,7 @@ export declare class Match {
|
|
|
25
25
|
readonly sets: MatchSet[];
|
|
26
26
|
readonly scheduledDate: Date;
|
|
27
27
|
isSimulated: boolean;
|
|
28
|
-
constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }:
|
|
28
|
+
constructor({ id, homeTeam, awayTeam, scheduledDate, sets, isSimulated }: MatchParams);
|
|
29
29
|
addSet(set: MatchSet): void;
|
|
30
30
|
getTeamSets(team: MatchTeam): number;
|
|
31
31
|
getScore(): MatchScore;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Team } from '../team';
|
|
2
2
|
import { CourtPosition } from './court-position';
|
|
3
3
|
import { RallyEvent } from '../event';
|
|
4
|
-
interface
|
|
4
|
+
interface RallyParams {
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly order: number;
|
|
7
7
|
readonly servingTeam: Team;
|
|
@@ -11,12 +11,12 @@ export interface PlayerPosition {
|
|
|
11
11
|
position: CourtPosition;
|
|
12
12
|
playerId: string;
|
|
13
13
|
}
|
|
14
|
-
export declare class Rally {
|
|
14
|
+
export declare class Rally implements RallyParams {
|
|
15
15
|
readonly id: string;
|
|
16
16
|
readonly servingTeam: Team;
|
|
17
17
|
readonly events: RallyEvent[];
|
|
18
18
|
readonly order: number;
|
|
19
|
-
constructor({ id, order, servingTeam, events }:
|
|
19
|
+
constructor({ id, order, servingTeam, events }: RallyParams);
|
|
20
20
|
addEvent(event: RallyEvent): void;
|
|
21
21
|
}
|
|
22
22
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface PerformanceStatsParams {
|
|
2
2
|
readonly setting: number;
|
|
3
3
|
readonly pass: number;
|
|
4
4
|
readonly reception: number;
|
|
@@ -11,7 +11,7 @@ interface PerformanceStatsOpts {
|
|
|
11
11
|
readonly defense: number;
|
|
12
12
|
readonly stamina: number;
|
|
13
13
|
}
|
|
14
|
-
export declare class PerformanceStats {
|
|
14
|
+
export declare class PerformanceStats implements PerformanceStatsParams {
|
|
15
15
|
readonly setting: number;
|
|
16
16
|
readonly pass: number;
|
|
17
17
|
readonly reception: number;
|
|
@@ -23,7 +23,8 @@ export declare class PerformanceStats {
|
|
|
23
23
|
readonly serve: number;
|
|
24
24
|
readonly defense: number;
|
|
25
25
|
readonly stamina: number;
|
|
26
|
-
constructor(opts:
|
|
26
|
+
constructor(opts: PerformanceStatsParams);
|
|
27
27
|
toString(): string;
|
|
28
|
+
static fromAverage(average: number): PerformanceStats;
|
|
28
29
|
}
|
|
29
30
|
export {};
|
|
@@ -16,4 +16,19 @@ export class PerformanceStats {
|
|
|
16
16
|
toString() {
|
|
17
17
|
return getKeys(this).map(key => `${key}: ${this[key]}`).join(', ');
|
|
18
18
|
}
|
|
19
|
+
static fromAverage(average) {
|
|
20
|
+
return new PerformanceStats({
|
|
21
|
+
setting: average,
|
|
22
|
+
pass: average,
|
|
23
|
+
reception: average,
|
|
24
|
+
spike: average,
|
|
25
|
+
backAttack: average,
|
|
26
|
+
jump: average,
|
|
27
|
+
block: average,
|
|
28
|
+
awareness: average,
|
|
29
|
+
serve: average,
|
|
30
|
+
defense: average,
|
|
31
|
+
stamina: average
|
|
32
|
+
});
|
|
33
|
+
}
|
|
19
34
|
}
|
|
@@ -3,11 +3,16 @@ import { Role } from './role';
|
|
|
3
3
|
import { Trait } from './trait';
|
|
4
4
|
import { Country } from '../country';
|
|
5
5
|
import { GeneralStat } from './stats';
|
|
6
|
-
export
|
|
7
|
-
name: GeneralStat;
|
|
8
|
-
value: number;
|
|
6
|
+
export declare class Stat {
|
|
7
|
+
readonly name: GeneralStat;
|
|
8
|
+
readonly value: number;
|
|
9
|
+
constructor({ name, value }: {
|
|
10
|
+
name: GeneralStat;
|
|
11
|
+
value: number;
|
|
12
|
+
});
|
|
13
|
+
toString(): string;
|
|
9
14
|
}
|
|
10
|
-
interface
|
|
15
|
+
interface PlayerParams {
|
|
11
16
|
readonly id: string;
|
|
12
17
|
readonly name: Name;
|
|
13
18
|
readonly country: Country;
|
|
@@ -15,11 +20,16 @@ interface PlayerOpts {
|
|
|
15
20
|
readonly roles: Role[];
|
|
16
21
|
readonly traits: Trait[];
|
|
17
22
|
}
|
|
18
|
-
export
|
|
19
|
-
first: string;
|
|
20
|
-
last: string;
|
|
23
|
+
export declare class Name {
|
|
24
|
+
readonly first: string;
|
|
25
|
+
readonly last: string;
|
|
26
|
+
constructor({ first, last }: {
|
|
27
|
+
first: string;
|
|
28
|
+
last: string;
|
|
29
|
+
});
|
|
30
|
+
toString(): string;
|
|
21
31
|
}
|
|
22
|
-
export declare class Player {
|
|
32
|
+
export declare class Player implements PlayerParams {
|
|
23
33
|
readonly id: string;
|
|
24
34
|
readonly name: Name;
|
|
25
35
|
readonly country: Country;
|
|
@@ -27,9 +37,10 @@ export declare class Player {
|
|
|
27
37
|
readonly roles: Role[];
|
|
28
38
|
readonly traits: Trait[];
|
|
29
39
|
readonly generalStats: Stat[];
|
|
30
|
-
constructor({ id, name, country, stats, roles, traits }:
|
|
40
|
+
constructor({ id, name, country, stats, roles, traits }: PlayerParams);
|
|
31
41
|
static sortPlayers(roles: Role[]): (p1: Player, p2: Player) => number;
|
|
32
42
|
static compareStats(p1: Player, p2: Player): number;
|
|
33
43
|
canPlayLibero(): boolean;
|
|
44
|
+
toString(): string;
|
|
34
45
|
}
|
|
35
46
|
export {};
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import { Role } from './role';
|
|
2
2
|
import { validateUUID } from '../utils';
|
|
3
3
|
import { GeneralStat } from './stats';
|
|
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
|
+
}
|
|
4
22
|
export class Player {
|
|
5
23
|
constructor({ id, name, country, stats, roles, traits }) {
|
|
6
24
|
validateUUID(id);
|
|
@@ -52,4 +70,15 @@ export class Player {
|
|
|
52
70
|
canPlayLibero() {
|
|
53
71
|
return this.roles.includes(Role.LIBERO);
|
|
54
72
|
}
|
|
73
|
+
toString() {
|
|
74
|
+
return JSON.stringify({
|
|
75
|
+
id: this.id,
|
|
76
|
+
name: this.name.toString(),
|
|
77
|
+
country: this.country.toString(),
|
|
78
|
+
stats: this.stats.toString(),
|
|
79
|
+
roles: `[${this.roles.map(r => r.toString()).join(',')}]`,
|
|
80
|
+
traits: `[${this.traits.map(r => r.toString()).join(',')}]`,
|
|
81
|
+
generalStats: `[${this.generalStats.map(r => r.toString()).join(',')}]`
|
|
82
|
+
});
|
|
83
|
+
}
|
|
55
84
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PerformanceStats } from './performance-stats';
|
|
2
|
+
import { RoleType } from '../../data';
|
|
2
3
|
export declare class Role {
|
|
3
4
|
static readonly SETTER: Role;
|
|
4
5
|
static readonly LIBERO: Role;
|
|
@@ -7,8 +8,9 @@ export declare class Role {
|
|
|
7
8
|
static readonly MIDDLE_BLOCKER: Role;
|
|
8
9
|
static readonly DEFENSIVE_SPECIALIST: Role;
|
|
9
10
|
private static readonly ROLES;
|
|
10
|
-
readonly name:
|
|
11
|
+
readonly name: RoleType;
|
|
11
12
|
private constructor();
|
|
13
|
+
toString(): string;
|
|
12
14
|
static getRoles(): Role[];
|
|
13
15
|
static calculateScore(stats: PerformanceStats, role: Role): number;
|
|
14
16
|
static assignRoles(stats: PerformanceStats): Role[];
|
|
@@ -3,6 +3,9 @@ export class Role {
|
|
|
3
3
|
constructor(name) {
|
|
4
4
|
this.name = name;
|
|
5
5
|
}
|
|
6
|
+
toString() {
|
|
7
|
+
return this.name;
|
|
8
|
+
}
|
|
6
9
|
static getRoles() {
|
|
7
10
|
return [...Role.ROLES];
|
|
8
11
|
}
|
|
@@ -29,11 +32,11 @@ export class Role {
|
|
|
29
32
|
return out;
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
|
-
Role.SETTER = new Role('
|
|
33
|
-
Role.LIBERO = new Role('
|
|
34
|
-
Role.OUTSIDE_HITTER = new Role('
|
|
35
|
-
Role.OPPOSITE_HITTER = new Role('
|
|
36
|
-
Role.MIDDLE_BLOCKER = new Role('
|
|
37
|
-
Role.DEFENSIVE_SPECIALIST = new Role('
|
|
35
|
+
Role.SETTER = new Role('SETTER');
|
|
36
|
+
Role.LIBERO = new Role('LIBERO');
|
|
37
|
+
Role.OUTSIDE_HITTER = new Role('OUTSIDE_HITTER');
|
|
38
|
+
Role.OPPOSITE_HITTER = new Role('OPPOSITE_HITTER');
|
|
39
|
+
Role.MIDDLE_BLOCKER = new Role('MIDDLE_BLOCKER');
|
|
40
|
+
Role.DEFENSIVE_SPECIALIST = new Role('DEFENSIVE_SPECIALIST');
|
|
38
41
|
Role.ROLES = [Role.LIBERO, Role.SETTER, Role.OPPOSITE_HITTER, Role.OUTSIDE_HITTER, Role.MIDDLE_BLOCKER,
|
|
39
42
|
Role.DEFENSIVE_SPECIALIST];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PerformanceStats } from './performance-stats';
|
|
2
2
|
export declare enum GeneralStat {
|
|
3
|
-
ATTACK = "
|
|
4
|
-
DEFENSE = "
|
|
5
|
-
SERVE = "
|
|
6
|
-
PHYSICAL = "
|
|
3
|
+
ATTACK = "ATTACK",
|
|
4
|
+
DEFENSE = "DEFENSE",
|
|
5
|
+
SERVE = "SERVE",
|
|
6
|
+
PHYSICAL = "PHYSICAL"
|
|
7
7
|
}
|
|
8
8
|
export declare namespace GeneralStat {
|
|
9
9
|
function getStats(): GeneralStat[];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import stats from '../../../data/stat.formula.json';
|
|
2
2
|
export var GeneralStat;
|
|
3
3
|
(function (GeneralStat) {
|
|
4
|
-
GeneralStat["ATTACK"] = "
|
|
5
|
-
GeneralStat["DEFENSE"] = "
|
|
6
|
-
GeneralStat["SERVE"] = "
|
|
7
|
-
GeneralStat["PHYSICAL"] = "
|
|
4
|
+
GeneralStat["ATTACK"] = "ATTACK";
|
|
5
|
+
GeneralStat["DEFENSE"] = "DEFENSE";
|
|
6
|
+
GeneralStat["SERVE"] = "SERVE";
|
|
7
|
+
GeneralStat["PHYSICAL"] = "PHYSICAL";
|
|
8
8
|
})(GeneralStat || (GeneralStat = {}));
|
|
9
9
|
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
10
10
|
(function (GeneralStat) {
|
|
@@ -34,6 +34,16 @@ export class Trait {
|
|
|
34
34
|
return qualifiedTraits.sort((t1, t2) => t2.weight - t1.weight)
|
|
35
35
|
.slice(0, traitCount);
|
|
36
36
|
}
|
|
37
|
+
toString() {
|
|
38
|
+
return JSON.stringify({
|
|
39
|
+
name: this.name,
|
|
40
|
+
modifier: this.modifier,
|
|
41
|
+
statThreshold: this.statThreshold,
|
|
42
|
+
chance: this.chance,
|
|
43
|
+
stat: this.stat,
|
|
44
|
+
weight: this.weight
|
|
45
|
+
});
|
|
46
|
+
}
|
|
37
47
|
}
|
|
38
48
|
// A Setter gets a bonus to their score and the receiving attacker gets a bonus as well.
|
|
39
49
|
// Stacks with attacker bonus
|
|
@@ -2,7 +2,7 @@ import { Coach } from '../coach';
|
|
|
2
2
|
import { Player } from '../player';
|
|
3
3
|
import { Country } from '../country';
|
|
4
4
|
import { League } from '../competition';
|
|
5
|
-
interface
|
|
5
|
+
interface TeamParams {
|
|
6
6
|
readonly id: string;
|
|
7
7
|
readonly rating: number;
|
|
8
8
|
readonly name: string;
|
|
@@ -12,7 +12,7 @@ interface TeamOpts {
|
|
|
12
12
|
readonly league?: League;
|
|
13
13
|
readonly coach?: Coach;
|
|
14
14
|
}
|
|
15
|
-
export declare class Team {
|
|
15
|
+
export declare class Team implements TeamParams {
|
|
16
16
|
readonly id: string;
|
|
17
17
|
readonly roster: Player[];
|
|
18
18
|
readonly name: string;
|
|
@@ -21,7 +21,7 @@ export declare class Team {
|
|
|
21
21
|
readonly league?: League;
|
|
22
22
|
readonly country?: Country;
|
|
23
23
|
private _rating;
|
|
24
|
-
constructor({ id, rating, name, shortName, country, roster, coach, league }:
|
|
24
|
+
constructor({ id, rating, name, shortName, country, roster, coach, league }: TeamParams);
|
|
25
25
|
get rating(): number;
|
|
26
26
|
set rating(value: number);
|
|
27
27
|
isPlayerInRoster(player: Player): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "volleyballsimtypes",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.134",
|
|
4
4
|
"description": "vbsim types",
|
|
5
5
|
"main": "./dist/cjs/src/index.js",
|
|
6
6
|
"module": "./dist/esm/src/index.js",
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"ts-jest": "^29.0.5",
|
|
30
30
|
"ts-node": "^10.9.1",
|
|
31
31
|
"ts-standard": "^12.0.2",
|
|
32
|
-
"typescript": "^4.9.4"
|
|
32
|
+
"typescript": "^4.9.4",
|
|
33
|
+
"jest": "^29.7.0"
|
|
33
34
|
},
|
|
34
35
|
"dependencies": {
|
|
35
36
|
"@types/sequelize": "^4.28.15",
|