yolkbot 1.2.1 → 1.3.0
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/README.md +1 -1
- package/browser/build/global.js +23 -4
- package/browser/build/module.js +23 -2
- package/dist/api.js +1 -1
- package/dist/bot/GamePlayer.js +1 -1
- package/dist/bot.js +1 -1
- package/dist/comm/CommIn.js +1 -1
- package/dist/comm/CommOut.js +1 -1
- package/dist/constants/CommCode.js +1 -1
- package/dist/constants/guns.js +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/items.js +1 -1
- package/dist/constants/maps.js +1 -1
- package/dist/dispatches/BanPlayerDispatch.js +1 -1
- package/dist/dispatches/BootPlayerDispatch.js +1 -1
- package/dist/dispatches/ChatDispatch.js +1 -1
- package/dist/dispatches/FireDispatch.js +1 -1
- package/dist/dispatches/GameOptionsDispatch.js +1 -1
- package/dist/dispatches/GoToAmmoDispatch.js +1 -1
- package/dist/dispatches/GoToCoopDispatch.js +1 -1
- package/dist/dispatches/GoToGrenadeDispatch.js +1 -1
- package/dist/dispatches/GoToPlayerDispatch.js +1 -1
- package/dist/dispatches/GoToSpatulaDispatch.js +1 -1
- package/dist/dispatches/LookAtDispatch.js +1 -1
- package/dist/dispatches/LookAtPosDispatch.js +1 -1
- package/dist/dispatches/MeleeDispatch.js +1 -1
- package/dist/dispatches/MovementDispatch.js +1 -1
- package/dist/dispatches/PauseDispatch.js +1 -1
- package/dist/dispatches/ReloadDispatch.js +1 -1
- package/dist/dispatches/ReportPlayerDispatch.js +1 -1
- package/dist/dispatches/SaveLoadoutDispatch.js +1 -1
- package/dist/dispatches/SpawnDispatch.js +1 -1
- package/dist/dispatches/SwapWeaponDispatch.js +1 -1
- package/dist/dispatches/SwitchTeamDispatch.js +1 -1
- package/dist/dispatches/ThrowGrenadeDispatch.js +1 -1
- package/dist/env/fetch.js +17 -0
- package/dist/env/globals.js +3 -0
- package/dist/matchmaker.js +1 -1
- package/dist/pathing/astar.js +1 -1
- package/dist/pathing/binaryheap.js +1 -1
- package/dist/pathing/mapnode.js +1 -1
- package/dist/socket.js +1 -1
- package/dist/types/api.d.ts +15 -10
- package/dist/types/bot.d.ts +28 -27
- package/dist/types/socket.d.ts +12 -2
- package/dist/util.js +1 -1
- package/dist/wasm/bytes.js +1 -1
- package/dist/wasm/imports.js +2 -2
- package/dist/wasm/utils.js +1 -1
- package/dist/wasm/wrapper.js +1 -1
- package/package.json +6 -8
- package/dist/constants/changelog.js +0 -3
- package/dist/constants/housePromo.js +0 -3
- package/dist/constants/language.js +0 -49
- package/dist/constants/notices.js +0 -3
- package/dist/constants/shellNews.js +0 -3
- package/dist/constants/shellYoutube.js +0 -3
- package/dist/constants/shopItems.js +0 -3
- package/dist/constants/sounds.js +0 -3
- package/dist/globals.js +0 -3
package/dist/types/bot.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ type intents = {
|
|
|
9
9
|
LOG_PACKETS: 10,
|
|
10
10
|
NO_LOGIN: 11,
|
|
11
11
|
DEBUG_BUFFER: 12,
|
|
12
|
-
DEBUG_BEST_TARGET: 14,
|
|
13
12
|
NO_AFK_KICK: 16,
|
|
14
13
|
LOAD_MAP: 17,
|
|
15
14
|
OBSERVE_GAME: 18,
|
|
@@ -26,14 +25,13 @@ import { MapJSON } from './constants/maps';
|
|
|
26
25
|
import { Item } from './constants/items';
|
|
27
26
|
import { ADispatch } from './dispatches/index';
|
|
28
27
|
import { NodeList } from './pathing/mapnode';
|
|
29
|
-
import { API } from './api';
|
|
28
|
+
import { AnonError, API, LoginError, QueryServicesError } from './api';
|
|
30
29
|
import { Matchmaker } from './matchmaker';
|
|
31
30
|
import yolkws from './socket';
|
|
32
31
|
|
|
33
32
|
export interface BotParams {
|
|
34
33
|
intents?: number[];
|
|
35
34
|
proxy?: string;
|
|
36
|
-
httpProxy?: string;
|
|
37
35
|
instance?: string;
|
|
38
36
|
protocol?: string;
|
|
39
37
|
apiMaxRetries?: number;
|
|
@@ -344,6 +342,10 @@ export interface FireBullet {
|
|
|
344
342
|
dirZ: number;
|
|
345
343
|
}
|
|
346
344
|
|
|
345
|
+
type FindPublicErrors = 'no_region_passed' | 'invalid_region_passed' | 'no_mode_passed' | 'invalid_mode_passed' | 'matchmaker_init_fail' | 'internal_session_error';
|
|
346
|
+
type CreatePrivateErrors = FindPublicErrors | 'invalid_map_passed';
|
|
347
|
+
type BotLoginError = 'account_banned';
|
|
348
|
+
|
|
347
349
|
export class Bot {
|
|
348
350
|
static Intents: intents;
|
|
349
351
|
Intents: intents;
|
|
@@ -352,7 +354,6 @@ export class Bot {
|
|
|
352
354
|
instance: string;
|
|
353
355
|
protocol: string;
|
|
354
356
|
proxy: string;
|
|
355
|
-
httpProxy: string;
|
|
356
357
|
|
|
357
358
|
state: BotState;
|
|
358
359
|
players: Record<string, GamePlayer>;
|
|
@@ -373,24 +374,23 @@ export class Bot {
|
|
|
373
374
|
|
|
374
375
|
constructor(params?: BotParams);
|
|
375
376
|
|
|
376
|
-
loginAnonymously(): Promise<Account |
|
|
377
|
-
loginWithRefreshToken(refreshToken: string): Promise<Account |
|
|
378
|
-
login(email: string, pass: string): Promise<Account |
|
|
379
|
-
createAccount(email: string, pass: string): Promise<Account |
|
|
377
|
+
loginAnonymously(): Promise<Account | BotLoginError | AnonError>;
|
|
378
|
+
loginWithRefreshToken(refreshToken: string): Promise<Account | BotLoginError | LoginError>;
|
|
379
|
+
login(email: string, pass: string): Promise<Account | BotLoginError | LoginError>;
|
|
380
|
+
createAccount(email: string, pass: string): Promise<Account | BotLoginError | LoginError>;
|
|
380
381
|
|
|
381
|
-
initMatchmaker(): Promise<
|
|
382
|
+
initMatchmaker(): Promise<true | BotLoginError | AnonError | 'matchmaker_tryconnect_failed'>;
|
|
382
383
|
|
|
383
|
-
createPrivateGame(region: string, mode: number, map: string): Promise<RawGameData |
|
|
384
|
-
findPublicGame(region: string, mode: number): Promise<RawGameData |
|
|
384
|
+
createPrivateGame(region: string, mode: number, map: string): Promise<RawGameData | FindPublicErrors>;
|
|
385
|
+
findPublicGame(region: string, mode: number): Promise<RawGameData | CreatePrivateErrors>;
|
|
385
386
|
|
|
386
|
-
join(botName: string, data: string | RawGameData): Promise<
|
|
387
|
+
join(botName: string, data: string | RawGameData): Promise<true | 'matchmaker_init_fail' | 'game_not_found' | 'websocket_tryconnect_fail' | 'invalid_game_object'>;
|
|
387
388
|
|
|
388
389
|
processPacket(data: number[]): void;
|
|
389
390
|
dispatch(disp: ADispatch): boolean;
|
|
390
391
|
update(): void;
|
|
391
392
|
|
|
392
393
|
canSee(player: GamePlayer): boolean;
|
|
393
|
-
getBestTarget(customFilter?: (player: GamePlayer) => boolean): { player: GamePlayer, inLoS: boolean } | undefined;
|
|
394
394
|
|
|
395
395
|
onAny(cb: Function): void;
|
|
396
396
|
off(event: string, cb: Function): void;
|
|
@@ -403,8 +403,6 @@ export class Bot {
|
|
|
403
403
|
on(event: 'challengeComplete', cb: (player: GamePlayer, challengeId: number) => void): void;
|
|
404
404
|
on(event: 'chat', cb: (player: GamePlayer | undefined, message: string, flags: number) => void): void;
|
|
405
405
|
on(event: 'close', cb: (code: number) => void): void;
|
|
406
|
-
on(event: 'collectAmmo', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
|
|
407
|
-
on(event: 'collectGrenade', cb: (player: GamePlayer) => void): void;
|
|
408
406
|
on(event: 'error', cb: (error: string) => void): void;
|
|
409
407
|
on(event: 'gameForcePause', cb: () => void): void;
|
|
410
408
|
on(event: 'gameOptionsChange', cb: (oldOptions: GameOptions, newOptions: GameOptions) => void): void;
|
|
@@ -419,6 +417,8 @@ export class Bot {
|
|
|
419
417
|
on(event: 'playerBeginStreak', cb: (player: GamePlayer, streakType: number) => void): void;
|
|
420
418
|
on(event: 'playerChangeCharacter', cb: (player: GamePlayer, oldCharacter: Character, newCharacter: Character) => void): void;
|
|
421
419
|
on(event: 'playerChangeGun', cb: (player: GamePlayer, oldGunId: number, newGunId: number) => void): void;
|
|
420
|
+
on(event: 'playerCollectAmmo', cb: (player: GamePlayer, weapon: AnyGun, itemId: number) => void): void;
|
|
421
|
+
on(event: 'playerCollectGrenade', cb: (player: GamePlayer, itemId: number) => void): void;
|
|
422
422
|
on(event: 'playerDamage', cb: (player: GamePlayer, oldHp: number, newHp: number) => void): void;
|
|
423
423
|
on(event: 'playerDeath', cb: (killed: GamePlayer, killer: GamePlayer) => void): void;
|
|
424
424
|
on(event: 'playerEndStreak', cb: (player: GamePlayer, streakType: number) => void): void;
|
|
@@ -436,27 +436,28 @@ export class Bot {
|
|
|
436
436
|
on(event: 'playerRotate', cb: (player: GamePlayer, oldView: View, newView: View) => void): void;
|
|
437
437
|
on(event: 'playerSwapWeapon', cb: (player: GamePlayer, nowActive: number) => void): void;
|
|
438
438
|
on(event: 'playerSwitchTeam', cb: (player: GamePlayer, oldTeam: number, newTeam: number) => void): void;
|
|
439
|
+
on(event: 'playerThrowGrenade', cb: (player: GamePlayer, position: Position, dPosition: Position) => void): void;
|
|
439
440
|
on(event: 'respawnDenied', cb: () => void): void;
|
|
440
441
|
on(event: 'rocketHit', cb: (pos: Position, damage: number, blastRadius: number) => void): void;
|
|
441
442
|
on(event: 'selfShieldHit', cb: (newShieldHealth: number, newPlayerHealth: number, dir: { dx: number, dz: number }) => void): void;
|
|
442
443
|
on(event: 'selfShieldLost', cb: (newPlayerHealth: number, dir: { dx: number, dz: number }) => void): void;
|
|
443
444
|
on(event: 'sessionExpired', cb: () => void): void;
|
|
444
|
-
on(event: 'spawnItem', cb: (itemType: number, itemPosition: Position) => void): void;
|
|
445
|
+
on(event: 'spawnItem', cb: (itemType: number, itemPosition: Position, itemId: number) => void): void;
|
|
445
446
|
on(event: 'tick', cb: () => void): void;
|
|
446
447
|
|
|
447
|
-
checkChiknWinner(): Promise<ChiknWinnerStatus>;
|
|
448
|
-
playChiknWinner(doPrematureCooldownCheck: boolean): Promise<ChiknWinnerResponse |
|
|
449
|
-
resetChiknWinner(): Promise<ChiknWinnerStatus>;
|
|
448
|
+
checkChiknWinner(): Promise<ChiknWinnerStatus | QueryServicesError>;
|
|
449
|
+
playChiknWinner(doPrematureCooldownCheck: boolean): Promise<ChiknWinnerResponse | QueryServicesError | 'hit_daily_limit' | 'on_cooldown' | 'session_expired' | 'unknown_error'>;
|
|
450
|
+
resetChiknWinner(): Promise<ChiknWinnerStatus | QueryServicesError | 'not_enough_eggs' | 'not_at_limit' | 'unknown_error'>;
|
|
450
451
|
|
|
451
|
-
refreshChallenges(): Promise<Challenges[]>;
|
|
452
|
-
claimChallenge(challengeId: number): Promise<{ eggReward: number, updatedChallenges: Challenges[] }>;
|
|
453
|
-
rerollChallenge(challengeId: number): Promise<Challenges[]>;
|
|
452
|
+
refreshChallenges(): Promise<Challenges[] | QueryServicesError>;
|
|
453
|
+
claimChallenge(challengeId: number): Promise<{ eggReward: number, updatedChallenges: Challenges[] } | QueryServicesError>;
|
|
454
|
+
rerollChallenge(challengeId: number): Promise<Challenges[] | QueryServicesError>;
|
|
454
455
|
|
|
455
|
-
refreshBalance(): Promise<number>;
|
|
456
|
-
redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
|
|
457
|
-
claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
|
|
458
|
-
claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
|
|
459
|
-
buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; }>;
|
|
456
|
+
refreshBalance(): Promise<number | QueryServicesError>;
|
|
457
|
+
redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
|
|
458
|
+
claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
|
|
459
|
+
claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
|
|
460
|
+
buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; } | QueryServicesError>;
|
|
460
461
|
|
|
461
462
|
leave(code?: number): void;
|
|
462
463
|
logout(): void;
|
package/dist/types/socket.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
type Data = string | Buffer | ArrayBuffer | Buffer[];
|
|
2
2
|
|
|
3
|
-
declare class yolkws
|
|
3
|
+
declare class yolkws {
|
|
4
4
|
constructor(url: string, proxy: string);
|
|
5
|
+
|
|
6
|
+
tryConnect($tries?: number): Promise<void>;
|
|
7
|
+
|
|
8
|
+
onmessage: (data: Data) => void;
|
|
9
|
+
onopen: () => void;
|
|
10
|
+
onclose: (code: number, reason: string) => void;
|
|
11
|
+
onerror: (err: Error) => void;
|
|
12
|
+
|
|
13
|
+
send(data: Data): void;
|
|
14
|
+
close(code?: number, reason?: string): void;
|
|
5
15
|
}
|
|
6
16
|
|
|
7
17
|
export default yolkws;
|
package/dist/util.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
|
|
3
|
-
import{IsBrowser as
|
|
3
|
+
var y=Object.defineProperty;var f=(s,i)=>y(s,"name",{value:i,configurable:!0});import{IsBrowser as x}from"./constants/index.js";const w=f(async(s,i)=>{if(x)return await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${s}.json?${i}`)).json();{const{existsSync:t,mkdirSync:a,readFileSync:z,writeFileSync:p}=await import("node:fs"),{join:o}=await import("node:path"),{homedir:c}=await import("node:os"),e=o(c(),".yolkbot"),n=o(e,"maps");t(e)||a(e),t(n)||a(n);const r=o(n,`${s}-${i}.json`);if(t(r))return JSON.parse(z(r,"utf-8"));const l=await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${s}.json?${i}`)).json();return p(r,JSON.stringify(l,null,4),{flag:"w+"}),l}},"fetchMap"),h=f(s=>{let i=0;const t={},a=[];for(const o of s)t[o.x]||(t[o.x]={}),t[o.x][o.y]||(t[o.x][o.y]={}),t[o.x][o.y][o.z]={zone:null};const z=[{x:-1,z:0},{x:1,z:0},{x:0,z:-1},{x:0,z:1}],p=f((o,c,e)=>t[o]&&t[o][c]&&t[o][c][e]?t[o][c][e]:null,"getMapCellAt");for(const o of s)if(!t[o.x][o.y][o.z].zone){o.zone=++i,t[o.x][o.y][o.z].zone=o.zone;const c=[o];let e;do{e=0;for(const n of s)if(!t[n.x][n.y][n.z].zone)for(const r of z){const l=p(n.x+r.x,n.y,n.z+r.z);if(l&&l.zone===o.zone){e++,n.zone=o.zone,t[n.x][n.y][n.z].zone=o.zone,c.push(n);break}}}while(e>0);a.push(c)}return a},"initKotcZones");export{w as fetchMap,h as initKotcZones};
|