yolkbot 1.2.0 → 1.2.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.
- package/browser/build/global.js +2 -2
- package/browser/build/module.js +2 -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/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/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 +13 -6
- package/dist/types/bot.d.ts +36 -28
- 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 +7 -7
- 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/pathing/mapnode.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
|
|
3
|
-
class u{constructor(t,i){this.x=i.x,this.y=i.y,this.z=i.z,this.positionStr=`${this.x},${this.y},${this.z}`,this.position={x:this.x,y:this.y,z:this.z},this.meshType=t.split(".").pop(),this.f=0,this.g=0,this.h=0,this.visited=null,this.parent=null,this.closed=null,this.links=[],this.isStair()&&(i.ry?this.ry=i.ry:this.ry=0)}isFull(){return this.meshType==="full"}canWalkThrough(){return this.meshType==="none"||this.meshType==="ladder"}canWalkOn(){return this.meshType==="full"}isLadder(){return this.meshType==="ladder"}isStair(){return this.meshType==="wedge"}isAir(){return this.meshType==="none"}canLink(t,i){const r=this.x-t.x,s=this.z-t.z,e=this.y-t.y,h=Math.abs(r),n=Math.abs(e),l=Math.abs(s);if(h+n+l===0||h+l>1||this.isFull()||t.isFull())return!1;const o=i.at(this.x,this.y-1,this.z),y=i.at(t.x,t.y-1,t.z);if(!o||!y)return!1;const a={0:{x:0,z:-1},1:{x:-1,z:0},2:{x:0,z:1},3:{x:1,z:0}};switch(this.meshType){case"none":return!!(e===1&&t.canWalkThrough()||(o.canWalkOn()||o.isLadder())&&(t.meshType==="none"||t.meshType==="ladder"&&n===0||t.meshType==="wedge"&&e===0&&r===-a[t.ry].x&&s===-a[t.ry].z));case"ladder":return!!(n===1&&t.canWalkThrough()||n===0&&o.canWalkOn()||t.meshType==="ladder"&&(n===1||o.canWalkOn()&&y.canWalkOn()));case"wedge":return this.x+a[this.ry].x===t.x&&this.z+a[this.ry].z===t.z&&this.y+1===t.y||this.x-a[this.ry].x===t.x&&this.z-a[this.ry].z===t.z&&(this.y===t.y||this.y-1===t.y);default:return!1}}flatCenter(){return{x:this.x+.5,y:this.y+0,z:this.z+.5}}flatRadialDistance(t){const i=this.flatCenter();return Math.hypot(i.x-t.x,i.z-t.z)}}class
|
|
3
|
+
var d=Object.defineProperty;var f=(c,t)=>d(c,"name",{value:t,configurable:!0});class u{static{f(this,"MapNode")}constructor(t,i){this.x=i.x,this.y=i.y,this.z=i.z,this.positionStr=`${this.x},${this.y},${this.z}`,this.position={x:this.x,y:this.y,z:this.z},this.meshType=t.split(".").pop(),this.f=0,this.g=0,this.h=0,this.visited=null,this.parent=null,this.closed=null,this.links=[],this.isStair()&&(i.ry?this.ry=i.ry:this.ry=0)}isFull(){return this.meshType==="full"}canWalkThrough(){return this.meshType==="none"||this.meshType==="ladder"}canWalkOn(){return this.meshType==="full"}isLadder(){return this.meshType==="ladder"}isStair(){return this.meshType==="wedge"}isAir(){return this.meshType==="none"}canLink(t,i){const r=this.x-t.x,s=this.z-t.z,e=this.y-t.y,h=Math.abs(r),n=Math.abs(e),l=Math.abs(s);if(h+n+l===0||h+l>1||this.isFull()||t.isFull())return!1;const o=i.at(this.x,this.y-1,this.z),y=i.at(t.x,t.y-1,t.z);if(!o||!y)return!1;const a={0:{x:0,z:-1},1:{x:-1,z:0},2:{x:0,z:1},3:{x:1,z:0}};switch(this.meshType){case"none":return!!(e===1&&t.canWalkThrough()||(o.canWalkOn()||o.isLadder())&&(t.meshType==="none"||t.meshType==="ladder"&&n===0||t.meshType==="wedge"&&e===0&&r===-a[t.ry].x&&s===-a[t.ry].z));case"ladder":return!!(n===1&&t.canWalkThrough()||n===0&&o.canWalkOn()||t.meshType==="ladder"&&(n===1||o.canWalkOn()&&y.canWalkOn()));case"wedge":return this.x+a[this.ry].x===t.x&&this.z+a[this.ry].z===t.z&&this.y+1===t.y||this.x-a[this.ry].x===t.x&&this.z-a[this.ry].z===t.z&&(this.y===t.y||this.y-1===t.y);default:return!1}}flatCenter(){return{x:this.x+.5,y:this.y+0,z:this.z+.5}}flatRadialDistance(t){const i=this.flatCenter();return Math.hypot(i.x-t.x,i.z-t.z)}}class M{static{f(this,"NodeList")}list=[];constructor(t){const i={};for(const s of Object.keys(t.data))for(const e of t.data[s])i[e.x<<16|e.y<<8|e.z]=!0,this.list.push(new u(s,e));for(let s=0;s<t.width;s++)for(let e=0;e<t.height;e++)for(let h=0;h<t.depth;h++)i[s<<16|e<<8|h]||this.list.push(new u("SPECIAL.air.none",{x:s,y:e,z:h}));const r=new Map;for(const s of this.list)r.set(s.positionStr,s);for(const s of this.list){const e=[{x:s.x+1,y:s.y,z:s.z},{x:s.x-1,y:s.y,z:s.z},{x:s.x,y:s.y+1,z:s.z},{x:s.x,y:s.y-1,z:s.z},{x:s.x,y:s.y,z:s.z+1},{x:s.x,y:s.y,z:s.z-1}];for(const h of e){const n=`${h.x},${h.y},${h.z}`,l=r.get(n);l&&s.canLink(l,this)&&s.links.push(l)}}}at(t,i,r){if(!this.nodeMap){this.nodeMap=new Map;for(const e of this.list){const h=`${e.x},${e.y},${e.z}`;this.nodeMap.set(h,e)}}const s=`${t},${i},${r}`;return this.nodeMap.get(s)}clean(){for(const t of this.list)t.f=0,t.g=0,t.h=0,t.visited=null,t.parent=null,t.closed=null}hasLineOfSight(t,i){const r=i.x-t.x,s=i.y-t.y,e=i.z-t.z,h=Math.max(Math.abs(r),Math.abs(s),Math.abs(e)),n=r/h,l=s/h,o=e/h;let y=t.x,a=t.y,x=t.z;for(let z=0;z<=h;z++){const p=this.at(Math.round(y),Math.round(a),Math.round(x));if(p&&p.isFull())return!1;y+=n,a+=l,x+=o}return!0}}var T=u;export{u as MapNode,M as NodeList,T as default};
|
package/dist/socket.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
var k=Object.defineProperty;var o=(c,e)=>k(c,"name",{value:e,configurable:!0});import n from"./globals.js";import{IsBrowser as l,ProxiesEnabled as u,UserAgent as y}from"./constants/index.js";class g{static{o(this,"yolkws")}url="";proxy="";binaryType="";maxRetries=5;constructor(e,t){this.url=e,!u&&t&&(console.error("You cannot pass a proxy to a yolkws in this environment."),process.exit(1)),this.proxy=t}async tryConnect(e=1){const t=new URL(this.url),r=o(async()=>e===5?!1:await this.tryConnect(e+1),"retryOrQuit");try{this.socket=l?new n.WebSocket(this.url):new n.WebSocket(this.url,{agent:this.proxy?new n.SocksProxyAgent(this.proxy):void 0,headers:{"accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","cache-control":"no-cache",connection:"Upgrade",host:t.host,origin:t.origin.replace("ws","http"),pragma:"no-cache","sec-websocket-extensions":"permessage-deflate; client_max_window_bits","user-agent":y}}),this.binaryType&&(this.socket.binaryType=this.binaryType)}catch(s){return console.error(`Failed to connect on try ${e}, trying again...`,s),await r()}return new Promise(s=>{const i=setTimeout(async()=>{l?this.socket.close():this.socket.terminate(),s(await r())},5e3),a=o(async h=>{clearTimeout(i),console.error("WebSocket error",h),s(await r())},"errorListener");this.socket.addEventListener("open",async()=>{clearTimeout(i),this.socket.removeEventListener("error",a),s(!0)}),this.socket.addEventListener("error",a)})}get onmessage(){return this.socket?.onmessage}set onmessage(e){this.socket?this.socket.onmessage=e:console.error("set onmessage before socket existed")}get onclose(){return this.socket?.onclose}set onclose(e){this.socket?this.socket.onclose=e:console.error("set onclose before socket existed")}get onerror(){return this.socket?.onerror}set onerror(e){this.socket?this.socket.onerror=e:console.error("set onclose before socket existed")}send(e){return this.socket?.send(e)}close(e){return this.socket?.close(e)}}var f=g;export{f as default};
|
package/dist/types/api.d.ts
CHANGED
|
@@ -16,6 +16,12 @@ interface APIParams {
|
|
|
16
16
|
suppressErrors?: boolean;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
export type QueryServicesError = 'websocket_connect_fail' | 'bad_json' | 'unknown_socket_error' | 'services_closed_early';
|
|
20
|
+
export type AnonError = 'firebase_network_failed' | 'firebase_no_token';
|
|
21
|
+
export type LoginError = AnonLogin | 'firebase_no_credentials' | 'firebase_bad_request' | 'firebase_unknown_error';
|
|
22
|
+
export type EmailVerifyError = 'no_idtoken_passed' | 'firebase_invalid_response';
|
|
23
|
+
export type OobCodeError = 'no_oob_code_passed' | 'firebase_unknown_error';
|
|
24
|
+
|
|
19
25
|
export class API {
|
|
20
26
|
instance: string;
|
|
21
27
|
protocol: string;
|
|
@@ -28,11 +34,12 @@ export class API {
|
|
|
28
34
|
|
|
29
35
|
constructor(params?: APIParams);
|
|
30
36
|
|
|
31
|
-
queryServices(request: QueryRequest): Promise<QueryResponse |
|
|
37
|
+
queryServices(request: QueryRequest): Promise<QueryResponse | QueryServicesError>;
|
|
32
38
|
|
|
33
|
-
loginWithCredentials(email: string, password: string): Promise<QueryResponse |
|
|
34
|
-
loginWithRefreshToken(refreshToken: string): Promise<QueryResponse |
|
|
35
|
-
loginAnonymously(): Promise<QueryResponse |
|
|
36
|
-
createAccount(email: string, password: string): Promise<QueryResponse |
|
|
37
|
-
sendEmailVerification(idToken?: string): Promise<string>;
|
|
39
|
+
loginWithCredentials(email: string, password: string): Promise<QueryResponse | LoginError>;
|
|
40
|
+
loginWithRefreshToken(refreshToken: string): Promise<QueryResponse | LoginError>;
|
|
41
|
+
loginAnonymously(): Promise<QueryResponse | AnonError>;
|
|
42
|
+
createAccount(email: string, password: string): Promise<QueryResponse | LoginError>;
|
|
43
|
+
sendEmailVerification(idToken?: string): Promise<{ email: string } | EmailVerifyError>;
|
|
44
|
+
verifyOobCode(oobCode: string): Promise<QueryResponse | OobCodeError>;
|
|
38
45
|
}
|
package/dist/types/bot.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ 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,
|
|
16
15
|
NO_REGION_CHECK: 19,
|
|
17
16
|
NO_EXIT_ON_ERROR: 20,
|
|
18
|
-
RENEW_SESSION: 21
|
|
17
|
+
RENEW_SESSION: 21,
|
|
18
|
+
VIP_HIDE_BADGE: 22
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
import { Character, GamePlayer, Position, View } from './bot/GamePlayer';
|
|
@@ -25,7 +25,7 @@ import { MapJSON } from './constants/maps';
|
|
|
25
25
|
import { Item } from './constants/items';
|
|
26
26
|
import { ADispatch } from './dispatches/index';
|
|
27
27
|
import { NodeList } from './pathing/mapnode';
|
|
28
|
-
import { API } from './api';
|
|
28
|
+
import { AnonError, API, LoginError, QueryServicesError } from './api';
|
|
29
29
|
import { Matchmaker } from './matchmaker';
|
|
30
30
|
import yolkws from './socket';
|
|
31
31
|
|
|
@@ -161,10 +161,14 @@ export interface RawLoginData {
|
|
|
161
161
|
notification: {
|
|
162
162
|
id: number;
|
|
163
163
|
type: {
|
|
164
|
-
|
|
164
|
+
vip: {
|
|
165
165
|
ids: number[];
|
|
166
166
|
eggs: number;
|
|
167
|
-
}
|
|
167
|
+
};
|
|
168
|
+
purchases: {
|
|
169
|
+
ids: number[];
|
|
170
|
+
eggs: number;
|
|
171
|
+
};
|
|
168
172
|
};
|
|
169
173
|
read: 0 | 1;
|
|
170
174
|
}
|
|
@@ -339,6 +343,10 @@ export interface FireBullet {
|
|
|
339
343
|
dirZ: number;
|
|
340
344
|
}
|
|
341
345
|
|
|
346
|
+
type FindPublicErrors = 'no_region_passed' | 'invalid_region_passed' | 'no_mode_passed' | 'invalid_mode_passed' | 'matchmaker_init_fail' | 'internal_session_error';
|
|
347
|
+
type CreatePrivateErrors = FindPublicErrors | 'invalid_map_passed';
|
|
348
|
+
type BotLoginError = 'account_banned';
|
|
349
|
+
|
|
342
350
|
export class Bot {
|
|
343
351
|
static Intents: intents;
|
|
344
352
|
Intents: intents;
|
|
@@ -368,24 +376,23 @@ export class Bot {
|
|
|
368
376
|
|
|
369
377
|
constructor(params?: BotParams);
|
|
370
378
|
|
|
371
|
-
loginAnonymously(): Promise<Account |
|
|
372
|
-
loginWithRefreshToken(refreshToken: string): Promise<Account |
|
|
373
|
-
login(email: string, pass: string): Promise<Account |
|
|
374
|
-
createAccount(email: string, pass: string): Promise<Account |
|
|
379
|
+
loginAnonymously(): Promise<Account | BotLoginError | AnonError>;
|
|
380
|
+
loginWithRefreshToken(refreshToken: string): Promise<Account | BotLoginError | LoginError>;
|
|
381
|
+
login(email: string, pass: string): Promise<Account | BotLoginError | LoginError>;
|
|
382
|
+
createAccount(email: string, pass: string): Promise<Account | BotLoginError | LoginError>;
|
|
375
383
|
|
|
376
|
-
initMatchmaker(): Promise<
|
|
384
|
+
initMatchmaker(): Promise<true | BotLoginError | AnonError | 'matchmaker_tryconnect_failed'>;
|
|
377
385
|
|
|
378
|
-
createPrivateGame(region: string, mode: number, map: string): Promise<RawGameData |
|
|
379
|
-
findPublicGame(region: string, mode: number): Promise<RawGameData |
|
|
386
|
+
createPrivateGame(region: string, mode: number, map: string): Promise<RawGameData | FindPublicErrors>;
|
|
387
|
+
findPublicGame(region: string, mode: number): Promise<RawGameData | CreatePrivateErrors>;
|
|
380
388
|
|
|
381
|
-
join(botName: string, data: string | RawGameData): Promise<
|
|
389
|
+
join(botName: string, data: string | RawGameData): Promise<true | 'matchmaker_init_fail' | 'game_not_found' | 'websocket_tryconnect_fail' | 'invalid_game_object'>;
|
|
382
390
|
|
|
383
391
|
processPacket(data: number[]): void;
|
|
384
392
|
dispatch(disp: ADispatch): boolean;
|
|
385
393
|
update(): void;
|
|
386
394
|
|
|
387
395
|
canSee(player: GamePlayer): boolean;
|
|
388
|
-
getBestTarget(customFilter?: (player: GamePlayer) => boolean): { player: GamePlayer, inLoS: boolean } | undefined;
|
|
389
396
|
|
|
390
397
|
onAny(cb: Function): void;
|
|
391
398
|
off(event: string, cb: Function): void;
|
|
@@ -398,8 +405,6 @@ export class Bot {
|
|
|
398
405
|
on(event: 'challengeComplete', cb: (player: GamePlayer, challengeId: number) => void): void;
|
|
399
406
|
on(event: 'chat', cb: (player: GamePlayer | undefined, message: string, flags: number) => void): void;
|
|
400
407
|
on(event: 'close', cb: (code: number) => void): void;
|
|
401
|
-
on(event: 'collectAmmo', cb: (player: GamePlayer, weapon: AnyGun) => void): void;
|
|
402
|
-
on(event: 'collectGrenade', cb: (player: GamePlayer) => void): void;
|
|
403
408
|
on(event: 'error', cb: (error: string) => void): void;
|
|
404
409
|
on(event: 'gameForcePause', cb: () => void): void;
|
|
405
410
|
on(event: 'gameOptionsChange', cb: (oldOptions: GameOptions, newOptions: GameOptions) => void): void;
|
|
@@ -414,6 +419,8 @@ export class Bot {
|
|
|
414
419
|
on(event: 'playerBeginStreak', cb: (player: GamePlayer, streakType: number) => void): void;
|
|
415
420
|
on(event: 'playerChangeCharacter', cb: (player: GamePlayer, oldCharacter: Character, newCharacter: Character) => void): void;
|
|
416
421
|
on(event: 'playerChangeGun', cb: (player: GamePlayer, oldGunId: number, newGunId: number) => void): void;
|
|
422
|
+
on(event: 'playerCollectAmmo', cb: (player: GamePlayer, weapon: AnyGun, itemId: number) => void): void;
|
|
423
|
+
on(event: 'playerCollectGrenade', cb: (player: GamePlayer, itemId: number) => void): void;
|
|
417
424
|
on(event: 'playerDamage', cb: (player: GamePlayer, oldHp: number, newHp: number) => void): void;
|
|
418
425
|
on(event: 'playerDeath', cb: (killed: GamePlayer, killer: GamePlayer) => void): void;
|
|
419
426
|
on(event: 'playerEndStreak', cb: (player: GamePlayer, streakType: number) => void): void;
|
|
@@ -431,27 +438,28 @@ export class Bot {
|
|
|
431
438
|
on(event: 'playerRotate', cb: (player: GamePlayer, oldView: View, newView: View) => void): void;
|
|
432
439
|
on(event: 'playerSwapWeapon', cb: (player: GamePlayer, nowActive: number) => void): void;
|
|
433
440
|
on(event: 'playerSwitchTeam', cb: (player: GamePlayer, oldTeam: number, newTeam: number) => void): void;
|
|
441
|
+
on(event: 'playerThrowGrenade', cb: (player: GamePlayer, position: Position, dPosition: Position) => void): void;
|
|
434
442
|
on(event: 'respawnDenied', cb: () => void): void;
|
|
435
443
|
on(event: 'rocketHit', cb: (pos: Position, damage: number, blastRadius: number) => void): void;
|
|
436
444
|
on(event: 'selfShieldHit', cb: (newShieldHealth: number, newPlayerHealth: number, dir: { dx: number, dz: number }) => void): void;
|
|
437
445
|
on(event: 'selfShieldLost', cb: (newPlayerHealth: number, dir: { dx: number, dz: number }) => void): void;
|
|
438
446
|
on(event: 'sessionExpired', cb: () => void): void;
|
|
439
|
-
on(event: 'spawnItem', cb: (itemType: number, itemPosition: Position) => void): void;
|
|
447
|
+
on(event: 'spawnItem', cb: (itemType: number, itemPosition: Position, itemId: number) => void): void;
|
|
440
448
|
on(event: 'tick', cb: () => void): void;
|
|
441
449
|
|
|
442
|
-
checkChiknWinner(): Promise<ChiknWinnerStatus>;
|
|
443
|
-
playChiknWinner(doPrematureCooldownCheck: boolean): Promise<ChiknWinnerResponse |
|
|
444
|
-
resetChiknWinner(): Promise<ChiknWinnerStatus>;
|
|
450
|
+
checkChiknWinner(): Promise<ChiknWinnerStatus | QueryServicesError>;
|
|
451
|
+
playChiknWinner(doPrematureCooldownCheck: boolean): Promise<ChiknWinnerResponse | QueryServicesError | 'hit_daily_limit' | 'on_cooldown' | 'session_expired' | 'unknown_error'>;
|
|
452
|
+
resetChiknWinner(): Promise<ChiknWinnerStatus | QueryServicesError | 'not_enough_eggs' | 'not_at_limit' | 'unknown_error'>;
|
|
445
453
|
|
|
446
|
-
refreshChallenges(): Promise<Challenges[]>;
|
|
447
|
-
claimChallenge(challengeId: number): Promise<{ eggReward: number, updatedChallenges: Challenges[] }>;
|
|
448
|
-
rerollChallenge(challengeId: number): Promise<Challenges[]>;
|
|
454
|
+
refreshChallenges(): Promise<Challenges[] | QueryServicesError>;
|
|
455
|
+
claimChallenge(challengeId: number): Promise<{ eggReward: number, updatedChallenges: Challenges[] } | QueryServicesError>;
|
|
456
|
+
rerollChallenge(challengeId: number): Promise<Challenges[] | QueryServicesError>;
|
|
449
457
|
|
|
450
|
-
refreshBalance(): Promise<number>;
|
|
451
|
-
redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
|
|
452
|
-
claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
|
|
453
|
-
claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; }>;
|
|
454
|
-
buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; }>;
|
|
458
|
+
refreshBalance(): Promise<number | QueryServicesError>;
|
|
459
|
+
redeemCode(code: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
|
|
460
|
+
claimURLReward(reward: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
|
|
461
|
+
claimSocialReward(rewardTag: string): Promise<{ result: string; eggsGiven: number; itemIds: number[]; } | QueryServicesError>;
|
|
462
|
+
buyItem(itemId: number): Promise<{ result: string; currentBalance: number; itemId: number; } | QueryServicesError>;
|
|
455
463
|
|
|
456
464
|
leave(code?: number): void;
|
|
457
465
|
logout(): void;
|
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};
|