teeworlds 2.5.2 → 2.5.4

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/lib/snapshot.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { UUIDManager, createTwMD5Hash } from "./UUIDManager";
2
2
  import { Client } from "./client";
3
3
  import { MsgUnpacker } from "./MsgUnpacker";
4
- import { PlayerInput, PlayerInfo, Projectile, Laser, Pickup, Flag, GameInfo, GameData, CharacterCore, Character, ClientInfo, SpectatorInfo, Common, Explosion, Spawn, HammerHit, Death, SoundGlobal, SoundWorld, DamageInd, MyOwnObject, DDNetCharacter, DDNetPlayer, GameInfoEx, DDNetProjectile, DDNetLaser } from "./snapshots";
4
+ import { SnapshotItemTypes, DeltaItem, DDNetItem, Item } from "./enums_types/types";
5
5
  var decoder = new TextDecoder('utf-8');
6
6
 
7
7
  const ___itemAppendix: {"type_id": number, "size": number, "name": string}[] = [ // only used for the events underneath. the actual itemAppendix below this is only used for size
@@ -75,8 +75,6 @@ export enum items {
75
75
  EVENT_DAMAGE_INDICATOR
76
76
  }
77
77
 
78
- export declare type Item = PlayerInput | PlayerInfo | Projectile | Laser | Pickup | Flag | GameInfo | GameData | CharacterCore | Character | PlayerInfo | ClientInfo | SpectatorInfo | Common | Explosion | Spawn |HammerHit | Death | SoundGlobal | SoundWorld | DamageInd;
79
- export declare type DDNetItem = MyOwnObject | DDNetCharacter | DDNetPlayer | GameInfoEx | DDNetProjectile | DDNetLaser;
80
78
  interface eSnap {
81
79
  Snapshot: {Key: number, Data: number[]},
82
80
  ack: number,
@@ -93,7 +91,7 @@ let supported_uuids = [
93
91
  ]
94
92
 
95
93
  export class Snapshot {
96
- deltas: {'data': number[], 'parsed': Item | DDNetItem, 'type_id': number, 'id': number, 'key': number}[] = [];
94
+ deltas: DeltaItem[] = [];
97
95
  eSnapHolder: eSnap[] = [];
98
96
  crc_errors: number = 0;
99
97
  client: Client;
@@ -128,7 +126,7 @@ export class Snapshot {
128
126
  if (this.uuid_manager.LookupType(Type)?.name == "my-own-object@heinrich5991.de") {
129
127
  _item = {
130
128
  m_Test: data[0]
131
- } as MyOwnObject;
129
+ } as SnapshotItemTypes.MyOwnObject;
132
130
  } else if (this.uuid_manager.LookupType(Type)?.name == "character@netobj.ddnet.tw") {
133
131
  _item = {
134
132
  m_Flags: data[0],
@@ -147,21 +145,21 @@ export class Snapshot {
147
145
  m_TargetY: data[9] ?? null,
148
146
  id: id
149
147
 
150
- } as DDNetCharacter;
148
+ } as SnapshotItemTypes.DDNetCharacter;
151
149
  }
152
150
  else if (this.uuid_manager.LookupType(Type)?.name == "player@netobj.ddnet.tw") {
153
151
  _item = {
154
152
  m_Flags: data[0],
155
153
  m_AuthLevel: data[1],
156
154
  id: id
157
- } as DDNetPlayer
155
+ } as SnapshotItemTypes.DDNetPlayer
158
156
  }
159
157
  else if (this.uuid_manager.LookupType(Type)?.name == "gameinfo@netobj.ddnet.tw") {
160
158
  _item = {
161
159
  m_Flags: data[0],
162
160
  m_Version: data[1],
163
161
  m_Flags2: data[2]
164
- } as GameInfoEx
162
+ } as SnapshotItemTypes.GameInfoEx
165
163
  }
166
164
  else if (this.uuid_manager.LookupType(Type)?.name == "projectile@netobj.ddnet.tw") {
167
165
  _item = {
@@ -171,7 +169,7 @@ export class Snapshot {
171
169
  m_Data: data[3],
172
170
  m_Type: data[3],
173
171
  m_StartTick: data[3]
174
- } as DDNetProjectile
172
+ } as SnapshotItemTypes.DDNetProjectile
175
173
  }
176
174
  else if (this.uuid_manager.LookupType(Type)?.name == "laser@netobj.ddnet.tw") {
177
175
  _item = {
@@ -181,7 +179,7 @@ export class Snapshot {
181
179
  m_FromY: data[3],
182
180
  m_Owner: data[3],
183
181
  m_Type: data[3]
184
- } as DDNetLaser
182
+ } as SnapshotItemTypes.DDNetLaser
185
183
  }
186
184
  return _item;
187
185
  }
@@ -200,7 +198,7 @@ export class Snapshot {
200
198
  wanted_weapon: data[7],
201
199
  next_weapon: data[8],
202
200
  prev_weapon: data[9],
203
- } as PlayerInput
201
+ } as SnapshotItemTypes.PlayerInput
204
202
  break;
205
203
  case items.OBJ_PROJECTILE:
206
204
  _item = {
@@ -210,7 +208,7 @@ export class Snapshot {
210
208
  vel_y: data[3],
211
209
  type_: data[4],
212
210
  start_tick: data[5],
213
- } as Projectile
211
+ } as SnapshotItemTypes.Projectile
214
212
  break;
215
213
  case items.OBJ_LASER:
216
214
  _item = {
@@ -219,7 +217,7 @@ export class Snapshot {
219
217
  from_x: data[2],
220
218
  from_y: data[3],
221
219
  start_tick: data[4],
222
- } as Laser
220
+ } as SnapshotItemTypes.Laser
223
221
  break;
224
222
  case items.OBJ_PICKUP:
225
223
  _item = {
@@ -227,14 +225,14 @@ export class Snapshot {
227
225
  y: data[1],
228
226
  type_: data[2],
229
227
  subtype: data[3],
230
- } as Pickup
228
+ } as SnapshotItemTypes.Pickup
231
229
  break;
232
230
  case items.OBJ_FLAG:
233
231
  _item = {
234
232
  x: data[0],
235
233
  y: data[1],
236
234
  team: data[2],
237
- } as Flag
235
+ } as SnapshotItemTypes.Flag
238
236
  break;
239
237
  case items.OBJ_GAME_INFO:
240
238
  _item = {
@@ -247,7 +245,7 @@ export class Snapshot {
247
245
  round_num: data[6],
248
246
  round_current: data[7],
249
247
 
250
- } as GameInfo
248
+ } as SnapshotItemTypes.GameInfo
251
249
  break;
252
250
  case items.OBJ_GAME_DATA:
253
251
  _item = {
@@ -255,7 +253,7 @@ export class Snapshot {
255
253
  teamscore_blue: data[1],
256
254
  flag_carrier_red: data[2],
257
255
  flag_carrier_blue: data[3],
258
- } as GameData
256
+ } as SnapshotItemTypes.GameData
259
257
  break;
260
258
  case items.OBJ_CHARACTER_CORE:
261
259
  _item = {
@@ -274,7 +272,7 @@ export class Snapshot {
274
272
  hook_y: data[12],
275
273
  hook_dx: data[13],
276
274
  hook_dy: data[14],
277
- } as CharacterCore
275
+ } as SnapshotItemTypes.CharacterCore
278
276
  break;
279
277
  case items.OBJ_CHARACTER:
280
278
  _item = {
@@ -294,7 +292,7 @@ export class Snapshot {
294
292
  hook_y: data[12],
295
293
  hook_dx: data[13],
296
294
  hook_dy: data[14],
297
- } as CharacterCore,
295
+ } as SnapshotItemTypes.CharacterCore,
298
296
  player_flags: data[15],
299
297
  health: data[16],
300
298
  armor: data[17],
@@ -304,7 +302,7 @@ export class Snapshot {
304
302
  attack_tick: data[21],
305
303
 
306
304
  client_id: id
307
- } as Character
305
+ } as SnapshotItemTypes.Character
308
306
  break;
309
307
  case items.OBJ_PLAYER_INFO:
310
308
  _item = {
@@ -313,7 +311,7 @@ export class Snapshot {
313
311
  team: data[2],
314
312
  score: data[3],
315
313
  latency: data[4],
316
- } as PlayerInfo
314
+ } as SnapshotItemTypes.PlayerInfo
317
315
  break;
318
316
  case items.OBJ_CLIENT_INFO:
319
317
  _item = {
@@ -325,44 +323,44 @@ export class Snapshot {
325
323
  color_body: Number(data.slice(15, 16)),
326
324
  color_feet: Number(data.slice(16, 17)),
327
325
  id: id
328
- } as ClientInfo
326
+ } as SnapshotItemTypes.ClientInfo
329
327
  break;
330
328
  case items.OBJ_SPECTATOR_INFO:
331
329
  _item = {
332
330
  spectator_id: data[0],
333
331
  x: data[1],
334
332
  y: data[2],
335
- } as SpectatorInfo
333
+ } as SnapshotItemTypes.SpectatorInfo
336
334
  break;
337
335
  case items.EVENT_COMMON:
338
336
  _item = {
339
337
  x: data[0],
340
338
  y: data[1],
341
- } as Common
339
+ } as SnapshotItemTypes.Common
342
340
  break;
343
341
  case items.EVENT_EXPLOSION:
344
342
  _item = {
345
343
  common: {
346
344
  x: data[0],
347
345
  y: data[1]
348
- } as Common
349
- } as Explosion
346
+ } as SnapshotItemTypes.Common
347
+ } as SnapshotItemTypes.Explosion
350
348
  break;
351
349
  case items.EVENT_SPAWN:
352
350
  _item = {
353
351
  common: {
354
352
  x: data[0],
355
353
  y: data[1]
356
- } as Common
357
- } as Spawn
354
+ } as SnapshotItemTypes.Common
355
+ } as SnapshotItemTypes.Spawn
358
356
  break;
359
357
  case items.EVENT_HAMMERHIT:
360
358
  _item = {
361
359
  common: {
362
360
  x: data[0],
363
361
  y: data[1]
364
- } as Common
365
- } as HammerHit
362
+ } as SnapshotItemTypes.Common
363
+ } as SnapshotItemTypes.HammerHit
366
364
  break;
367
365
  case items.EVENT_DEATH:
368
366
  _item = {
@@ -370,26 +368,26 @@ export class Snapshot {
370
368
  common: {
371
369
  x: data[1],
372
370
  y: data[2]
373
- } as Common
374
- } as Death
371
+ } as SnapshotItemTypes.Common
372
+ } as SnapshotItemTypes.Death
375
373
  break;
376
374
  case items.EVENT_SOUND_GLOBAL:
377
375
  _item = {
378
376
  common: {
379
377
  x: data[0],
380
378
  y: data[1]
381
- } as Common,
379
+ } as SnapshotItemTypes.Common,
382
380
  sound_id: data[2]
383
- } as SoundGlobal
381
+ } as SnapshotItemTypes.SoundGlobal
384
382
  break;
385
383
  case items.EVENT_SOUND_WORLD:
386
384
  _item = {
387
385
  common: {
388
386
  x: data[0],
389
387
  y: data[1]
390
- } as Common,
388
+ } as SnapshotItemTypes.Common,
391
389
  sound_id: data[2]
392
- } as SoundWorld
390
+ } as SnapshotItemTypes.SoundWorld
393
391
  break;
394
392
  case items.EVENT_DAMAGE_INDICATOR:
395
393
  _item = {
@@ -397,8 +395,8 @@ export class Snapshot {
397
395
  common: {
398
396
  x: data[0],
399
397
  y: data[1]
400
- } as Common,
401
- } as DamageInd
398
+ } as SnapshotItemTypes.Common,
399
+ } as SnapshotItemTypes.DamageInd
402
400
  break;
403
401
 
404
402
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teeworlds",
3
- "version": "2.5.2",
3
+ "version": "2.5.4",
4
4
  "description": "Library for (ingame) teeworlds bots.",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
@@ -1,233 +0,0 @@
1
- export declare interface PlayerInput {
2
- direction: number,
3
- target_x: number,
4
- target_y: number,
5
- jump: number,
6
- fire: number,
7
- hook: number,
8
- player_flags: number,
9
- wanted_weapon: number,
10
- next_weapon: number,
11
- prev_weapon: number,
12
- }
13
-
14
- export declare interface Projectile {
15
- x: number,
16
- y: number,
17
- vel_x: number,
18
- vel_y: number,
19
- type_: number,
20
- start_tick: number,
21
- }
22
-
23
- export declare interface Laser {
24
- x: number,
25
- y: number,
26
- from_x: number,
27
- from_y: number,
28
- start_tick: number,
29
- }
30
-
31
- export declare interface Pickup {
32
- x: number,
33
- y: number,
34
- type_: number,
35
- subtype: number,
36
- }
37
-
38
- export declare interface Flag {
39
- x: number,
40
- y: number,
41
- team: number,
42
- }
43
-
44
- export declare interface GameInfo {
45
- game_flags: number,
46
- game_state_flags: number,
47
- round_start_tick: number,
48
- warmup_timer: number,
49
- score_limit: number,
50
- time_limit: number,
51
- round_num: number,
52
- round_current: number,
53
- }
54
-
55
- export declare interface GameData {
56
- teamscore_red: number,
57
- teamscore_blue: number,
58
- flag_carrier_red: number,
59
- flag_carrier_blue: number,
60
- }
61
-
62
- export declare interface CharacterCore {
63
- tick: number,
64
- x: number,
65
- y: number,
66
- vel_x: number,
67
- vel_y: number,
68
- angle: number,
69
- direction: number,
70
- jumped: number,
71
- hooked_player: number,
72
- hook_state: number,
73
- hook_tick: number,
74
- hook_x: number,
75
- hook_y: number,
76
- hook_dx: number,
77
- hook_dy: number,
78
- }
79
-
80
- export declare interface Character {
81
- character_core: CharacterCore,
82
- player_flags: number,
83
- health: number,
84
- armor: number,
85
- ammo_count: number,
86
- weapon: number,
87
- emote: number,
88
- attack_tick: number,
89
-
90
- client_id: number
91
- }
92
-
93
- export declare interface PlayerInfo {
94
- local: number,
95
- client_id: number,
96
- team: number,
97
- score: number,
98
- latency: number,
99
- }
100
-
101
- export declare interface ClientInfo {
102
- name: string,
103
- clan: string,
104
- country: number,
105
- skin: string,
106
- use_custom_color: number,
107
- color_body: number,
108
- color_feet: number,
109
-
110
- id: number
111
- }
112
-
113
- export declare interface SpectatorInfo {
114
- spectator_id: number,
115
- x: number,
116
- y: number,
117
- }
118
-
119
- export declare interface Common {
120
- x: number,
121
- y: number,
122
- }
123
-
124
- export declare interface Explosion {
125
- common: Common,
126
- }
127
-
128
- export declare interface Spawn {
129
- common: Common,
130
- }
131
-
132
- export declare interface HammerHit {
133
- common: Common,
134
- }
135
-
136
- export declare interface Death {
137
- common: Common,
138
- client_id: number,
139
- }
140
-
141
- export declare interface SoundGlobal {
142
- common: Common,
143
- sound_id: number,
144
- }
145
-
146
- export declare interface SoundWorld {
147
- common: Common,
148
- sound_id: number,
149
- }
150
-
151
- export declare interface DamageInd {
152
- common: Common,
153
- angle: number,
154
- }
155
- export declare enum items {
156
- OBJ_EX,
157
- OBJ_PLAYER_INPUT,
158
- OBJ_PROJECTILE,
159
- OBJ_LASER,
160
- OBJ_PICKUP,
161
- OBJ_FLAG,
162
- OBJ_GAME_INFO,
163
- OBJ_GAME_DATA,
164
- OBJ_CHARACTER_CORE,
165
- OBJ_CHARACTER,
166
- OBJ_PLAYER_INFO,
167
- OBJ_CLIENT_INFO,
168
- OBJ_SPECTATOR_INFO,
169
- EVENT_COMMON,
170
- EVENT_EXPLOSION,
171
- EVENT_SPAWN,
172
- EVENT_HAMMERHIT,
173
- EVENT_DEATH,
174
- EVENT_SOUND_GLOBAL,
175
- EVENT_SOUND_WORLD,
176
- EVENT_DAMAGE_INDICATOR
177
- }
178
-
179
- export declare interface MyOwnObject {
180
- m_Test: number
181
- }
182
-
183
- export declare interface DDNetCharacter {
184
- m_Flags: number,
185
- m_FreezeEnd: number,
186
- m_Jumps: number,
187
- m_TeleCheckpoint: number,
188
- m_StrongWeakID: number,
189
-
190
- // # New data fields for jump display, freeze bar and ninja bar
191
- // # Default values indicate that these values should not be used
192
- m_JumpedTotal?: number,
193
- m_NinjaActivationTick?: number,
194
- m_FreezeStart?: number,
195
- // # New data fields for improved target accuracy
196
- m_TargetX?: number,
197
- m_TargetY?: number,
198
- id: number
199
- } //, validate_size=False),
200
- /** m_AuthLevel "AUTHED_NO", "AUTHED_ADMIN" */
201
- export declare interface DDNetPlayer {
202
- m_Flags: number,
203
- m_AuthLevel: number,
204
- id: number
205
- }
206
-
207
- export declare interface GameInfoEx {
208
-
209
- m_Flags: number,
210
- m_Version: number,
211
- m_Flags2: number,
212
- }//, validate_size=False),
213
-
214
- // # The code assumes that this has the same in-memory representation as
215
- // # the Projectile net object.
216
- export declare interface DDNetProjectile {
217
- m_X: number,
218
- m_Y: number,
219
- m_Angle: number,
220
- m_Data: number,
221
- m_Type: number,
222
- m_StartTick: number,
223
- }
224
-
225
- export declare interface DDNetLaser {
226
- m_ToX: number,
227
- m_ToY: number,
228
- m_FromX: number,
229
- m_FromY: number,
230
- m_StartTick: number,
231
- m_Owner: number,
232
- m_Type: number,
233
- }