Skip to content

Commit 4d41bc0

Browse files
committed
Expose more player statistic fields
1 parent 3cc8a43 commit 4d41bc0

File tree

3 files changed

+40
-4
lines changed

3 files changed

+40
-4
lines changed

src/index.spec.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,16 @@ describe('CFToolsClient', () => {
5656

5757
it('returns player for CFTools ID', async () => {
5858
await expect(client.getPlayerDetails(existingCfToolsId)).resolves.toStrictEqual({
59-
names: ['FlorianSW']
59+
names: ['FlorianSW'],
60+
playtime: expect.any(Number),
61+
sessions: expect.any(Number),
62+
statistics: {
63+
infectedDeaths: expect.any(Number),
64+
deaths: expect.any(Number),
65+
kills: expect.any(Number),
66+
environmentDeaths: expect.any(Number),
67+
suicides: expect.any(Number),
68+
}
6069
} as Player);
6170
});
6271

@@ -163,7 +172,7 @@ describe('CFToolsClient', () => {
163172
});
164173

165174
expect(server).toMatchObject({
166-
name: 'go2tech.de Rostow [GT2][Expansion|Trader|Weapons Mod]',
175+
name: 'Rostow by go2tech.de [GT2][BaseBuilding|Trader|Weapons Mod]',
167176
host: {
168177
address: ip,
169178
gamePort: 2302,
@@ -186,7 +195,7 @@ describe('CFToolsClient', () => {
186195
},
187196
timeAcceleration: {
188197
general: 12.0,
189-
night: 1.0,
198+
night: 2.0,
190199
},
191200
},
192201
geolocation: {

src/index.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,10 @@ interface GetPlayerResponse {
6666
},
6767
game: {
6868
general: {
69+
kills: number,
70+
deaths: number,
6971
environment_deaths: number,
72+
infected_deaths: number,
7073
suicides: number,
7174
}
7275
}
@@ -215,8 +218,18 @@ class GotCFToolsClient implements CFToolsClient {
215218
}
216219
}
217220
);
221+
const player = response[id.id];
218222
return {
219-
names: response[id.id].omega.name_history,
223+
names: player.omega.name_history,
224+
statistics: {
225+
kills: player.game.general.kills || 0,
226+
deaths: player.game.general.deaths || 0,
227+
suicides: player.game.general.suicides || 0,
228+
environmentDeaths: player.game.general.environment_deaths || 0,
229+
infectedDeaths: player.game.general.infected_deaths || 0,
230+
},
231+
playtime: player.omega.playtime,
232+
sessions: player.omega.sessions,
220233
};
221234
}
222235

src/types.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,20 @@ export interface PutPriorityQueueItemRequest extends OverrideServerApiId {
171171

172172
export interface Player {
173173
names: string[],
174+
statistics: PlayerStatistics,
175+
/**
176+
* Playtime in seconds
177+
*/
178+
playtime: number,
179+
sessions: number,
180+
}
181+
182+
export interface PlayerStatistics {
183+
environmentDeaths: number,
184+
infectedDeaths: number,
185+
suicides: number,
186+
kills: number,
187+
deaths: number,
174188
}
175189

176190
export enum Game {

0 commit comments

Comments
 (0)