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

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 +17 -5
  3. package/src/api.js +97 -23
  4. package/src/bot/GamePlayer.js +2 -2
  5. package/src/bot.js +892 -483
  6. package/src/comm/Codes.js +73 -0
  7. package/src/constants/challenges.js +1822 -0
  8. package/src/constants/index.js +23 -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 +11 -2
  32. package/src/pathing/mapnode.js +83 -250
  33. package/src/socket.js +1 -1
  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 +122 -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 +100 -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,36 @@ 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
142
192
  }
143
193
 
144
194
  export class Bot {
195
+ static Intents: intents;
196
+ Intents: intents;
197
+
145
198
  proxy: string;
146
- name: string;
147
- autoPing: boolean;
199
+ name?: string;
148
200
  autoUpdate: boolean;
149
201
  disablePathing: boolean;
150
- pingInterval: number;
151
202
  updateInterval: number;
152
203
  instance: string;
153
204
  state: BotState;
@@ -155,62 +206,79 @@ export class Bot {
155
206
  me: GamePlayer;
156
207
  game: Game;
157
208
  account: Account;
158
- gameSocket: yolkws | null;
159
209
  ping: number;
160
210
  lastPingTime: number;
161
211
  lastDeathTime: number;
162
212
  lastChatTime: number;
163
213
  lastUpdateTime: number;
164
- nUpdates: number;
165
214
  controlKeys: number;
166
- initTime: number;
167
215
  pathing: Pathing;
168
216
  matchmaker: Matchmaker | null;
169
217
 
170
218
  constructor(params?: BotParams);
171
219
 
220
+ loginAnonymously(): Promise<Account | false>;
221
+ loginWithRefreshToken(refreshToken: string): Promise<Account | false>;
172
222
  login(email: string, pass: string): Promise<Account | false>;
173
- dispatch(disp: any): void;
174
- drain(): void;
223
+ createAccount(email: string, pass: string): Promise<Account | false>;
224
+
175
225
  initMatchmaker(): Promise<boolean>;
176
226
  createPrivateGame(opts: { region: string; mode: string; map: string }): Promise<RawGameData>;
177
- join(data: string | RawGameData): Promise<void>;
227
+ join(botName: string, data: string | RawGameData): Promise<void>;
228
+
229
+ dispatch(disp: ADispatch): void;
178
230
  update(): void;
179
- on(event: string, cb: Function): void;
231
+
232
+ canSee(player: GamePlayer): boolean;
233
+ getBestTarget(): GamePlayer | undefined;
234
+
180
235
  onAny(cb: Function): void;
181
-
236
+
182
237
  on(event: 'authFail', cb: (reason: string) => void): void;
183
238
  on(event: 'balanceUpdate', cb: (oldBalance: number, newBalance: number) => void): void;
184
239
  on(event: 'banned', cb: (banRemaining: string) => void): void;
185
- on(event: 'chat', cb: (player: GamePlayer, message: string, flags: number) => void): void;
240
+ on(event: 'chat', cb: (player: GamePlayer | undefined, message: string, flags: number) => void): void;
186
241
  on(event: 'close', cb: (code: number) => void): void;
187
- on(event: 'collectAmmo', cb: (player: GamePlayer, weapon: Gun) => void): void;
242
+ on(event: 'collectAmmo', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
188
243
  on(event: 'collectGrenade', cb: (player: GamePlayer) => void): void;
189
244
  on(event: 'gameForcePause', cb: () => void): void;
190
245
  on(event: 'gameOptionsChange', cb: (oldOptions: GameOptions, newOptions: GameOptions) => void): void;
191
246
  on(event: 'gameReset', cb: () => void): void;
192
247
  on(event: 'gameStateChange', cb: (oldState: Game, newState: Game) => void): void;
248
+ on(event: 'grenadeExploded', cb: (item: Item | number, pos: { x: number; y: number; z: number }, damage: number, radius: number) => void): void;
193
249
  on(event: 'pingUpdate', cb: (oldPing: number, newPing: number) => void): void;
194
250
  on(event: 'playerBeginStreak', cb: (player: GamePlayer, streak: number) => void): void;
195
251
  on(event: 'playerChangeCharacter', cb: (player: GamePlayer, oldCharacter: Character, newCharacter: Character) => void): void;
196
252
  on(event: 'playerChangeGun', cb: (player: GamePlayer, oldGun: number, newGun: number) => void): void;
197
253
  on(event: 'playerDamaged', cb: (player: GamePlayer, oldHp: number, newHp: number) => void): void;
198
254
  on(event: 'playerDeath', cb: (player: GamePlayer, killer: GamePlayer) => void): void;
199
- on(event: 'playerFire', cb: (player: GamePlayer, weapon: Gun) => void): void;
255
+ on(event: 'playerFire', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
200
256
  on(event: 'playerJoin', cb: (player: GamePlayer) => void): void;
201
257
  on(event: 'playerLeave', cb: (player: GamePlayer) => void): void;
202
258
  on(event: 'playerMelee', cb: (player: GamePlayer) => void): void;
203
259
  on(event: 'playerPause', cb: (player: GamePlayer) => void): void;
204
- on(event: 'playerReload', cb: (player: GamePlayer, weapon: Gun) => void): void;
260
+ on(event: 'playerReload', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
205
261
  on(event: 'playerRespawn', cb: (player: GamePlayer) => void): void;
206
262
  on(event: 'playerSwapWeapon', cb: (player: GamePlayer, nowActive: number) => void): void;
207
263
  on(event: 'playerSwitchTeam', cb: (player: GamePlayer, oldTeam: number, newTeam: number) => void): void;
264
+ on(event: 'rocketHit', cb: (pos: { x: number; y: number; z: number }, damage: number, radius: number) => void): void;
208
265
  on(event: 'selfDamaged', cb: (oldHp: number, newHp: number) => void): void;
209
266
  on(event: 'selfMoved', cb: (oldPos: { x: number; y: number; z: number }, newPos: { x: number; y: number; z: number }) => void): void;
210
267
  on(event: 'selfRespawnFail', cb: () => void): void;
211
268
  on(event: 'selfShieldHit', cb: (oldShield: number, newShield: number) => void): void;
212
269
  on(event: 'selfShieldLost', cb: () => void): void;
213
270
  on(event: 'spawnItem', cb: (type: number, _id: number, pos: { x: number; y: number; z: number }) => void): void;
271
+ on(event: 'tick', cb: () => void): void;
272
+
273
+ checkChiknWinner(): Promise<ChiknWinnerStatus>;
274
+ playChiknWinner(): Promise<ChiknWinnerResponse | string>;
275
+ resetChiknWinner(): Promise<ChiknWinnerStatus>;
276
+
277
+ refreshBalance(): Promise<number>;
278
+ redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
279
+ claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
280
+ claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
281
+ buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; }>;
214
282
  }
215
283
 
216
284
  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,100 @@
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 ShellStreaks: {
75
+ HardBoiled: number;
76
+ EggBreaker: number;
77
+ Restock: number;
78
+ OverHeal: number;
79
+ DoubleEggs: number;
80
+ MiniEgg: number;
81
+ };
82
+
83
+ export declare const SocialRewards: {
84
+ Discord: string;
85
+ Tiktok: string;
86
+ Instagram: string;
87
+ Steam: string;
88
+ Facebook: string;
89
+ Twitter: string;
90
+ Twitch: string;
91
+ }
92
+
93
+ export declare const Teams: {
94
+ blue: number;
95
+ red: number;
96
+ };
97
+
98
+ export declare const URLRewards: string[];
99
+
100
+ 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;