yolkbot 0.1.0-alpha.9 → 0.1.1-alpha.10

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 (49) hide show
  1. package/build/browser.js +6 -6
  2. package/package.json +29 -9
  3. package/src/api.js +97 -23
  4. package/src/bot/GamePlayer.js +2 -2
  5. package/src/bot.js +888 -481
  6. package/src/comm/Codes.js +73 -0
  7. package/src/constants/challenges.js +1822 -0
  8. package/src/constants/index.js +25 -1
  9. package/src/constants/items.js +663 -264
  10. package/src/constants/maps.js +57 -18
  11. package/src/dispatches/BootPlayerDispatch.js +1 -1
  12. package/src/dispatches/ChatDispatch.js +1 -1
  13. package/src/dispatches/GameOptionsDispatch.js +1 -1
  14. package/src/dispatches/GoToAmmoDispatch.js +44 -0
  15. package/src/dispatches/GoToCoopDispatch.js +44 -0
  16. package/src/dispatches/GoToGrenadeDispatch.js +44 -0
  17. package/src/dispatches/GoToPlayerDispatch.js +5 -1
  18. package/src/dispatches/GoToSpatulaDispatch.js +5 -1
  19. package/src/dispatches/LookAtPosDispatch.js +0 -2
  20. package/src/dispatches/LookDispatch2.js +18 -0
  21. package/src/dispatches/MeleeDispatch.js +1 -1
  22. package/src/dispatches/PauseDispatch.js +1 -1
  23. package/src/dispatches/ReloadDispatch.js +14 -2
  24. package/src/dispatches/ReportPlayerDispatch.js +1 -1
  25. package/src/dispatches/SaveLoadoutDispatch.js +11 -34
  26. package/src/dispatches/SpawnDispatch.js +1 -1
  27. package/src/dispatches/SwapWeaponDispatch.js +1 -1
  28. package/src/dispatches/SwitchTeamDispatch.js +1 -1
  29. package/src/dispatches/ThrowGrenadeDispatch.js +1 -1
  30. package/src/dispatches/index.js +9 -0
  31. package/src/matchmaker.js +13 -7
  32. package/src/pathing/mapnode.js +89 -250
  33. package/src/socket.js +2 -3
  34. package/src/types/api.d.ts +2 -16
  35. package/src/types/bot/GamePlayer.d.ts +25 -21
  36. package/src/types/bot.d.ts +125 -54
  37. package/src/types/constants/challenges.d.ts +19 -0
  38. package/src/types/constants/guns.d.ts +240 -0
  39. package/src/types/constants/index.d.ts +102 -0
  40. package/src/types/constants/items.d.ts +21 -0
  41. package/src/types/constants/maps.d.ts +15 -0
  42. package/src/types/dispatches/GoToAmmoDispatch.d.ts +8 -0
  43. package/src/types/dispatches/GoToCoopDispatch.d.ts +8 -0
  44. package/src/types/dispatches/GoToGrenadeDispatch.d.ts +8 -0
  45. package/src/types/dispatches/MovementDispatch.d.ts +2 -0
  46. package/src/types/dispatches/index.d.ts +45 -1
  47. package/src/types/matchmaker.d.ts +19 -14
  48. package/src/types/socket.d.ts +7 -0
  49. package/src/types/gun.d.ts +0 -131
@@ -1,25 +1,72 @@
1
1
  import { NodeList } from '../pathing/mapnode.js';
2
- import { yolkws } from '../socket.js';
3
2
 
4
3
  import { Character, GamePlayer } from './bot/GamePlayer';
5
- import { Gun } from './gun';
6
- import { Matchmaker } from './matchmaker';
4
+ import { Challenge } from './constants/challenges';
5
+ import { AnyGun } from './constants/guns';
6
+ import { Map } from './constants/maps';
7
+ import { ADispatch } from './dispatches/index';
8
+ import { Matchmaker, RawGameData } from './matchmaker';
9
+ import yolkws from './socket';
7
10
 
8
11
  export interface BotParams {
9
- name?: string;
10
- proxy?: string;
12
+ intents?: number[];
11
13
  doUpdate?: boolean;
12
14
  updateInterval?: number;
13
- doPing?: boolean;
14
- pingInterval?: number;
15
- doPathing?: boolean;
15
+ proxy?: string;
16
16
  instance?: string;
17
17
  }
18
18
 
19
+ export interface ChiknWinnerStatus {
20
+ atLimit: boolean;
21
+ limit: number;
22
+ secondsUntilPlay: number;
23
+ canPlayAgain: number;
24
+ }
25
+
26
+ export interface StatKD {
27
+ total: number;
28
+ mode: {
29
+ public: number;
30
+ private: number;
31
+ };
32
+ dmgType: {
33
+ pistol: number;
34
+ grenade: number;
35
+ rpegg: number;
36
+ eggk: number;
37
+ scrambler: number;
38
+ ranger: number;
39
+ whpper: number;
40
+ crackshot: number;
41
+ trihard: number;
42
+ melee: number;
43
+ };
44
+ gameType: {
45
+ kotc: number;
46
+ spatula: number;
47
+ ffa: number;
48
+ team: number;
49
+ }
50
+ }
51
+
52
+ export interface Stats {
53
+ streak: number;
54
+ kills: StatKD;
55
+ deaths: StatKD;
56
+ gameType: {
57
+ kotc: {
58
+ captured: number;
59
+ wins: number;
60
+ }
61
+ };
62
+ }
63
+
19
64
  export interface Account {
65
+ id: number;
20
66
  firebaseId: string;
21
67
  sessionId: string;
22
68
  session: string;
69
+ cw: ChiknWinnerStatus;
23
70
  loadout: {
24
71
  hatId: number | null;
25
72
  meleeId: number;
@@ -37,7 +84,12 @@ export interface Account {
37
84
  accountAge: number;
38
85
  emailVerified: boolean;
39
86
  eggBalance: number;
40
- rawLoginData: any;
87
+ stats: {
88
+ lifetime: Stats;
89
+ monthly: Stats;
90
+ }
91
+ challenges: Challenge[];
92
+ rawLoginData: any; // i ain't typing allat
41
93
  }
42
94
 
43
95
  export interface GameOptions {
@@ -51,30 +103,6 @@ export interface GameOptions {
51
103
  mustUseSecondary: boolean;
52
104
  }
53
105
 
54
- export interface RawGameData {
55
- command: 'gameFound';
56
- region: string;
57
- subdomain: string;
58
- id: string;
59
- uuid: string;
60
- private: boolean;
61
- noobLobby: boolean;
62
- }
63
-
64
- export interface RawMapData {
65
- filename: string;
66
- hash: string;
67
- name: string;
68
- modes: {
69
- FFA: boolean;
70
- Teams: boolean;
71
- Spatula: boolean;
72
- King?: boolean;
73
- };
74
- availability: string;
75
- numPlayers: string;
76
- }
77
-
78
106
  export interface Collectable {
79
107
  id: number;
80
108
  x: number;
@@ -82,6 +110,13 @@ export interface Collectable {
82
110
  z: number;
83
111
  }
84
112
 
113
+ export interface Zone {
114
+ x: number;
115
+ y: number;
116
+ z: number;
117
+ zone: number;
118
+ }
119
+
85
120
  export interface Game {
86
121
  raw: RawGameData;
87
122
  code: string;
@@ -100,8 +135,8 @@ export interface Game {
100
135
  };
101
136
  availability: string;
102
137
  numPlayers: string;
103
- raw: RawMapData;
104
- nodes: any;
138
+ raw: Map;
139
+ zones: Zone[][];
105
140
  };
106
141
  playerLimit: number;
107
142
  isGameOwner: boolean;
@@ -115,12 +150,14 @@ export interface Game {
115
150
  controlledByTeam: number;
116
151
  };
117
152
  stage: number;
118
- activeZone: number;
153
+ zoneNumber: number;
154
+ activeZone: Zone[];
119
155
  capturing: number;
120
156
  captureProgress: number;
121
157
  numCapturing: number;
122
158
  stageName: string;
123
159
  capturePercent: number;
160
+ socket: yolkws | null;
124
161
  }
125
162
 
126
163
  export interface Pathing {
@@ -132,22 +169,37 @@ export interface Pathing {
132
169
  }
133
170
 
134
171
  export interface BotState {
135
- loggedIn: boolean;
136
- gameFound: boolean;
172
+ name: string;
137
173
  reloading: boolean;
138
174
  swappingGun: boolean;
139
175
  usingMelee: boolean;
140
176
  shotsFired: number;
141
- joinedGame?: boolean;
177
+ }
178
+
179
+ export interface ChiknWinnerResponse {
180
+ eggsGiven: number;
181
+ itemIds: number[];
182
+ rewardTier: number;
183
+ }
184
+
185
+ type intents = {
186
+ CHALLENGES: 1,
187
+ STATS: 2,
188
+ PATHFINDING: 3,
189
+ BUFFERS: 4,
190
+ PING: 5,
191
+ COSMETIC_DATA: 6,
192
+ PLAYER_HEALTH: 7,
193
+ PACKET_HOOK: 8
142
194
  }
143
195
 
144
196
  export class Bot {
197
+ static Intents: intents;
198
+ Intents: intents;
199
+
145
200
  proxy: string;
146
- name: string;
147
- autoPing: boolean;
148
201
  autoUpdate: boolean;
149
202
  disablePathing: boolean;
150
- pingInterval: number;
151
203
  updateInterval: number;
152
204
  instance: string;
153
205
  state: BotState;
@@ -155,62 +207,81 @@ export class Bot {
155
207
  me: GamePlayer;
156
208
  game: Game;
157
209
  account: Account;
158
- gameSocket: yolkws | null;
159
210
  ping: number;
160
211
  lastPingTime: number;
161
212
  lastDeathTime: number;
162
213
  lastChatTime: number;
163
214
  lastUpdateTime: number;
164
- nUpdates: number;
165
215
  controlKeys: number;
166
- initTime: number;
167
216
  pathing: Pathing;
168
217
  matchmaker: Matchmaker | null;
169
218
 
170
219
  constructor(params?: BotParams);
171
220
 
221
+ loginAnonymously(): Promise<Account | false>;
222
+ loginWithRefreshToken(refreshToken: string): Promise<Account | false>;
172
223
  login(email: string, pass: string): Promise<Account | false>;
173
- dispatch(disp: any): void;
174
- drain(): void;
224
+ createAccount(email: string, pass: string): Promise<Account | false>;
225
+
175
226
  initMatchmaker(): Promise<boolean>;
176
227
  createPrivateGame(opts: { region: string; mode: string; map: string }): Promise<RawGameData>;
177
- join(data: string | RawGameData): Promise<void>;
228
+ join(botName: string, data: string | RawGameData): Promise<void>;
229
+
230
+ dispatch(disp: ADispatch): void;
178
231
  update(): void;
179
- on(event: string, cb: Function): void;
232
+
233
+ canSee(player: GamePlayer): boolean;
234
+ getBestTarget(): GamePlayer | undefined;
235
+
180
236
  onAny(cb: Function): void;
181
-
237
+
182
238
  on(event: 'authFail', cb: (reason: string) => void): void;
183
239
  on(event: 'balanceUpdate', cb: (oldBalance: number, newBalance: number) => void): void;
184
240
  on(event: 'banned', cb: (banRemaining: string) => void): void;
185
- on(event: 'chat', cb: (player: GamePlayer, message: string, flags: number) => void): void;
241
+ on(event: 'chat', cb: (player: GamePlayer | undefined, message: string, flags: number) => void): void;
186
242
  on(event: 'close', cb: (code: number) => void): void;
187
- on(event: 'collectAmmo', cb: (player: GamePlayer, weapon: Gun) => void): void;
243
+ on(event: 'collectAmmo', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
188
244
  on(event: 'collectGrenade', cb: (player: GamePlayer) => void): void;
189
245
  on(event: 'gameForcePause', cb: () => void): void;
190
246
  on(event: 'gameOptionsChange', cb: (oldOptions: GameOptions, newOptions: GameOptions) => void): void;
191
247
  on(event: 'gameReset', cb: () => void): void;
192
248
  on(event: 'gameStateChange', cb: (oldState: Game, newState: Game) => void): void;
249
+ on(event: 'grenadeExploded', cb: (item: Item | number, pos: { x: number; y: number; z: number }, damage: number, radius: number) => void): void;
193
250
  on(event: 'pingUpdate', cb: (oldPing: number, newPing: number) => void): void;
194
251
  on(event: 'playerBeginStreak', cb: (player: GamePlayer, streak: number) => void): void;
195
252
  on(event: 'playerChangeCharacter', cb: (player: GamePlayer, oldCharacter: Character, newCharacter: Character) => void): void;
196
253
  on(event: 'playerChangeGun', cb: (player: GamePlayer, oldGun: number, newGun: number) => void): void;
197
254
  on(event: 'playerDamaged', cb: (player: GamePlayer, oldHp: number, newHp: number) => void): void;
198
255
  on(event: 'playerDeath', cb: (player: GamePlayer, killer: GamePlayer) => void): void;
199
- on(event: 'playerFire', cb: (player: GamePlayer, weapon: Gun) => void): void;
256
+ on(event: 'playerFire', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
200
257
  on(event: 'playerJoin', cb: (player: GamePlayer) => void): void;
201
258
  on(event: 'playerLeave', cb: (player: GamePlayer) => void): void;
202
259
  on(event: 'playerMelee', cb: (player: GamePlayer) => void): void;
203
260
  on(event: 'playerPause', cb: (player: GamePlayer) => void): void;
204
- on(event: 'playerReload', cb: (player: GamePlayer, weapon: Gun) => void): void;
261
+ on(event: 'playerReload', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
205
262
  on(event: 'playerRespawn', cb: (player: GamePlayer) => void): void;
206
263
  on(event: 'playerSwapWeapon', cb: (player: GamePlayer, nowActive: number) => void): void;
207
264
  on(event: 'playerSwitchTeam', cb: (player: GamePlayer, oldTeam: number, newTeam: number) => void): void;
265
+ on(event: 'rocketHit', cb: (pos: { x: number; y: number; z: number }, damage: number, radius: number) => void): void;
208
266
  on(event: 'selfDamaged', cb: (oldHp: number, newHp: number) => void): void;
209
267
  on(event: 'selfMoved', cb: (oldPos: { x: number; y: number; z: number }, newPos: { x: number; y: number; z: number }) => void): void;
210
268
  on(event: 'selfRespawnFail', cb: () => void): void;
211
269
  on(event: 'selfShieldHit', cb: (oldShield: number, newShield: number) => void): void;
212
270
  on(event: 'selfShieldLost', cb: () => void): void;
213
271
  on(event: 'spawnItem', cb: (type: number, _id: number, pos: { x: number; y: number; z: number }) => void): void;
272
+ on(event: 'tick', cb: () => void): void;
273
+
274
+ checkChiknWinner(): Promise<ChiknWinnerStatus>;
275
+ playChiknWinner(): Promise<ChiknWinnerResponse | string>;
276
+ resetChiknWinner(): Promise<ChiknWinnerStatus>;
277
+
278
+ refreshBalance(): Promise<number>;
279
+ redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
280
+ claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
281
+ claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
282
+ buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; }>;
283
+
284
+ quit(noCleanup?: boolean): void;
214
285
  }
215
286
 
216
287
  export default Bot;
@@ -0,0 +1,19 @@
1
+ export interface Challenge {
2
+ id: number;
3
+ loc_ref: string;
4
+ type: number;
5
+ subType: number;
6
+ period: number;
7
+ goal: number;
8
+ reward: number;
9
+ conditional: number;
10
+ value: string;
11
+ valueTwo: string | null;
12
+ tier: number;
13
+ loc: {
14
+ title: string;
15
+ desc: string;
16
+ }
17
+ }
18
+
19
+ export type Challenges = Challenge[];
@@ -0,0 +1,240 @@
1
+ declare class Gun {
2
+ dmgTypeId: number;
3
+ highPrecision: boolean;
4
+ equipTime: number;
5
+ stowWeaponTime: number;
6
+ accuracy: number;
7
+ shootingAccuracy: number;
8
+ movementAccuracy: number;
9
+ accuracyMax: number;
10
+ accuracyMin: number;
11
+ accuracyLoss: number;
12
+ accuracyRecover: number;
13
+ tracer: number;
14
+ burstQueue: number;
15
+ adsMod: number;
16
+ movementAccuracyMod: number;
17
+ reloadBloom: boolean;
18
+ reloadTimeMod: number;
19
+ }
20
+
21
+ declare class Eggk47 extends Gun {
22
+ ammo: {
23
+ rounds: number;
24
+ capacity: number;
25
+ reload: number;
26
+ store: number;
27
+ storeMax: number;
28
+ pickup: number;
29
+ };
30
+ longReloadTime: number;
31
+ shortReloadTime: number;
32
+ weaponName: string;
33
+ standardMeshName: string;
34
+ rof: number;
35
+ recoil: number;
36
+ automatic: boolean;
37
+ damage: number;
38
+ totalDamage: number;
39
+ range: number;
40
+ velocity: number;
41
+ tracer: number;
42
+ }
43
+
44
+ declare class DozenGauge extends Gun {
45
+ ammo: {
46
+ rounds: number;
47
+ capacity: number;
48
+ reload: number;
49
+ store: number;
50
+ storeMax: number;
51
+ pickup: number;
52
+ };
53
+ longReloadTime: number;
54
+ shortReloadTime: number;
55
+ weaponName: string;
56
+ standardMeshName: string;
57
+ rof: number;
58
+ recoil: number;
59
+ automatic: boolean;
60
+ damage: number;
61
+ totalDamage: number;
62
+ range: number;
63
+ velocity: number;
64
+ tracer: number;
65
+ adsMod: number;
66
+ movementAccuracyMod: number;
67
+ }
68
+
69
+ declare class CSG1 extends Gun {
70
+ ammo: {
71
+ rounds: number;
72
+ capacity: number;
73
+ reload: number;
74
+ store: number;
75
+ storeMax: number;
76
+ pickup: number;
77
+ };
78
+ hasScope: boolean;
79
+ longReloadTime: number;
80
+ shortReloadTime: number;
81
+ highPrecision: boolean;
82
+ weaponName: string;
83
+ standardMeshName: string;
84
+ rof: number;
85
+ recoil: number;
86
+ automatic: boolean;
87
+ damage: number;
88
+ totalDamage: number;
89
+ range: number;
90
+ velocity: number;
91
+ tracer: number;
92
+ }
93
+
94
+ declare class Cluck9mm extends Gun {
95
+ ammo: {
96
+ rounds: number;
97
+ capacity: number;
98
+ reload: number;
99
+ store: number;
100
+ storeMax: number;
101
+ pickup: number;
102
+ };
103
+ longReloadTime: number;
104
+ shortReloadTime: number;
105
+ weaponName: string;
106
+ standardMeshName: string;
107
+ rof: number;
108
+ recoil: number;
109
+ automatic: boolean;
110
+ damage: number;
111
+ totalDamage: number;
112
+ range: number;
113
+ velocity: number;
114
+ tracer: number;
115
+ adsMod: number;
116
+ movementAccuracyMod: number;
117
+ }
118
+
119
+ declare class RPEGG extends Gun {
120
+ ammo: {
121
+ rounds: number;
122
+ capacity: number;
123
+ reload: number;
124
+ store: number;
125
+ storeMax: number;
126
+ pickup: number;
127
+ };
128
+ hasScope: boolean;
129
+ longReloadTime: number;
130
+ shortReloadTime: number;
131
+ weaponName: string;
132
+ standardMeshName: string;
133
+ rof: number;
134
+ recoil: number;
135
+ automatic: boolean;
136
+ damage: number;
137
+ radius: number;
138
+ totalDamage: number;
139
+ range: number;
140
+ minRange: number;
141
+ velocity: number;
142
+ accuracyMax: number;
143
+ accuracyMin: number;
144
+ accuracyLoss: number;
145
+ accuracyRecover: number;
146
+ absoluteMinAccuracy: number;
147
+ }
148
+
149
+ declare class SMG extends Gun {
150
+ ammo: {
151
+ rounds: number;
152
+ capacity: number;
153
+ reload: number;
154
+ store: number;
155
+ storeMax: number;
156
+ pickup: number;
157
+ };
158
+ longReloadTime: number;
159
+ shortReloadTime: number;
160
+ weaponName: string;
161
+ standardMeshName: string;
162
+ rof: number;
163
+ recoil: number;
164
+ automatic: boolean;
165
+ damage: number;
166
+ totalDamage: number;
167
+ range: number;
168
+ velocity: number;
169
+ tracer: number;
170
+ adsMod: number;
171
+ movementAccuracyMod: number;
172
+ }
173
+
174
+ declare class M24 extends Gun {
175
+ ammo: {
176
+ rounds: number;
177
+ capacity: number;
178
+ reload: number;
179
+ store: number;
180
+ storeMax: number;
181
+ pickup: number;
182
+ };
183
+ hasScope: boolean;
184
+ longReloadTime: number;
185
+ shortReloadTime: number;
186
+ weaponName: string;
187
+ standardMeshName: string;
188
+ rof: number;
189
+ recoil: number;
190
+ automatic: boolean;
191
+ damage: number;
192
+ totalDamage: number;
193
+ range: number;
194
+ velocity: number;
195
+ tracer: number;
196
+ movementAccuracyMod: number;
197
+ reloadBloom: boolean;
198
+ reloadTimeMod: number;
199
+ }
200
+
201
+ declare class AUG extends Gun {
202
+ ammo: {
203
+ rounds: number;
204
+ capacity: number;
205
+ reload: number;
206
+ store: number;
207
+ storeMax: number;
208
+ pickup: number;
209
+ };
210
+ longReloadTime: number;
211
+ shortReloadTime: number;
212
+ weaponName: string;
213
+ standardMeshName: string;
214
+ rof: number;
215
+ recoil: number;
216
+ automatic: boolean;
217
+ movementInstability: number;
218
+ damage: number;
219
+ totalDamage: number;
220
+ range: number;
221
+ velocity: number;
222
+ tracer: number;
223
+ burst: number;
224
+ burstRof: number;
225
+ adsMod: number;
226
+ movementAccuracyMod: number;
227
+ }
228
+
229
+ export type AnyGun = Eggk47 | DozenGauge | CSG1 | Cluck9mm | RPEGG | SMG | M24 | AUG;
230
+
231
+ export {
232
+ Eggk47,
233
+ DozenGauge,
234
+ CSG1,
235
+ Cluck9mm,
236
+ RPEGG,
237
+ SMG,
238
+ M24,
239
+ AUG
240
+ }
@@ -0,0 +1,102 @@
1
+ import { AUG, CSG1, DozenGauge, Eggk47, M24, RPEGG, SMG } from './guns';
2
+ import { Item } from './items';
3
+
4
+ export declare const findItemById: (id: number) => Item;
5
+
6
+ export declare const ChiknWinnerDailyLimit: number;
7
+
8
+ export declare const CollectTypes: {
9
+ AMMO: number;
10
+ GRENADE: number;
11
+ };
12
+
13
+ export declare const CoopStates: {
14
+ start: number;
15
+ score: number;
16
+ win: number;
17
+ capturing: number;
18
+ contested: number;
19
+ takeover: number;
20
+ abandoned: number;
21
+ unclaimed: number;
22
+ };
23
+
24
+ export declare const FirebaseKey: string;
25
+
26
+ export declare const GameActions: {
27
+ reset: number;
28
+ pause: number;
29
+ };
30
+
31
+ export declare const GameModes: {
32
+ ffa: number;
33
+ team: number;
34
+ spatula: number;
35
+ kotc: number;
36
+ };
37
+
38
+ export declare const GameOptionFlags: {
39
+ locked: number;
40
+ noTeamChange: number;
41
+ noTeamShuffle: number;
42
+ };
43
+
44
+ export declare const GunList: Array<typeof Eggk47 | typeof DozenGauge | typeof CSG1 | typeof RPEGG | typeof SMG | typeof M24 | typeof AUG>;
45
+
46
+ export declare const IsBrowser: boolean;
47
+
48
+ export declare const ItemTypes: {
49
+ Hat: number;
50
+ Stamp: number;
51
+ Primary: number;
52
+ Secondary: number;
53
+ Grenade: number;
54
+ Melee: number;
55
+ };
56
+
57
+ export declare const Movements: {
58
+ FORWARD: number;
59
+ BACK: number;
60
+ LEFT: number;
61
+ RIGHT: number;
62
+ JUMP: number;
63
+ FIRE: number;
64
+ MELEE: number;
65
+ SCOPE: number;
66
+ };
67
+
68
+ export declare const PlayTypes: {
69
+ joinPublic: number;
70
+ createPrivate: number;
71
+ joinPrivate: number;
72
+ };
73
+
74
+ export declare const ProxiesEnabled: boolean;
75
+
76
+ export declare const ShellStreaks: {
77
+ HardBoiled: number;
78
+ EggBreaker: number;
79
+ Restock: number;
80
+ OverHeal: number;
81
+ DoubleEggs: number;
82
+ MiniEgg: number;
83
+ };
84
+
85
+ export declare const SocialRewards: {
86
+ Discord: string;
87
+ Tiktok: string;
88
+ Instagram: string;
89
+ Steam: string;
90
+ Facebook: string;
91
+ Twitter: string;
92
+ Twitch: string;
93
+ }
94
+
95
+ export declare const Teams: {
96
+ blue: number;
97
+ red: number;
98
+ };
99
+
100
+ export declare const URLRewards: string[];
101
+
102
+ export declare const UserAgent: string;
@@ -0,0 +1,21 @@
1
+ export interface Item {
2
+ id: number;
3
+ name: string;
4
+ price: number;
5
+ item_type_id: 1 | 2 | 3 | 4 | 5 | 6 | 7;
6
+ item_type_name: 'Hat' | 'Stamp' | 'Primary' | 'Secondary' | 'Melee' | 'Grenade';
7
+ exclusive_for_class: null | 0 | 1 | 2 | 3 | 4 | 5 | 6;
8
+ item_data: {
9
+ meshName: string;
10
+ tags: string[];
11
+ };
12
+ is_available: boolean;
13
+ unlock: 'default' | 'purchase' | 'physical' | 'manual' | 'premium' | 'vip';
14
+ align: {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
19
+ }
20
+
21
+ export type Items = Item[];
@@ -0,0 +1,15 @@
1
+ export interface Map {
2
+ filename: string;
3
+ hash: string;
4
+ name: string;
5
+ modes: {
6
+ FFA: boolean;
7
+ Teams: boolean;
8
+ Spatula: boolean;
9
+ King?: boolean;
10
+ };
11
+ availability: string;
12
+ numPlayers: string;
13
+ }
14
+
15
+ export type Maps = Map[];
@@ -0,0 +1,8 @@
1
+ import Bot from '../bot';
2
+
3
+ export class GoToAmmoDispatch {
4
+ check(bot: Bot): boolean;
5
+ execute(bot: Bot): void;
6
+ }
7
+
8
+ export default GoToAmmoDispatch;