yolkbot 0.0.0-1
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 +38 -0
- package/browser/build/global.js +3 -0
- package/browser/build/module.js +3 -0
- package/dist/api.js +3 -0
- package/dist/bot/GamePlayer.js +3 -0
- package/dist/bot.js +3 -0
- package/dist/comm/Codes.js +3 -0
- package/dist/comm/CommIn.js +3 -0
- package/dist/comm/CommOut.js +3 -0
- package/dist/comm/OutBuffer.js +3 -0
- package/dist/comm/Pool.js +3 -0
- package/dist/comm/index.js +3 -0
- package/dist/constants/challenges.js +3 -0
- package/dist/constants/changelog.js +3 -0
- package/dist/constants/codes.js +3 -0
- package/dist/constants/guns.js +3 -0
- package/dist/constants/housePromo.js +3 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/items.js +3 -0
- package/dist/constants/language.js +3 -0
- package/dist/constants/maps.js +3 -0
- package/dist/constants/shellNews.js +3 -0
- package/dist/constants/shellYoutube.js +3 -0
- package/dist/constants/shopItems.js +3 -0
- package/dist/constants/sounds.js +3 -0
- package/dist/dispatches/BootPlayerDispatch.js +3 -0
- package/dist/dispatches/ChatDispatch.js +3 -0
- package/dist/dispatches/FireDispatch.js +3 -0
- package/dist/dispatches/GameOptionsDispatch.js +3 -0
- package/dist/dispatches/GoToAmmoDispatch.js +3 -0
- package/dist/dispatches/GoToCoopDispatch.js +3 -0
- package/dist/dispatches/GoToGrenadeDispatch.js +3 -0
- package/dist/dispatches/GoToPlayerDispatch.js +3 -0
- package/dist/dispatches/GoToSpatulaDispatch.js +3 -0
- package/dist/dispatches/LookAtDispatch.js +3 -0
- package/dist/dispatches/LookAtPosDispatch.js +3 -0
- package/dist/dispatches/MeleeDispatch.js +3 -0
- package/dist/dispatches/MovementDispatch.js +3 -0
- package/dist/dispatches/PauseDispatch.js +3 -0
- package/dist/dispatches/ReloadDispatch.js +3 -0
- package/dist/dispatches/ReportPlayerDispatch.js +3 -0
- package/dist/dispatches/SaveLoadoutDispatch.js +3 -0
- package/dist/dispatches/SpawnDispatch.js +3 -0
- package/dist/dispatches/SwapWeaponDispatch.js +3 -0
- package/dist/dispatches/SwitchTeamDispatch.js +3 -0
- package/dist/dispatches/ThrowGrenadeDispatch.js +3 -0
- package/dist/dispatches/index.js +3 -0
- package/dist/globals.js +3 -0
- package/dist/index.js +10 -0
- package/dist/matchmaker.js +3 -0
- package/dist/pathing/astar.js +3 -0
- package/dist/pathing/binaryheap.js +3 -0
- package/dist/pathing/mapnode.js +3 -0
- package/dist/socket.js +3 -0
- package/dist/types/api.d.ts +14 -0
- package/dist/types/bot/GamePlayer.d.ts +119 -0
- package/dist/types/bot.d.ts +331 -0
- package/dist/types/comm/Codes.d.ts +21 -0
- package/dist/types/comm/CommIn.d.ts +22 -0
- package/dist/types/comm/CommOut.d.ts +10 -0
- package/dist/types/comm/OutBuffer.d.ts +24 -0
- package/dist/types/comm/Pool.d.ts +20 -0
- package/dist/types/comm/index.d.ts +16 -0
- package/dist/types/constants/challenges.d.ts +19 -0
- package/dist/types/constants/changelog.d.ts +7 -0
- package/dist/types/constants/codes.d.ts +52 -0
- package/dist/types/constants/guns.d.ts +248 -0
- package/dist/types/constants/housePromo.d.ts +40 -0
- package/dist/types/constants/index.d.ts +123 -0
- package/dist/types/constants/items.d.ts +21 -0
- package/dist/types/constants/language.d.ts +3 -0
- package/dist/types/constants/maps.d.ts +98 -0
- package/dist/types/constants/shellNews.d.ts +12 -0
- package/dist/types/constants/shellYoutube.d.ts +12 -0
- package/dist/types/constants/shopItems.d.ts +15 -0
- package/dist/types/constants/sounds.d.ts +10 -0
- package/dist/types/dispatches/BootPlayerDispatch.d.ts +12 -0
- package/dist/types/dispatches/ChatDispatch.d.ts +10 -0
- package/dist/types/dispatches/FireDispatch.d.ts +10 -0
- package/dist/types/dispatches/GameOptionsDispatch.d.ts +8 -0
- package/dist/types/dispatches/GoToAmmoDispatch.d.ts +8 -0
- package/dist/types/dispatches/GoToCoopDispatch.d.ts +8 -0
- package/dist/types/dispatches/GoToGrenadeDispatch.d.ts +8 -0
- package/dist/types/dispatches/GoToPlayerDispatch.d.ts +11 -0
- package/dist/types/dispatches/GoToSpatulaDispatch.d.ts +8 -0
- package/dist/types/dispatches/LookAtDispatch.d.ts +14 -0
- package/dist/types/dispatches/LookAtPosDispatch.d.ts +18 -0
- package/dist/types/dispatches/MeleeDispatch.d.ts +8 -0
- package/dist/types/dispatches/MovementDispatch.d.ts +12 -0
- package/dist/types/dispatches/PauseDispatch.d.ts +8 -0
- package/dist/types/dispatches/ReloadDispatch.d.ts +8 -0
- package/dist/types/dispatches/ReportPlayerDispatch.d.ts +22 -0
- package/dist/types/dispatches/SaveLoadoutDispatch.d.ts +34 -0
- package/dist/types/dispatches/SpawnDispatch.d.ts +8 -0
- package/dist/types/dispatches/SwapWeaponDispatch.d.ts +8 -0
- package/dist/types/dispatches/SwitchTeamDispatch.d.ts +8 -0
- package/dist/types/dispatches/ThrowGrenadeDispatch.d.ts +10 -0
- package/dist/types/dispatches/index.d.ts +174 -0
- package/dist/types/matchmaker.d.ts +72 -0
- package/dist/types/socket.d.ts +7 -0
- package/dist/types/util.d.ts +4 -0
- package/dist/util.js +3 -0
- package/package.json +102 -0
package/dist/api.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import d from"./globals.js";import y from"./socket.js";import{FirebaseKey as k,UserAgent as g}from"./constants/index.js";const f=async(o,r="",i="wss://shellshock.io")=>{let e;const s=async()=>{try{e=new y(`${i}/services/`,r),e.onerror=async t=>(console.error(t),await new Promise(n=>setTimeout(n,100)),await s())}catch{await new Promise(t=>setTimeout(t,100)),await s()}};return await s(),new Promise(t=>{e.onopen=()=>{e.onerror=null,e.send(JSON.stringify(o))};let n=!1;e.onmessage=c=>{n=!0;try{const a=JSON.parse(c.data);t(a)}catch{console.error("queryServices: Bad API JSON response with call: "+o.cmd+" and data:",JSON.stringify(o)),console.error("queryServices: Full data sent: ",JSON.stringify(o)),t("bad_json")}e.close()},e.onerror=()=>!n&&t("unknown_socket_error"),e.onclose=()=>!n&&t("services_closed_early")})};async function _(o,r,i="",e="wss://shellshock.io"){return await p(o,r,i,e,!0)}async function p(o,r,i="",e="wss://shellshock.io",s){if(!o||!r)return"firebase_no_credentials";const t=s?"signUp":"signInWithPassword";let n=!1,c,a,u,l=0;for(;!n;)try{c=await d.fetch(`https://identitytoolkit.googleapis.com/v1/accounts:${t}?key=${k}`,{method:"POST",body:JSON.stringify({email:o,password:r,returnSecureToken:!0}),headers:{"content-type":"application/json",origin:"https://shellshock.io","user-agent":g,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},dispatcher:i?new d.ProxyAgent(i.replace(/socks([4|5|4a|5h]+)/g,"https")):void 0}),a=await c.json(),u=a.idToken,n=!0}catch(h){if(++l,h.code=="auth/network-request-failed")console.error("loginWithCredentials: Network req failed (auth/network-request-failed), retrying, k =",l);else{if(h.code=="auth/missing-email")return"firebase_no_credentials";h.code=="ERR_BAD_REQUEST"?(console.error("loginWithCredentials: Error:",o,r),console.error("loginWithCredentials: Error:",h.response?.data||h,"k =",l)):(console.error("loginWithCredentials: Error:",o,r),console.error("loginWithCredentials: Error:",h,"k =",l))}if(l>5)return"firebase_too_many_retries";await new Promise(m=>setTimeout(m,100))}return u?await f({cmd:"auth",firebaseToken:u},i,e):(console.error("loginWithCredentials: the game sent no idToken",a),"firebase_no_token")}async function b(o,r="",i="wss://shellshock.io"){if(!o)return"firebase_no_credentials";const e=new URLSearchParams;e.append("grant_type","refresh_token"),e.append("refresh_token",o);let s=!1,t,n,c,a=0;for(;!s;)try{t=await d.fetch(`https://securetoken.googleapis.com/v1/token?key=${k}`,{method:"POST",body:e,headers:{"content-type":"application/x-www-form-urlencoded",origin:"https://shellshock.io","user-agent":g,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},dispatcher:r?new d.ProxyAgent(r.replace(/socks([4|5|4a|5h]+)/g,"https")):void 0}),n=await t.json(),c=n.id_token,s=!0}catch(l){if(++a,l.code=="auth/network-request-failed")console.error("loginWithRefreshToken: Network req failed (auth/network-request-failed), retrying, k =",a);else{if(l.code=="auth/missing-email")return"firebase_no_credentials";console.error("loginWithRefreshToken: Error:",o),console.error("loginWithRefreshToken: Error:",l,"k =",a)}if(a>5)return"firebase_too_many_retries";await new Promise(w=>setTimeout(w,100))}return c?await f({cmd:"auth",firebaseToken:c},r,i):(console.error("loginWithRefreshToken: the game sent no idToken",n),"firebase_no_token")}async function S(o="",r="wss://shellshock.io"){const e=await(await d.fetch("https://identitytoolkit.googleapis.com/v1/accounts:signUp?key="+k,{method:"POST",body:JSON.stringify({returnSecureToken:!0}),headers:{"content-type":"application/json",origin:"https://shellshock.io","user-agent":g,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},dispatcher:o?new d.ProxyAgent(o.replace(/socks([4|5|4a|5h]+)/g,"https")):void 0})).json(),s=e.idToken;return s?await f({cmd:"auth",firebaseToken:s},o,r):(console.error("loginAnonymously: the game sent no idToken",e),"firebase_no_token")}export{_ as createAccount,S as loginAnonymously,p as loginWithCredentials,b as loginWithRefreshToken,f as queryServices};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import{GunList as e,ShellStreaks as t,SocialMedias as h}from"../constants/index.js";import{Cluck9mm as o}from"../constants/guns.js";class m{constructor(s){this.id=s.id,this.name=s.name,this.uniqueId=s.uniqueId,this.team=s.team,this.playing=s.playing,this.socials=s.social&&JSON.parse(s.social),this.socials&&this.socials.forEach(i=>i.type=h[i.id]),this.isVip=s.upgradeProductId>0,this.showBadge=!s.hideBadge||!1,this.position={x:s.x,y:s.y,z:s.z},this.jumping=!1,this.climbing=!1,this.view={yaw:s.yaw,pitch:s.pitch},this.character={eggColor:s.shellColor,primaryGun:s.primaryWeaponItem,secondaryGun:s.secondaryWeaponItem,stamp:s.stampItem,hat:s.hatItem,grenade:s.grenadeItem,melee:s.meleeItem,stampPos:{x:s.stampPosX,y:s.stampPosY}},this.stats={killsInGame:s.kills,deathsInGame:s.deaths,streak:s.streak,totalKills:s.totalKills,totalDeaths:s.totalDeaths,bestGameStreak:s.bestGameStreak,bestOverallStreak:s.bestOverallStreak},this.activeGun=s.weaponIdx,this.selectedGun=s.charClass,this.weapons=[],this.character.primaryGun&&(this.weapons[0]=new e[this.selectedGun],this.weapons[1]=new o),this.grenades=1,this.streak=s.score,this.streakRewards=Object.values(t).filter(i=>s.activeShellStreaks&i),this.hp=s.hp,this.hpShield=0,this.spawnShield=s.shield,this.randomSeed=0}}var u=m;export{m as GamePlayer,u as default};
|
package/dist/bot.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import{createAccount as z,loginAnonymously as H,loginWithCredentials as W,loginWithRefreshToken as j,queryServices as g}from"./api.js";import s from"./comm/CommIn.js";import f from"./comm/CommOut.js";import{CloseCode as K}from"./comm/Codes.js";import{CommCode as c}from"./constants/codes.js";import U from"./bot/GamePlayer.js";import q from"./matchmaker.js";import Y from"./socket.js";import{ChiknWinnerDailyLimit as Z,CollectTypes as T,CoopStates as y,findItemById as d,FramesBetweenSyncs as w,GameActions as E,GameModes as u,GameOptionFlags as G,GunList as X,ItemTypes as V,Movements as F,PlayTypes as J,ProxiesEnabled as Q,ShellStreaks as m,StateBufferSize as b}from"./constants/index.js";import R from"./dispatches/LookAtPosDispatch.js";import M from"./dispatches/MovementDispatch.js";import{NodeList as tt}from"./pathing/mapnode.js";import{fetchMap as et,initKotcZones as st}from"./util.js";import{Challenges as at}from"./constants/challenges.js";import{Maps as S}from"./constants/maps.js";const B=Object.fromEntries(Object.entries(y).map(([P,t])=>[t,P])),A=Object.fromEntries(Object.entries(u).map(([P,t])=>[t,P])),O={CHALLENGES:1,STATS:2,PATHFINDING:3,PING:5,COSMETIC_DATA:6,PLAYER_HEALTH:7,PACKET_HOOK:8,LOG_PACKETS:10,NO_LOGIN:11,DEBUG_BUFFER:12,DEBUG_BEST_TARGET:14},x=(P,t)=>(P%t+t)%t;class it{static Intents=O;Intents=O;#e=[];#t={};#i=[];#n;constructor(t={}){if(t.proxy&&!Q)throw new Error("proxies do not work and hence are not supported in the browser");this.intents=t.intents||[],this.instance=t.instance||"shellshock.io",this.protocol=t.protocol||"wss",this.proxy=t.proxy||"",this.state={name:"yolkbot",weaponIdx:0,reloading:!1,swappingGun:!1,usingMelee:!1,stateIdx:0,serverStateIdx:0,shotsFired:0,buffer:[],left:!1,quit:!1},this.players={},this.me=new U({}),this.game={raw:{},code:"",socket:null,gameModeId:0,gameMode:A[0],mapIdx:0,map:{filename:"",hash:"",name:"",modes:{FFA:!1,Teams:!1,Spatula:!1,King:!1},availability:"both",numPlayers:"18",raw:{},nodes:{},zones:[]},playerLimit:0,isGameOwner:!1,isPrivate:!0,options:{gravity:1,damage:1,healthRegen:1,locked:!1,noTeamChange:!1,noTeamShuffle:!1,weaponsDisabled:Array(7).fill(!1),mustUseSecondary:!1},collectables:[[],[]],teamScore:[0,0,0],spatula:{coords:{x:0,y:0,z:0},controlledBy:0,controlledByTeam:0},stage:y.capturing,zoneNumber:0,activeZone:[],capturing:0,captureProgress:0,numCapturing:0,stageName:"",capturePercent:0},this.#n=this.game,this.account={id:0,firebaseId:"",sessionId:"",session:"",email:"",password:"",cw:{atLimit:!1,limit:0,secondsUntilPlay:0,canPlayAgain:Date.now()},loadout:{hatId:null,meleeId:0,stampId:null,classIdx:0,colorIdx:0,grenadeId:0,primaryId:[3100,3600,3400,3800,4e3,4200,4500],secondaryId:new Array(7).fill(3e3),stampPositionX:0,stampPositionY:0},ownedItemIds:[],vip:!1,accountAge:0,emailVerified:!1,eggBalance:0,rawLoginData:{}},this.matchmaker=null,this.ping=0,this.lastPingTime=-1,this.lastDeathTime=-1,this.lastChatTime=-1,this.lastUpdateTick=0,this.controlKeys=0,this.pathing={nodeList:null,followingPath:!1,activePath:null,activeNode:null,activeNodeIdx:0}}dispatch(t){t.check(this)?t.execute(this):this.#e.push(t)}async createAccount(t,e){this.account.email=t,this.account.password=e;const a=await z(t,e,this.proxy,`${this.protocol}://${this.instance}`);return await this.#s(a)}async login(t,e){this.account.email=t,this.account.password=e;const a=await W(t,e,this.proxy,`${this.protocol}://${this.instance}`);return await this.#s(a)}async loginWithRefreshToken(t){const e=await j(t,this.proxy,`${this.protocol}://${this.instance}`);return await this.#s(e)}async loginAnonymously(){delete this.account.email,delete this.account.password;const t=await H(this.proxy,`${this.protocol}://${this.instance}`);return await this.#s(t)}async#s(t){return typeof t!="object"?(this.emit("authFail",t),!1):t.banRemaining?(this.emit("banned",t.banRemaining),!1):t.playerOutput?(t=t.playerOutput,this.account.rawLoginData=t,this.account.accountAge=t.accountAge,this.account.eggBalance=t.currentBalance,this.account.emailVerified=t.emailVerified,this.account.firebaseId=t.firebaseId,this.account.id=t.id,this.account.loadout=t.loadout,this.account.ownedItemIds=t.ownedItemIds,this.account.session=t.session,this.account.sessionId=t.sessionId,this.account.vip=t.upgradeProductId&&!t.upgradeIsExpired,this.intents.includes(this.Intents.STATS)&&(this.account.stats={lifetime:t.statsLifetime,monthly:t.statsCurrent}),this.intents.includes(this.Intents.CHALLENGES)&&this.#a(t.challenges),this.emit("authSuccess",this.account),this.account):(this.emit("authFail",t),!1)}#a(t){this.account.challenges=[];for(const e of t){const a=at.find(i=>i.id==e.challengeId);a&&(delete e.playerId,this.account.challenges.push({raw:{challengeInfo:a,challengeData:e},id:e.challengeId,name:a.loc.title,desc:a.loc.desc,rewardEggs:a.reward,isRerolled:!!e.reset,isClaimed:!!e.claimed,isCompleted:!!e.completed,progressNum:e.progress,goalNum:a.goal}))}}async initMatchmaker(){return!this.account.sessionId&&!this.intents.includes(this.Intents.NO_LOGIN)&&!await this.loginAnonymously()?!1:(this.matchmaker||(this.matchmaker=new q({sessionId:this.account.sessionId,proxy:this.proxy,instance:this.instance,protocol:this.protocol,noLogin:this.intents.includes(this.Intents.NO_LOGIN)}),this.matchmaker.on("authFail",t=>this.emit("authFail",t)),await this.matchmaker.getRegions()),!0)}async#o(t){return await this.initMatchmaker()?await new Promise(e=>{const a=i=>{if(i.command=="gameFound"&&(this.matchmaker.off("msg",a),this.game.raw=i,this.game.code=i.id,e()),i.error&&i.error=="gameNotFound")throw new Error(`Game ${t} not found (likely expired).`)};this.matchmaker.on("msg",a),this.matchmaker.send({command:"joinGame",id:t,observe:!1,sessionId:this.account.sessionId})}):!1}async createPrivateGame(t={}){if(!await this.initMatchmaker())return!1;if(!t.region)throw new Error('pass a region: createPrivateGame({ region: "useast", ... })');if(!this.matchmaker.regionList.find(i=>i.id==t.region))throw new Error('invalid region, see <bot>.matchmaker.regionList for a region list (pass an "id")');if(!t.mode)throw new Error('pass a mode: createPrivateGame({ mode: "ffa", ... })');if(u[t.mode]==null)throw new Error("invalid mode, see GameModes for a list");if(!t.map)throw new Error('pass a map: createPrivateGame({ map: "downfall", ... })');const e=S.find(i=>i.name.toLowerCase()==t.map.toLowerCase()),a=S.indexOf(e);if(a==-1)throw new Error("invalid map, see the Maps constant for a list");return await new Promise(i=>{const n=o=>{o.command=="gameFound"&&(this.matchmaker.off("msg",n),this.game.raw=o,this.game.code=this.game.raw.id,i())};this.matchmaker.on("msg",n),this.matchmaker.send({command:"findGame",region:t.region,playType:J.createPrivate,gameType:u[t.mode],sessionId:this.account.sessionId,noobLobby:!1,map:a})}),this.game.raw}async join(t,e){if(this.state.name=t||"yolkbot",typeof e=="string"?(e.includes("#")&&(e=e.split("#")[1]),await this.#o(e)):typeof e=="object"&&(this.account.id==0&&await this.loginAnonymously(),this.game.raw=e,this.game.code=this.game.raw.id),!this.game.raw.id)throw new Error("invalid game data passed to <bot>.join");const a=async()=>{try{const i=this.instance.startsWith("localhost:")?this.instance:`${this.game.raw.subdomain}.${this.instance}`;this.game.socket=new Y(`${this.protocol}://${i}/game/${this.game.raw.id}`,this.proxy),this.game.socket.onerror=async n=>(console.error(n),await new Promise(o=>setTimeout(o,100)),await a())}catch{await new Promise(i=>setTimeout(i,100)),await a()}};await a(),this.game.socket.binaryType="arraybuffer",this.game.socket.onopen=()=>this.game.socket.onerror=null,this.game.socket.onmessage=i=>this.processPacket(i.data),this.game.socket.onclose=i=>{this.state.left?this.state.left=!1:(this.emit("close",i.code),this.leave(-1))}}#c(){if(Object.entries(this.me.position).map(e=>Math.floor(e[1])).join(",")==this.pathing.activePath[this.pathing.activePath.length-1].positionStr)this.pathing.followingPath=!1,this.pathing.activePath=null,this.pathing.activeNode=null,this.pathing.activeNodeIdx=0,this.dispatch(new M(0));else{let e;this.pathing.activeNodeIdx<this.pathing.activePath.length-1?(e=this.pathing.activePath[this.pathing.activeNodeIdx+1].flatCenter(),this.dispatch(new R(e))):(e=this.pathing.activePath[this.pathing.activeNodeIdx].flatCenter(),this.dispatch(new R(e)));for(const a of this.pathing.activePath)if(a.flatRadialDistance(this.me.position)<.1&&a.position.y==Math.floor(this.me.position.y)&&this.pathing.activePath.indexOf(a)>=this.pathing.activeNodeIdx){this.pathing.activeNodeIdx=this.pathing.activePath.indexOf(a)+1,this.pathing.activeNode=this.pathing.activePath[this.pathing.activeNodeIdx];break}this.controlKeys&F.FORWARD||this.dispatch(new M(F.FORWARD))}}update(){if(!this.state.quit){if(this.pathing.followingPath&&this.intents.includes(this.Intents.PATHFINDING)&&this.#c(),this.#e.length>0)for(let t=0;t<this.#e.length;t++){const e=this.#e[t];e.check(this)&&(e.execute(this),this.#e.splice(t,1))}if(this.me.playing){const t=this.state.stateIdx;if(this.intents.includes(this.Intents.DEBUG_BUFFER)&&(console.log("setting buffer for idx",t),console.log("checking...shotsFired",this.state.shotsFired)),this.state.buffer[t]={controlKeys:this.controlKeys,yaw:this.me.view.yaw,pitch:this.me.view.pitch,shotsFired:this.state.shotsFired},this.state.shotsFired=0,this.lastUpdateTick>=2){this.emit("tick");const e=f.getBuffer();e.packInt8(c.syncMe),e.packInt8(this.state.stateIdx),e.packInt8(this.state.serverStateIdx);const a=x(this.state.stateIdx-w+1,b);for(let i=0;i<w;i++){const n=x(a+i,b);this.intents.includes(this.Intents.DEBUG_BUFFER)&&console.log("going with",this.state.stateIdx,a,n,this.state.buffer[n]),e.packInt8(this.state.buffer[n]?.controlKeys||0),e.packInt8(this.state.buffer[n]?.shotsFired||0),e.packRadU(this.state.buffer[n]?.yaw||this.me.view.yaw),e.packRad(this.state.buffer[n]?.pitch||this.me.view.pitch),e.packInt8(100)}e.send(this.game.socket),this.state.buffer=[],this.lastUpdateTick=0}else this.lastUpdateTick++;this.state.stateIdx=x(this.state.stateIdx+1,b)}if(this.intents.includes(this.Intents.PLAYER_HEALTH))for(const t of Object.values(this.players)){if(t.playing&&t.hp>0){const e=.1*(this.game.isPrivate?this.game.options.healthRegen:1);t.streakRewards.includes(m.OverHeal)?t.hp=Math.max(100,t.hp-e):t.hp=Math.min(100,t.hp+e)}t.spawnShield>0&&(t.spawnShield-=6)}}}on(t,e){Object.keys(this.#t).includes(t)?this.#t[t].push(e):this.#t[t]=[e]}onAny(t){this.#i.push(t)}off(t,e){this.#t[t]=this.#t[t].filter(a=>a!==e)}emit(t,...e){if(!this.state.quit){if(this.#t[t])for(const a of this.#t[t])a(...e);for(const a of this.#i)a(t,...e)}}#r(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=s.unPackString().valueOf(),i=this.players[t];this.emit("chat",i,a,e)}#h(){const t=s.unPackInt8U(),e=this.intents.includes(this.Intents.COSMETIC_DATA),a={id:t,uniqueId:s.unPackString(),name:s.unPackString(),safename:s.unPackString(),charClass:s.unPackInt8U(),team:s.unPackInt8U(),primaryWeaponItem:e?d(s.unPackInt16U()):s.unPackInt16U(),secondaryWeaponItem:e?d(s.unPackInt16U()):s.unPackInt16U(),shellColor:s.unPackInt8U(),hatItem:e?d(s.unPackInt16U()):s.unPackInt16U(),stampItem:e?d(s.unPackInt16U()):s.unPackInt16U(),stampPosX:s.unPackInt8(),stampPosY:s.unPackInt8(),grenadeItem:e?d(s.unPackInt16U()):s.unPackInt16U(),meleeItem:e?d(s.unPackInt16U()):s.unPackInt16U(),x:s.unPackFloat(),y:s.unPackFloat(),z:s.unPackFloat(),$dx:s.unPackFloat(),$dy:s.unPackFloat(),$dz:s.unPackFloat(),yaw:s.unPackRadU(),pitch:s.unPackRad(),score:s.unPackInt32U(),kills:s.unPackInt16U(),deaths:s.unPackInt16U(),streak:s.unPackInt16U(),totalKills:s.unPackInt32U(),totalDeaths:s.unPackInt32U(),bestGameStreak:s.unPackInt16U(),bestOverallStreak:s.unPackInt16U(),shield:s.unPackInt8U(),hp:s.unPackInt8U(),playing:s.unPackInt8U(),weaponIdx:s.unPackInt8U(),$controlKeys:s.unPackInt8U(),upgradeProductId:s.unPackInt8U(),activeShellStreaks:s.unPackInt8U(),social:s.unPackLongString(),hideBadge:s.unPackInt8U()};s.unPackInt8U(),s.unPackInt8U(),s.unPackInt8U(),this.players[a.id]||(this.players[a.id]=new U(a)),this.me.id==a.id&&(this.me=this.players[a.id]),this.emit("playerJoin",this.players[a.id])}#l(){const t=s.unPackInt8U(),e=s.unPackInt16U(),a=s.unPackFloat(),i=s.unPackFloat(),n=s.unPackFloat(),o=s.unPackInt8U(),h=s.unPackInt8U(),p=s.unPackInt8U(),I=s.unPackInt8U(),k=s.unPackInt8U(),r=this.players[t];r&&(r.playing=!0,r.randomSeed=e,r.weapons[0]&&r.weapons[0].ammo&&(r.weapons[0].ammo.rounds=o),r.weapons[0]&&r.weapons[0].ammo&&(r.weapons[0].ammo.store=h),r.weapons[1]&&r.weapons[1].ammo&&(r.weapons[1].ammo.rounds=p),r.weapons[1]&&r.weapons[1].ammo&&(r.weapons[1].ammo.store=I),r.grenades=k,r.position={x:a,y:i,z:n},r.spawnShield=120,this.emit("playerRespawn",r))}#m(){const t=s.unPackInt8U(),e=s.unPackFloat(),a=s.unPackFloat(),i=s.unPackFloat(),n=s.unPackInt8U(),o=this.players[t];if(!o||o.id==this.me.id){for(let h=0;h<w;h++)s.unPackInt8U(),s.unPackRadU(),s.unPackRad(),s.unPackInt8U();return}o.position.x!==e&&(o.position.x=e),o.position.z!==i&&(o.position.z=i),(!o.jumping||Math.abs(o.position.y-a)>.5&&o.position.y!==a)&&(o.position.y=a),o.climbing!==n&&(o.climbing=n);for(let h=0;h<w;h++)s.unPackInt8U(),s.unPackRadU(),s.unPackRad(),s.unPackInt8U()}#d(){const t=s.unPackInt8U(),e=this.players[t];e&&(e.playing=!1,this.emit("playerPause",e))}#u(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=this.players[t];a&&(a.activeGun=e,this.emit("playerSwapWeapon",a,e))}#p(){const t=s.unPackInt8U(),e=s.unPackInt8U();s.unPackInt8U(),s.unPackInt8U(),s.unPackInt8U();const a=this.players[t],i=this.players[e];a&&(a.playing=!1,a.streak=0,a.lastDeathTime=Date.now(),a.hp=100,a.spawnShield=0),i&&i.streak++,this.emit("playerDeath",a,i)}#g(){const t=s.unPackInt8U();for(let i=0;i<6;i++)s.unPackFloat();const e=this.players[t],a=e.weapons[e.activeGun];a&&a.ammo&&(a.ammo.rounds--,this.emit("playerFire",e,a))}#k(){const t=s.unPackInt16U(),e=s.unPackInt8U(),a=s.unPackFloat(),i=s.unPackFloat(),n=s.unPackFloat();this.game.collectables[e].push({id:t,x:a,y:i,z:n}),this.emit("spawnItem",e,t,{x:a,y:i,z:n})}#I(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=s.unPackInt8U(),i=s.unPackInt16U(),n=this.players[t];if(this.game.collectables[e]=this.game.collectables[e].filter(o=>o.id!=i),e==T.AMMO){const o=n.weapons[a];o&&o.ammo&&(o.ammo.store=Math.min(o.ammo.storeMax,o.ammo.store+o.ammo.pickup),this.emit("collectAmmo",n,o))}e==T.GRENADE&&(n.grenades++,n.grenades>3&&(n.grenades=3),this.emit("collectGrenade",n))}#f(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=this.players[t];if(!a)return;const i=a.hp;a.hp=e,this.emit("playerDamaged",a,i,a.hp)}#P(){const t=s.unPackInt8U();s.unPackFloat(),s.unPackFloat();const e=this.me.hp;this.me.hp=t,this.emit("selfDamaged",e,this.me.hp)}#y(){const t=s.unPackInt8U(),e=this.players[t];s.unPackInt8U();const a=s.unPackInt8U(),i=s.unPackFloat(),n=s.unPackFloat(),o=s.unPackFloat();if(s.unPackInt8U(),s.unPackInt8U(),s.unPackInt8U(),!e)return;this.state.serverStateIdx=a;const h=e.position.x,p=e.position.y,I=e.position.z;e.position.x=i,e.position.y=n,e.position.z=o,(h!=i||p!=n||I!=o)&&this.emit("selfMoved",e,{x:h,y:p,z:I},{x:i,y:n,z:o})}#w(){const t=f.getBuffer();t.packInt8(c.eventModifier),t.send(this.game.socket)}#U(){const t=s.unPackInt8U(),e={...this.players[t]};delete this.players[t.toString()],this.emit("playerLeave",e)}#b(){if(this.game.gameModeId==u.spatula){this.game.teamScore[1]=s.unPackInt16U(),this.game.teamScore[2]=s.unPackInt16U();const t={x:s.unPackFloat(),y:s.unPackFloat(),z:s.unPackFloat()},e=s.unPackInt8U(),a=s.unPackInt8U();this.game.spatula={coords:t,controlledBy:e,controlledByTeam:a},this.emit("gameStateChange",this.game)}else this.game.gameModeId==u.kotc?(this.game.stage=s.unPackInt8U(),this.game.zoneNumber=s.unPackInt8U(),this.game.capturing=s.unPackInt8U(),this.game.captureProgress=s.unPackInt16U(),this.game.numCapturing=s.unPackInt8U(),this.game.teamScore[1]=s.unPackInt8U(),this.game.teamScore[2]=s.unPackInt8U(),this.game.stageName=B[this.game.stage],this.game.capturePercent=this.game.captureProgress/1e3,this.game.activeZone=this.game.map.zones?this.game.map.zones[this.game.zoneNumber-1]:null,this.emit("gameStateChange",this.game)):this.game.gameModeId==u.team&&(this.game.teamScore[1]=s.unPackInt16U(),this.game.teamScore[2]=s.unPackInt16U());this.game.gameModeId!==u.spatula&&delete this.game.spatula,this.game.gameModeId!==u.kotc&&(delete this.game.stage,delete this.game.zoneNumber,delete this.game.capturing,delete this.game.captureProgress,delete this.game.numCapturing,delete this.game.stageName,delete this.game.numCapturing,delete this.game.activeZone),this.game.gameModeId==u.ffa&&delete this.game.teamScore}#S(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=this.players[t];switch(e){case m.HardBoiled:t===this.me.id&&(this.me.shieldHp=100),a.streakRewards.push(m.HardBoiled);break;case m.EggBreaker:a.streakRewards.push(m.EggBreaker);break;case m.Restock:{a.grenades=3,a.weapons[0]&&a.weapons[0].ammo&&(a.weapons[0].ammo.rounds=a.weapons[0].ammo.capacity,a.weapons[0].ammo.store=a.weapons[0].ammo.storeMax),a.weapons[1]&&a.weapons[1].ammo&&(a.weapons[1].ammo.rounds=a.weapons[1].ammo.capacity,a.weapons[1].ammo.store=a.weapons[1].ammo.storeMax);break}case m.OverHeal:a.hp=Math.min(200,a.hp+100),a.streakRewards.push(m.OverHeal);break;case m.DoubleEggs:a.streakRewards.push(m.DoubleEggs);break;case m.MiniEgg:a.streakRewards.push(m.MiniEgg);break}this.emit("playerBeginStreak",a,e)}#x(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=this.players[t];[m.EggBreaker,m.OverHeal,m.DoubleEggs,m.MiniEgg].includes(e)&&a.streakRewards.includes(e)&&(a.streakRewards=a.streakRewards.filter(n=>n!=e)),this.emit("playerEndStreak",e,a)}#v(){const t=s.unPackInt8U(),e=s.unPackInt8U();s.unPackFloat(),s.unPackFloat(),this.me.shieldHp=t,this.me.hp=e,this.me.shieldHp<=0?(this.me.streakRewards=this.me.streakRewards.filter(a=>a!=m.HardBoiled),this.emit("selfShieldLost")):this.emit("selfShieldHit",this.me.shieldHp)}#C(){const t={...this.game.options};let e=s.unPackInt8U(),a=s.unPackInt8U(),i=s.unPackInt8U();(e<1||e>4)&&(e=4),(a<0||a>8)&&(a=4),i>16&&(i=4),this.game.options.gravity=e/4,this.game.options.damage=a/4,this.game.options.healthRegen=i/4;const n=s.unPackInt8U();return Object.keys(G).forEach(o=>{const h=n&G[o]?1:0;this.game.options[o]=h}),this.game.options.weaponsDisabled=Array.from({length:7},()=>s.unPackInt8U()===1),this.game.options.mustUseSecondary=this.game.options.weaponsDisabled.every(o=>o),this.emit("gameOptionsChange",t,this.game.options),!1}#T(){const t=s.unPackInt8U();t==E.pause&&(this.emit("gameForcePause"),setTimeout(()=>this.me.playing=!1,3e3)),t==E.reset&&(Object.values(this.players).forEach(e=>e.streak=0),this.game.gameModeId!==u.ffa&&(this.game.teamScore=[0,0,0]),this.game.gameModeId===u.spatula&&(this.game.spatula.controlledBy=0,this.game.spatula.controlledByTeam=0,this.game.spatula.coords={x:0,y:0,z:0}),this.game.gameModeId===u.kotc&&(this.game.stage=y.capturing,this.game.zoneNumber=0,this.game.activeZone=null,this.game.capturing=0,this.game.captureProgress=0,this.game.numCapturing=0,this.game.stageName=B[y.capturing],this.game.capturePercent=0),this.emit("gameReset"))}#E(){if(!this.intents.includes(this.Intents.PING))return;const t=this.ping;this.ping=Date.now()-this.lastPingTime,this.emit("pingUpdate",t,this.ping),setTimeout(()=>{const e=f.getBuffer();e.packInt8(c.ping),e.send(this.game.socket),this.lastPingTime=Date.now()},this.pingInterval)}#G(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=this.players[t];if(!a)return;const i=a.team;a.team=e,a.streak=0,this.emit("playerSwitchTeam",a,i,e)}#F(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=s.unPackInt16U(),i=s.unPackInt16U(),n=s.unPackInt8U(),o=s.unPackInt16U(),h=s.unPackInt16U(),p=s.unPackInt16U(),I=s.unPackInt16U();s.unPackInt8(),s.unPackInt8();const k=this.intents.includes(this.Intents.COSMETIC_DATA),r=k?d(a):a,L=k?d(i):i,N=k?d(o):o,D=k?d(h):h,$=k?d(p):p,_=k?d(I):I,l=this.players[t];if(l){const v={...l.character},C=l.selectedGun;l.character.eggColor=n,l.character.primaryGun=r,l.character.secondaryGun=L,l.character.stamp=D,l.character.hat=N,l.character.grenade=$,l.character.melee=_,l.selectedGun=e,l.weapons[0]=new X[e],C!==l.selectedGun&&this.emit("playerChangeGun",l,C,l.selectedGun),v!==l.character&&this.emit("playerChangeCharacter",l,v,l.character)}}#R(){const t=s.unPackInt32U(),e=this.account.eggBalance;this.account.eggBalance=t,this.emit("balanceUpdate",t-e,t)}#M(){this.me.playing=!1,this.emit("selfRespawnFail")}#B(){const t=s.unPackInt8U(),e=this.players[t];e&&this.emit("playerMelee",e)}#A(){const t=s.unPackInt8U(),e=this.players[t];if(!e)return;const a=e.weapons[e.activeGun];if(a.ammo){const i=Math.min(Math.min(a.ammo.capacity,a.ammo.reload)-a.ammo.rounds,a.ammo.store);a.ammo.rounds+=i,a.ammo.store-=i}this.emit("playerReload",e,a)}#O(){const t=f.getBuffer();t.packInt8(c.gameOptions),t.packInt8(this.game.options.gravity*4),t.packInt8(this.game.options.damage*4),t.packInt8(this.game.options.healthRegen*4);const e=(this.game.options.locked?1:0)|(this.game.options.noTeamChange?2:0)|(this.game.options.noTeamShuffle?4:0);t.packInt8(e),this.game.options.weaponsDisabled.forEach(a=>{t.packInt8(a?1:0)}),t.send(this.game.socket)}#L(){const t=s.unPackInt8U();let e=s.unPackInt16U();const a=s.unPackFloat(),i=s.unPackFloat(),n=s.unPackFloat(),o=s.unPackInt8U(),h=s.unPackFloat();this.intents.includes(this.Intents.COSMETIC_DATA)&&(e=d(e)),t==V.Grenade?this.emit("grenadeExploded",e,{x:a,y:i,z:n},o,h):this.emit("rocketHit",{x:a,y:i,z:n},o,h)}#N(){const t=s.unPackInt8U(),e=s.unPackFloat(),a=s.unPackFloat(),i=s.unPackFloat(),n=s.unPackFloat(),o=s.unPackFloat(),h=s.unPackFloat(),p=this.players[t];p&&(p.grenades--,this.emit("playerThrowGrenade",p,{x:e,y:a,z:i},{x:n,y:o,z:h}))}#D(){const t=s.unPackInt8U(),e=s.unPackInt8U(),a=this.players[t];if(!a)return;if(!this.intents.includes(this.Intents.CHALLENGES))return this.emit("challengeComplete",a,e);const i=this.account.challenges.find(n=>n.id==e);this.emit("challengeComplete",a,i),a.id==this.me.id&&this.refreshChallenges()}#$(){const t=f.getBuffer();t.packInt8(c.joinGame),t.packString(this.state.name),t.packString(this.game.raw.uuid),t.packInt8(0),t.packInt8(this.state.weaponIdx||this.account?.loadout?.classIdx||0),t.packInt32(this.account.session),t.packString(this.account.firebaseId),t.packString(this.account.sessionId),t.send(this.game.socket)}async#_(){if(this.me.id=s.unPackInt8U(),this.me.team=s.unPackInt8U(),this.game.gameModeId=s.unPackInt8U(),this.game.gameMode=A[this.game.gameModeId],this.game.mapIdx=s.unPackInt8U(),this.game.map=S[this.game.mapIdx],this.intents.includes(this.Intents.PATHFINDING)&&(this.game.map.raw=await et(this.game.map.filename,this.game.map.hash),this.pathing.nodeList=new tt(this.game.map.raw),this.game.gameModeId===u.kotc)){const e=this.game.map.raw.data["DYNAMIC.capture-zone.none"];e?this.game.map.zones=st(e):delete this.game.map.zones}this.game.playerLimit=s.unPackInt8U(),this.game.isGameOwner=s.unPackInt8U()==1,this.game.isPrivate=s.unPackInt8U()==1,s.unPackInt8U(),this.state.joinedGame=!0,this.lastDeathTime=Date.now();const t=f.getBuffer();if(t.packInt8(c.clientReady),t.send(this.game.socket),this.game.socket.onmessage=e=>this.processPacket(e.data),this.updateIntervalId=setInterval(()=>this.update(),100/3),this.intents.includes(this.Intents.PING)){this.lastPingTime=Date.now();const e=f.getBuffer();e.packInt8(c.ping),e.send(this.game.socket)}this.emit("gameReady")}processPacket(t){s.init(t),this.intents.includes(this.Intents.PACKET_HOOK)&&this.emit("packet",t);let e=0,a=0,i=!1;for(;s.isMoreDataAvailable()&&!i;){const n=s.unPackInt8U();switch(n){case c.syncThem:this.#m();break;case c.fire:this.#g();break;case c.hitThem:this.#f();break;case c.syncMe:this.#y();break;case c.hitMe:this.#P();break;case c.swapWeapon:this.#u();break;case c.collectItem:this.#I();break;case c.respawn:this.#l();break;case c.die:this.#p();break;case c.pause:this.#d();break;case c.chat:this.#r();break;case c.addPlayer:this.#h();break;case c.removePlayer:this.#U();break;case c.eventModifier:this.#w();break;case c.metaGameState:this.#b();break;case c.beginShellStreak:this.#S();break;case c.endShellStreak:this.#x();break;case c.hitMeHardBoiled:this.#v();break;case c.gameOptions:this.#C();break;case c.ping:this.#E();break;case c.switchTeam:this.#G();break;case c.changeCharacter:this.#F();break;case c.reload:this.#A();break;case c.explode:this.#L();break;case c.throwGrenade:this.#N();break;case c.spawnItem:this.#k();break;case c.melee:this.#B();break;case c.updateBalance:this.#R();break;case c.challengeCompleted:this.#D();break;case c.socketReady:this.#$();break;case c.gameJoined:this.#_();break;case c.gameAction:this.#T();break;case c.requestGameOptions:this.#O();break;case c.respawnDenied:this.#M();break;case c.expireUpgrade:case c.clientReady:break;case c.musicInfo:s.unPackLongString();break;default:console.error(`handlePacket: I got but did not handle a: ${Object.keys(c).find(o=>c[o]===n)} ${n}`),e&&console.error(`handlePacket: It may be a result of the ${e} command (${a}).`),i=!0;break}e=Object.keys(c).find(o=>c[o]===n),a=n,this.intents.includes(this.Intents.LOG_PACKETS)&&console.log(`[LOG_PACKETS] Packet ${e}: ${a}`)}}async checkChiknWinner(){const t=await g({cmd:"chicknWinnerReady",id:this.account.id,sessionId:this.account.sessionId});return typeof t=="string"?t:(this.account.cw.limit=t.limit,this.account.cw.atLimit=t.limit>=4,this.account.cw.secondsUntilPlay=(this.account.cw.atLimit?t.period:t.span)||0,this.account.cw.canPlayAgain=Date.now()+this.account.cw.secondsUntilPlay*1e3,this.account.cw)}async playChiknWinner(t=!0){if(this.account.cw.atLimit||this.account.cw.limit>Z)return"hit_daily_limit";if(this.account.cw.canPlayAgain>Date.now()&&t)return"on_cooldown";const e=await g({cmd:"incentivizedVideoReward",firebaseId:this.account.firebaseId,id:this.account.id,sessionId:this.account.sessionId,token:null},this.proxy,`${this.protocol}://${this.instance}`);return typeof e=="string"?e:e.error?e.error=="RATELIMITED"||e.error=="RATELMITED"?(await this.checkChiknWinner(),"on_cooldown"):e.error=="SESSION_EXPIRED"?"session_expired":(console.error("Unknown Chikn Winner response",e),"unknown_error"):e.reward?(this.account.eggBalance+=e.reward.eggsGiven,e.reward.itemIds.forEach(a=>this.account.ownedItemIds.push(a)),await this.checkChiknWinner(),e.reward):(console.error("Unknown Chikn Winner response",e),"unknown_error")}async resetChiknWinner(){if(this.account.eggBalance<200)return"not_enough_eggs";if(!this.account.cw.atLimit)return"not_at_limit";const t=await g({cmd:"chwReset",sessionId:this.account.sessionId});return typeof t=="string"?t:t.result!=="SUCCESS"?(console.error("Unknown Chikn Winner reset response",t),"unknown_error"):(this.account.eggBalance-=200,await this.checkChiknWinner(),this.account.cw)}canSee(t){if(!this.intents.includes(this.Intents.PATHFINDING))throw new Error("You must have the PATHFINDING intent to use this method.");return this.pathing.nodeList.hasLineOfSight(this.me.position,t.position)}getBestTarget(t=()=>!0){const a=Object.values(this.players).filter(n=>n?.playing).filter(n=>n.hp>0).filter(n=>n.id!==this.me.id).filter(n=>this.me.team===0||n.team!==this.me.team).filter(n=>!!t(n)).map(n=>({player:n,distance:Math.sqrt(Math.pow(n.position.x-this.me.position.x,2)+Math.pow(n.position.y-this.me.position.y,2)+Math.pow(n.position.z-this.me.position.z,2))})).sort((n,o)=>n.distance-o.distance);if(!a.length)return this.intents.includes(this.Intents.DEBUG_BEST_TARGET)&&console.log("no targets found"),null;const i=a.find(n=>this.canSee(n.player));return this.intents.includes(this.Intents.DEBUG_BEST_TARGET)&&(console.log("detected ",a.length,"targets"),console.log("closest target: ",a[0].player.name),console.log("all targets (ordered): ",a.map(n=>n.player.name)),console.log("found LoS player?",!!i),i&&console.log("closest LoS player: ",i.player.name)),i?{player:i.player,inLoS:!0}:{player:a[0].player,inLoS:!1}}async refreshChallenges(){const t=await g({cmd:"challengeGetDaily",sessionId:this.account.sessionId,playerId:this.account.id},this.proxy,`${this.protocol}://${this.instance}`);return this.#a(t),this.account.challenges}async rerollChallenge(t){const e=await g({cmd:"challengeRerollSlot",sessionId:this.account.sessionId,slotId:t},this.proxy,`${this.protocol}://${this.instance}`);return this.#a(e),this.account.challenges}async claimChallenge(t){const e=await g({cmd:"challengeClaimReward",sessionId:this.account.sessionId,slotId:t},this.proxy,`${this.protocol}://${this.instance}`);return this.#a(e.challenges),e.reward>0&&(this.account.eggBalance+=e.reward),{eggReward:e.reward,updatedChallenges:this.account.challenges}}async refreshBalance(){const t=await g({cmd:"checkBalance",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId},this.proxy,`${this.protocol}://${this.instance}`);return this.account.eggBalance=t.currentBalance,t.currentBalance}async redeemCode(t){const e=await g({cmd:"redeem",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,id:this.account.id,code:t},this.proxy,`${this.protocol}://${this.instance}`);return e.result==="SUCCESS"?(this.account.eggBalance=e.eggs_given,e.item_ids.forEach(a=>this.account.ownedItemIds.push(a)),{result:e,eggsGiven:e.eggs_given,itemIds:e.item_ids}):e}async claimURLReward(t){const e=await g({cmd:"urlRewardParams",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,reward:t},this.proxy,`${this.protocol}://${this.instance}`);return e.result==="SUCCESS"&&(this.account.eggBalance+=e.eggsGiven,e.itemIds.forEach(a=>this.account.ownedItemIds.push(a))),e}async claimSocialReward(t){const e=await g({cmd:"reward",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,rewardTag:t},this.proxy,`${this.protocol}://${this.instance}`);return e.result==="SUCCESS"&&(this.account.eggBalance+=e.eggsGiven,e.itemIds.forEach(a=>this.account.ownedItemIds.push(a))),e}async buyItem(t){const e=await g({cmd:"buy",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,itemId:t,save:!0},this.proxy,`${this.protocol}://${this.instance}`);return e.result==="SUCCESS"&&(this.account.eggBalance=e.currentBalance,this.account.ownedItemIds.push(e.itemId)),e}leave(t=K.mainMenu){this.state.quit||(t>-1&&(this.game?.socket?.close(t),this.state.left=!0,this.emit("leave")),clearInterval(this.updateIntervalId),this.#e=[],this.state.reloading=!1,this.state.swappingGun=!1,this.state.usingMelee=!1,this.state.stateIdx=0,this.state.serverStateIdx=0,this.state.shotsFired=0,this.state.buffer=[],this.players={},this.me=new U({}),this.game=this.#n,this.ping=0,this.lastPingTime=-1,this.lastDeathTime=-1,this.lastChatTime=-1,this.lastUpdateTick=0,this.controlKeys=0,this.pathing={nodeList:null,followingPath:!1,activePath:null,activeNode:null,activeNodeIdx:0})}quit(t=!1){this.state.quit||(this.leave(),this.matchmaker&&(this.matchmaker.close(),this.matchmaker=null),t||(delete this.account,delete this.game,delete this.me,delete this.players),this.state.quit=!0,this.emit("quit"))}}var yt=it;export{it as Bot,yt as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
const e={gameNotFound:4e3,gameFull:4001,badName:4002,mainMenu:4003,gameIdleExceeded:4004,corruptedLoginData:4010,gameMaxPlayersExceeded:4011,gameDestroyUser:4012,joinGameOutOfOrder:4013,gameShuttingDown:4014,readyBeforeReady:4015,booted:4016,gameErrorOnUserSocket:4017,uuidNotFound:4018,sessionNotFound:4019,clusterFullCpu:4020,clusterFullMem:4021,noClustersAvailable:4022,locked:4023};export{e as CloseCode};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
class a{static buffer;static idx;static init(t){this.buffer=new Uint8Array(t),this.idx=0}static isMoreDataAvailable(){return Math.max(0,this.buffer.length-this.idx)}static peekInt8U(){return this.buffer[this.idx]}static unPackInt8U(){const t=this.idx;return this.idx++,this.buffer[t]}static unPackInt8(){return(this.unPackInt8U()+128)%256-128}static unPackInt16U(){const t=this.idx;return this.idx+=2,this.buffer[t]+this.buffer[t+1]*256}static unPackInt24U(){const t=this.idx;return this.idx+=3,this.buffer[t]+this.buffer[t+1]*256+this.buffer[t+2]*65536}static unPackInt32U(){const t=this.idx;return this.idx+=4,this.buffer[t]+this.buffer[t+1]*256+this.buffer[t+2]*65536+this.buffer[t+3]*16777216}static unPackInt16(){return(this.unPackInt16U()+32768)%65536-32768}static unPackInt32(){return(this.unPackInt32U()+2147483648)%4294967296-2147483648}static unPackRadU(){return this.unPackInt24U()/2097152}static unPackRad(){return this.unPackInt16U()/8192-Math.PI}static unPackFloat(){return this.unPackInt16()/256}static unPackDouble(){return this.unPackInt32()/1048576}static unPackString(t){t=t||255;const i=Math.min(this.unPackInt8U(),t);return this.unPackStringHelper(i)}static unPackLongString(t){t=t||16383;const i=Math.min(this.unPackInt16U(),t);return this.unPackStringHelper(i)}static unPackStringHelper(t){if(this.isMoreDataAvailable()<t)return 0;let n=new String;for(let s=0;s<t;s++){const r=this.unPackInt16U();r>0&&(n+=String.fromCodePoint(r))}return n}}var u=a;export{u as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import f from"./CommOut.js";class s{constructor(t){this.idx=0,this.arrayBuffer=new ArrayBuffer(t),this.buffer=new Uint8Array(this.arrayBuffer,0,t)}send(t){const i=new Uint8Array(this.arrayBuffer,0,this.idx);t.send(i),f.bufferPool.recycle(this)}packInt8(t){this.buffer[this.idx]=t&255,this.idx++}packInt16(t){this.buffer[this.idx]=t&255,this.buffer[this.idx+1]=t>>8&255,this.idx+=2}packInt24(t){this.buffer[this.idx]=t&255,this.buffer[this.idx+1]=t>>8&255,this.buffer[this.idx+2]=t>>16&255,this.idx+=3}packInt32(t){this.buffer[this.idx]=t&255,this.buffer[this.idx+1]=t>>8&255,this.buffer[this.idx+2]=t>>16&255,this.buffer[this.idx+3]=t>>24&255,this.idx+=4}packRadU(t){this.packInt24(t*2097152)}packRad(t){this.packInt16((t+Math.PI)*8192)}packFloat(t){this.packInt16(t*256)}packDouble(t){this.packInt32(t*1048576)}packString(t,i=!1){typeof t!="string"&&(t=""),this.packInt8(i?254:t.length);for(let h=0;h<t.length;h++)this.packInt16(t.charCodeAt(h))}packLongString(t){typeof t!="string"&&(t=""),this.packInt16(t.length);for(let i=0;i<t.length;i++)this.packInt16(t.charCodeAt(i))}}var a=s;export{a as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
class s{constructor(i,t){this.size=0,this.originalSize=t,this.constructorFn=i,this.objects=[],this.idx=0,this.numActive=0,this.expand(t)}expand(i){for(let t=0;t<i;t++){const e=this.constructorFn();e.id=t+this.size,e.active=!1,this.objects.push(e)}this.size+=i}retrieve(i){if(i!=null){for(;i>=this.size;)this.expand(this.originalSize);return this.numActive++,this.objects[i].active=!0,this.objects[i]}let t=this.idx;do{t=(t+1)%this.size;const e=this.objects[t];if(!e.active)return this.idx=t,this.numActive++,e.active=!0,e}while(t!=this.idx);return this.expand(this.originalSize),this.retrieve()}recycle(i){i.active=!1,this.numActive--}forEachActive(i){for(let t=0;t<this.size;t++){const e=this.objects[t];e.active===!0&&i(e,t)}}}var c=s;export{c as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import o from"./CommIn.js";import m from"./CommOut.js";import r from"./OutBuffer.js";import t from"./Pool.js";import{CommCode as f}from"../constants/codes.js";import{CloseCode as p}from"./Codes.js";export{p as CloseCode,f as CommCode,o as CommIn,m as CommOut,r as OutBuffer,t as Pool};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
const l=[{id:1,loc_ref:"chlg_kill_streak_five",type:0,subType:0,period:0,goal:1,reward:100,conditional:0,value:"5",valueTwo:null,tier:2,loc:{title:"Master Chef",desc:"Get a 5 killstreak"}},{id:2,loc_ref:"chlg_kill_streak_ten",type:0,subType:0,period:0,goal:1,reward:200,conditional:0,value:"10",valueTwo:null,tier:2,loc:{title:"Butcher",desc:"Get a 10 killstreak"}},{id:3,loc_ref:"chlg_kill_streak_fifteen",type:0,subType:0,period:0,goal:1,reward:500,conditional:0,value:"15",valueTwo:null,tier:3,loc:{title:"Eggsassin",desc:"Get a 15 killstreak"}},{id:4,loc_ref:"chlg_kill_streak_twenty",type:0,subType:0,period:0,goal:1,reward:1e3,conditional:0,value:"20",valueTwo:null,tier:3,loc:{title:"Eggsecutioner",desc:"Get a 20 killstreak"}},{id:5,loc_ref:"chlg_kill_streak_fifty",type:0,subType:0,period:0,goal:1,reward:5e3,conditional:0,value:"50",valueTwo:null,tier:3,loc:{title:"Shell Smasher",desc:"Get a 50 killstreak"}},{id:6,loc_ref:"chlg_kill_kills_ten",type:0,subType:10,period:0,goal:10,reward:100,conditional:null,value:null,valueTwo:null,tier:0,loc:{title:"Shell Shocker",desc:"Get 10 total kills"}},{id:7,loc_ref:"chlg_kill_kills_twenty",type:0,subType:10,period:0,goal:20,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Yolk Drinker",desc:"Get 20 total kills"}},{id:8,loc_ref:"chlg_kill_kills_fifty",type:0,subType:10,period:0,goal:50,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Clutch Master",desc:"Get 50 total kills"}},{id:9,loc_ref:"chlg_kill_kills_hundred",type:0,subType:10,period:0,goal:100,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Eggsterminator",desc:"Get 100 total kills"}},{id:10,loc_ref:"chlg_kill_kills_two_fifty",type:0,subType:10,period:0,goal:250,reward:2500,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Ovum Overlord",desc:"Get 250 total kills"}},{id:11,loc_ref:"chlg_kill_timePlayed_two",type:0,subType:6,period:0,goal:1,reward:100,conditional:null,value:"2",valueTwo:"60",tier:0,loc:{title:"Back to Back",desc:"Spawn and get 2 kills in 1 min"}},{id:12,loc_ref:"chlg_kill_timePlayed_four",type:0,subType:6,period:0,goal:1,reward:500,conditional:null,value:"4",valueTwo:"60",tier:2,loc:{title:"C-C-C-COMBO",desc:"Spawn and get 4 kills in 1 min"}},{id:13,loc_ref:"chlg_kill_timePlayed_seven",type:0,subType:6,period:0,goal:1,reward:1e3,conditional:null,value:"7",valueTwo:"60",tier:3,loc:{title:"Eggcellerator",desc:"Spawn and get 7 kills in 1 min"}},{id:14,loc_ref:"chlg_kill_timePlayed_ten",type:0,subType:6,period:0,goal:1,reward:2500,conditional:null,value:"10",valueTwo:"60",tier:3,loc:{title:"Need for Speed",desc:"Spawn and get 10 kills in 1 min"}},{id:15,loc_ref:"chlg_kill_con_kill_one_shot",type:0,subType:8,period:0,goal:1,reward:100,conditional:11,value:"1",valueTwo:"1",tier:1,loc:{title:"Bullseye",desc:"Kill an egg with 1 shot"}},{id:16,loc_ref:"chlg_kill_con_kill_hp_ten",type:0,subType:8,period:0,goal:1,reward:500,conditional:12,value:"1",valueTwo:"10",tier:1,loc:{title:"Cutting it Close",desc:"Get a kill with less than 10 HP"}},{id:17,loc_ref:"chlg_kill_con_kill_five_streak",type:0,subType:8,period:0,goal:1,reward:1e3,conditional:0,value:"0",valueTwo:"5",tier:2,loc:{title:"Soft Boiled",desc:"Kill an egg on a 5+ streak"}},{id:18,loc_ref:"chlg_kill_con_kill_ten_streak",type:0,subType:8,period:0,goal:1,reward:2500,conditional:0,value:"0",valueTwo:"10",tier:3,loc:{title:"Breaker-breaker",desc:"Kill an egg on a 10+ streak"}},{id:19,loc_ref:"chlg_kill_con_kill_scoped",type:0,subType:8,period:0,goal:1,reward:200,conditional:13,value:null,valueTwo:null,tier:2,loc:{title:"Eye 2 Eye",desc:"Snipe a zoomed-in sniper"}},{id:20,loc_ref:"chlg_kill_con_two_kills_one_shot",type:0,subType:8,period:0,goal:1,reward:200,conditional:16,value:"2",valueTwo:null,tier:2,loc:{title:"Collateral Damage",desc:"Kill two eggs at once"}},{id:21,loc_ref:"chlg_kill_con_reloading",type:0,subType:8,period:0,goal:1,reward:100,conditional:17,value:null,valueTwo:null,tier:1,loc:{title:"Owned",desc:"Kill an egg while they reload"}},{id:22,loc_ref:"chlg_kill_con_kill_scoped_melee",type:0,subType:8,period:0,goal:1,reward:200,conditional:13,value:null,valueTwo:"9",tier:2,loc:{title:"Behind You!",desc:"Melee kill a zoomed-in egg"}},{id:23,loc_ref:"chlg_kill_con_kill_two_grenade",type:0,subType:8,period:0,goal:1,reward:200,conditional:16,value:"2",valueTwo:"8",tier:2,loc:{title:"2 Birds 1 Stone",desc:"Kill 2 eggs with 1 Grenade"}},{id:24,loc_ref:"chlg_kill_con_kill_three_grenade",type:0,subType:8,period:0,goal:1,reward:1e3,conditional:16,value:"3",valueTwo:"8",tier:3,loc:{title:"M-M-M-Multikill",desc:"Kill 3 eggs with 1 Grenade"}},{id:25,loc_ref:"chlg_kill_con_kill_two_rpegg",type:0,subType:8,period:0,goal:1,reward:200,conditional:16,value:"2",valueTwo:"4",tier:2,loc:{title:"Splash Damage",desc:"Kill 2 eggs with 1 RPEGG shot"}},{id:26,loc_ref:"chlg_kill_con_kill_three_rpegg",type:0,subType:8,period:0,goal:1,reward:1e3,conditional:16,value:"3",valueTwo:"4",tier:3,loc:{title:"Big Boomer",desc:"Kill 3 eggs with 1 RPEGG shot"}},{id:27,loc_ref:"chlg_kill_weaponType_Cluck9mm_five",type:0,subType:1,period:0,goal:5,reward:200,conditional:null,value:null,valueTwo:"3",tier:1,loc:{title:"Pew Pew",desc:"Get 5 Cluck 9mm kills"}},{id:28,loc_ref:"chlg_kill_weaponType_Cluck9mm_ten",type:0,subType:1,period:0,goal:10,reward:500,conditional:null,value:null,valueTwo:"3",tier:1,loc:{title:"Trigger Happy",desc:"Get 10 Cluck 9mm kills"}},{id:29,loc_ref:"chlg_kill_weaponType_Cluck9mm_twenty",type:0,subType:1,period:0,goal:20,reward:1e3,conditional:null,value:null,valueTwo:"3",tier:2,loc:{title:"Sidearm Specialist",desc:"Get 20 Cluck 9mm kills"}},{id:30,loc_ref:"chlg_kill_weaponType_Cluck9mm_fifty",type:0,subType:1,period:0,goal:50,reward:2500,conditional:null,value:null,valueTwo:"3",tier:3,loc:{title:"9mm Master",desc:"Get 50 Cluck 9mm kills"}},{id:31,loc_ref:"chlg_kill_weaponType_Scrambler_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"1",tier:1,loc:{title:"Scrambled Eggs",desc:"Get 5 Scrambler kills"}},{id:32,loc_ref:"chlg_kill_weaponType_Scrambler_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"1",tier:1,loc:{title:"Hunting Wabbits",desc:"Get 10 Scrambler kills"}},{id:33,loc_ref:"chlg_kill_weaponType_Scrambler_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"1",tier:2,loc:{title:"Boomstick",desc:"Get 20 Scrambler kills"}},{id:34,loc_ref:"chlg_kill_weaponType_Scrambler_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"1",tier:3,loc:{title:"Splat-o-matic",desc:"Get 50 Scrambler kills"}},{id:35,loc_ref:"chlg_kill_weaponType_Rpegg_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"4",tier:2,loc:{title:"Eggsploder",desc:"Get 5 RPEGG kills"}},{id:36,loc_ref:"chlg_kill_weaponType_Rpegg_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"4",tier:2,loc:{title:"Arm Cannons",desc:"Get 10 RPEGG kills"}},{id:37,loc_ref:"chlg_kill_weaponType_Rpegg_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"4",tier:2,loc:{title:"Bazooka Joe",desc:"Get 20 RPEGG kills"}},{id:38,loc_ref:"chlg_kill_weaponType_Rpegg_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"4",tier:3,loc:{title:"Master Eggsploder",desc:"Get 50 RPEGG kills"}},{id:39,loc_ref:"chlg_kill_weaponType_Whipper_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"5",tier:1,loc:{title:"Whip it Good",desc:"Get 5 Whipper kills"}},{id:40,loc_ref:"chlg_kill_weaponType_Whipper_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"5",tier:1,loc:{title:"Cool Whip",desc:"Get 10 Whipper kills"}},{id:41,loc_ref:"chlg_kill_weaponType_Whipper_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"5",tier:2,loc:{title:"Whip it REAL Good",desc:"Get 20 Whipper kills"}},{id:42,loc_ref:"chlg_kill_weaponType_Whipper_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"5",tier:3,loc:{title:"Whip up a Storm",desc:"Get 50 Whipper kills"}},{id:43,loc_ref:"chlg_kill_weaponType_Eggk47_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"0",tier:0,loc:{title:"Lock & Load",desc:"Get 5 EggK-47 kills"}},{id:44,loc_ref:"chlg_kill_weaponType_Eggk47_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"0",tier:1,loc:{title:"Almost a Dozen",desc:"Get 10 EggK-47 kills"}},{id:45,loc_ref:"chlg_kill_weaponType_Eggk47_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"0",tier:2,loc:{title:"Spray Down",desc:"Get 20 EggK-47 kills"}},{id:46,loc_ref:"chlg_kill_weaponType_Eggk47_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"0",tier:3,loc:{title:"Eggk-47 Eggspert",desc:"Get 50 EggK-47 kills"}},{id:47,loc_ref:"chlg_kill_weaponType_FreeRanger_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"2",tier:1,loc:{title:"Poacher",desc:"Get 5 Free Ranger kills"}},{id:48,loc_ref:"chlg_kill_weaponType_FreeRanger_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"2",tier:1,loc:{title:"Bounty Hunter",desc:"Get 10 Free Ranger kills"}},{id:49,loc_ref:"chlg_kill_weaponType_FreeRanger_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"2",tier:2,loc:{title:"Hired Gun",desc:"Get 20 Free Ranger kills"}},{id:50,loc_ref:"chlg_kill_weaponType_FreeRanger_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"2",tier:3,loc:{title:"Big-Game Hunter",desc:"Get 50 Free Ranger kills"}},{id:51,loc_ref:"chlg_kill_weaponType_Crackshot_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"6",tier:1,loc:{title:"Sniper",desc:"Get 5 Crackshot kills"}},{id:52,loc_ref:"chlg_kill_weaponType_Crackshot_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"6",tier:1,loc:{title:"Sharpshooter",desc:"Get 10 Crackshot kills"}},{id:53,loc_ref:"chlg_kill_weaponType_Crackshot_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"6",tier:2,loc:{title:"Marksman",desc:"Get 20 Crackshot kills"}},{id:54,loc_ref:"chlg_kill_weaponType_Crackshot_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"6",tier:3,loc:{title:"Cracked",desc:"Get 50 Crackshot kills"}},{id:55,loc_ref:"chlg_kill_weaponType_TriHard_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"7",tier:1,loc:{title:"Tri-Hard",desc:"Get 5 Tri-Hard kills"}},{id:56,loc_ref:"chlg_kill_weaponType_TriHard_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"7",tier:1,loc:{title:"Tri-Harder",desc:"Get 10 Tri-Hard kills"}},{id:57,loc_ref:"chlg_kill_weaponType_TriHard_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"7",tier:2,loc:{title:"Tri-Even-Harder",desc:"Get 20 Tri-Hard kills"}},{id:58,loc_ref:"chlg_kill_weaponType_TriHard_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"7",tier:3,loc:{title:"Tri-Hardest",desc:"Get 50 Tri-Hard kills"}},{id:59,loc_ref:"chlg_kill_weaponType_Melee_five",type:0,subType:1,period:0,goal:5,reward:200,conditional:null,value:null,valueTwo:"9",tier:2,loc:{title:"Whisky Business",desc:"Get 5 Melee kills"}},{id:60,loc_ref:"chlg_kill_weaponType_Melee_ten",type:0,subType:1,period:0,goal:10,reward:500,conditional:null,value:null,valueTwo:"9",tier:2,loc:{title:"Slap the Bass",desc:"Get 10 Melee kills"}},{id:61,loc_ref:"chlg_kill_weaponType_Melee_twenty",type:0,subType:1,period:0,goal:20,reward:1e3,conditional:null,value:null,valueTwo:"9",tier:3,loc:{title:"Whack & Slash",desc:"Get 20 Melee kills"}},{id:62,loc_ref:"chlg_kill_weaponType_Melee_fifty",type:0,subType:1,period:0,goal:50,reward:2500,conditional:null,value:null,valueTwo:"9",tier:3,loc:{title:"Melee Master",desc:"Get 50 Melee kills"}},{id:63,loc_ref:"chlg_damage_five_hundred",type:1,subType:null,period:0,goal:500,reward:100,conditional:null,value:null,valueTwo:null,tier:0,loc:{title:"Shattered Shells",desc:"Deal 500 damage"}},{id:64,loc_ref:"chlg_damage_one_thousand",type:1,subType:null,period:0,goal:1e3,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Decimator",desc:"Deal 1000 damage"}},{id:65,loc_ref:"chlg_damage_twenty_five_hundred",type:1,subType:null,period:0,goal:2500,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Tormentor",desc:"Deal 2500 damage"}},{id:66,loc_ref:"chlg_damage_five_thousand",type:1,subType:null,period:0,goal:5e3,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Devastator",desc:"Deal 5000 damage"}},{id:67,loc_ref:"chlg_damage_ten_thousand",type:1,subType:null,period:0,goal:1e4,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Boomsauce",desc:"Deal 10000 damage"}},{id:68,loc_ref:"chlg_damage_twenty_five_thousand",type:1,subType:null,period:0,goal:25e3,reward:2500,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Maximum Damage",desc:"Deal 25000 damage"}},{id:69,loc_ref:"chlg_deaths_ten",type:2,subType:null,period:0,goal:10,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Cracked",desc:"Die 10 times"}},{id:70,loc_ref:"chlg_deaths_twenty",type:2,subType:null,period:0,goal:20,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Fried",desc:"Die 20 times"}},{id:71,loc_ref:"chlg_deaths_fifty",type:2,subType:null,period:0,goal:50,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Death Wish",desc:"Die 50 times"}},{id:72,loc_ref:"chlg_movement_distance_five_hunderd",type:3,subType:3,period:0,goal:500,reward:100,conditional:null,value:null,valueTwo:null,tier:0,loc:{title:"Runny Egg",desc:"Travel 500m"}},{id:73,loc_ref:"chlg_movement_distance_one_thousand",type:3,subType:3,period:0,goal:1e3,reward:500,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Poultry in Motion",desc:"Travel 1000m"}},{id:74,loc_ref:"chlg_movement_distance_five_thousand",type:3,subType:3,period:0,goal:5e3,reward:2500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Gaming Marathon",desc:"Travel 5000m"}},{id:75,loc_ref:"chlg_movement_jump_one_hundred",type:3,subType:4,period:0,goal:100,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Jumpman",desc:"Jump 100 times"}},{id:76,loc_ref:"chlg_movement_jump_five_hundred",type:3,subType:4,period:0,goal:500,reward:500,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Bouncing Bomb",desc:"Jump 500 times"}},{id:77,loc_ref:"chlg_kill_jump_one",type:0,subType:4,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Aerial Assault",desc:"Get a kill while jumping"}},{id:78,loc_ref:"chlg_kill_jump_five",type:0,subType:4,period:0,goal:5,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Do a Barrel Roll",desc:"Get 5 kills while airborne"}},{id:79,loc_ref:"chlg_kill_jump_victim_jump",type:0,subType:4,period:0,goal:1,reward:2500,conditional:4,value:null,valueTwo:null,tier:3,loc:{title:"Aerial Acrobatics",desc:"Kill an egg while both airborne"}},{id:80,loc_ref:"chlg_movement_collect_ammo_ten",type:4,subType:18,period:0,goal:10,reward:100,conditional:16,value:"0",valueTwo:null,tier:1,loc:{title:"We Need Supplies!",desc:"Collect 10 ammo boxes"}},{id:81,loc_ref:"chlg_movement_collect_ammo_twenty_five",type:4,subType:18,period:0,goal:25,reward:500,conditional:16,value:"0",valueTwo:null,tier:2,loc:{title:"Quartermaster",desc:"Collect 25 ammo boxes"}},{id:82,loc_ref:"chlg_movement_collect_ammo_fifty",type:4,subType:18,period:0,goal:50,reward:1e3,conditional:16,value:"0",valueTwo:null,tier:3,loc:{title:"Locked & Loaded",desc:"Collect 50 ammo boxes"}},{id:83,loc_ref:"chlg_movement_collect_grenade_ten",type:4,subType:18,period:0,goal:10,reward:100,conditional:17,value:"1",valueTwo:null,tier:1,loc:{title:"Explosives expert",desc:"Collect 10 grenades"}},{id:84,loc_ref:"chlg_movement_collect_grenade_twenty_five",type:4,subType:18,period:0,goal:25,reward:500,conditional:17,value:"1",valueTwo:null,tier:2,loc:{title:"Bombardier",desc:"Collect 25 grenades"}},{id:85,loc_ref:"chlg_movement_collect_grenade_fifty",type:4,subType:18,period:0,goal:50,reward:1e3,conditional:17,value:"1",valueTwo:null,tier:3,loc:{title:"Explosive Temper",desc:"Collect 50 grenades"}},{id:86,loc_ref:"chlg_timed_timeAlive_thirty",type:5,subType:7,period:0,goal:1,reward:100,conditional:7,value:"30",valueTwo:null,tier:1,loc:{title:"Running Scared",desc:"Stay alive for 30 sec"}},{id:87,loc_ref:"chlg_timed_timeAlive_sixty",type:5,subType:7,period:0,goal:1,reward:200,conditional:7,value:"60",valueTwo:null,tier:2,loc:{title:"Hard to Beat",desc:"Stay alive for 1 min"}},{id:88,loc_ref:"chlg_timed_timeAlive_three_hundred",type:5,subType:7,period:0,goal:1,reward:2500,conditional:7,value:"300",valueTwo:null,tier:3,loc:{title:"Happily Ever After",desc:"Stay alive for 5 min"}},{id:90,loc_ref:"chlg_timed_timePlayed_three_hundred",type:5,subType:6,period:0,goal:300,reward:200,conditional:6,value:"300",valueTwo:null,tier:0,loc:{title:"Shell Shocked!",desc:"Play for 5 min"}},{id:91,loc_ref:"chlg_timed_timePlayed_nine_hundred",type:5,subType:6,period:0,goal:900,reward:500,conditional:6,value:"900",valueTwo:null,tier:1,loc:{title:"Not so Noob",desc:"Play for 15 min"}},{id:92,loc_ref:"chlg_timed_timePlayed_eighteen_hundred",type:5,subType:6,period:0,goal:1800,reward:1e3,conditional:6,value:"1800",valueTwo:null,tier:2,loc:{title:"Oval Office",desc:"Play for 30 min"}},{id:93,loc_ref:"chlg_timed_timePlayed_thirty_six_hundred",type:5,subType:6,period:0,goal:3600,reward:2500,conditional:6,value:"3600",valueTwo:null,tier:3,loc:{title:"On That Grind",desc:"Play for 60 min"}},{id:94,loc_ref:"chlg_kotc_capturing_timeAlive_twenty",type:6,subType:20,period:0,goal:1,reward:100,conditional:7,value:"10",valueTwo:null,tier:1,loc:{title:"Hold the Fort",desc:"Stand on Coop for 10 sec"}},{id:95,loc_ref:"chlg_kotc_capture",type:6,subType:21,period:0,goal:1,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Coop King",desc:"Capture a Coop"}},{id:96,loc_ref:"chlg_kotc_win_one",type:6,subType:23,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"King of the Coop",desc:"Win a KotC match"}},{id:97,loc_ref:"chlg_kotc_win_three",type:6,subType:23,period:0,goal:3,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Team Sports",desc:"Win 3 KotC matches"}},{id:98,loc_ref:"chlg_kotc_win_five",type:6,subType:23,period:0,goal:5,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Rule the Roost",desc:"Win 5 KotC matches"}},{id:99,loc_ref:"chlg_kotc_win_ten",type:6,subType:23,period:0,goal:10,reward:2500,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Coop Commander",desc:"Win 10 KotC matches"}},{id:100,loc_ref:"chlg_kotc_coop_kill",type:6,subType:20,period:0,goal:1,reward:200,conditional:10,value:null,valueTwo:null,tier:1,loc:{title:"Defender",desc:"Kill an egg from the Coop"}},{id:101,loc_ref:"chlg_kotc_coop_kill_victim_capturing",type:6,subType:20,period:0,goal:1,reward:200,conditional:10,value:"18",valueTwo:null,tier:1,loc:{title:"Offender",desc:"Kill an egg on a Coop"}},{id:102,loc_ref:"chlg_cts_pick_up",type:7,subType:21,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Fry Cook",desc:"CTS: Pick up the Spatula"}},{id:103,loc_ref:"chlg_cts_capture_timeAlive_thirty",type:7,subType:21,period:0,goal:1,reward:500,conditional:7,value:"30",valueTwo:null,tier:2,loc:{title:"Keepaway",desc:"CTS: Hold the Spatula for 30s"}},{id:104,loc_ref:"chlg_cts_win_ten",type:7,subType:23,period:0,goal:20,reward:1e3,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Sunny Side Up!",desc:"CTS: Gain 20+ kills holding the spatula"}},{id:105,loc_ref:"chlg_cts_win_twenty_five",type:7,subType:23,period:0,goal:50,reward:4e3,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Flippin 'em",desc:"CTS: Gain 50+ kills holding the spatula"}},{id:106,loc_ref:"chlg_cts_win_fifty",type:7,subType:23,period:0,goal:100,reward:1e4,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Makin' Bacon",desc:"CTS: Gain 100+ kills holding the spatula"}},{id:107,loc_ref:"chlg_cts_kills_victim_spatula",type:7,subType:10,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Kill the Cook",desc:"CTS: Kill the Spatula holder"}},{id:108,loc_ref:"chlg_cts_kills_killstreak_five",type:7,subType:10,period:0,goal:1,reward:500,conditional:0,value:"5",valueTwo:null,tier:3,loc:{title:"Flippin' Dangerous",desc:"CTS: Get a 5 KS with the spatula"}}];export{l as Challenges};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
const e=[{version:"1.0.1",date:"May 1 2025",content:["Lock in & look out eggventurers, it's time for the Leggacy of the Sun update!","Congrats to the winners of the EGG ORG takeover - all players have been awarded an Eggsassin Stamp!","We liked random killstreak bonuses so much we decided to keep them!","Eggiana Jones has arrived - the newest item bundle featuring a cracking new melee!","Throw Throw Apocalypto! Try the latest Premium Mayan Grenade - in-store & free for VIPs ","We got a hot one! Try the latest map Greenhouse in public & private lobbies","The Public Map pool has been overhauled! The Egg Org Maps are gone, replaced by a range of Mayan maps & old favorites!"]}];export{e as Changelog};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
const e={swapWeapon:0,joinGame:1,refreshGameState:2,spawnItem:3,observeGame:4,ping:5,bootPlayer:6,banPlayer:7,loginRequired:8,gameLocked:9,reportPlayer:10,switchTeam:13,changeCharacter:14,pause:15,gameOptions:16,gameAction:17,requestGameOptions:18,gameJoined:19,socketReady:20,addPlayer:21,removePlayer:22,fire:23,melee:24,throwGrenade:25,eventModifier:27,hitThem:28,hitMe:29,collectItem:30,challengeResetInGame:31,chat:34,syncThem:35,die:37,beginShellStreak:38,endShellStreak:39,updateBalance:42,reload:43,respawn:44,respawnDenied:45,clientReady:47,requestRespawn:48,switchTeamFail:51,expireUpgrade:52,metaGameState:53,syncMe:54,explode:55,keepAlive:56,musicInfo:57,hitMeHardBoiled:58,playerInfo:59,challengeCompleted:60};export{e as CommCode};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
const t=class{constructor(){this.dmgTypeId=0,this.highPrecision=!1,this.equipTime=13,this.stowWeaponTime=13,this.accuracy=this.constructor.accuracyMax,this.shootingAccuracy=this.constructor.accuracyMax,this.movementAccuracy=this.constructor.accuracyMax,this.accuracyMax=this.constructor.accuracyMax,this.accuracyMin=this.constructor.accuracyMin,this.accuracyLoss=this.constructor.accuracyLoss,this.accuracyRecover=this.constructor.accuracyRecover,this.tracer=0,this.burstQueue=0,this.adsMod=this.constructor.adsMod||.5,this.movementAccuracyMod=this.constructor.movementAccuracyMod||1,this.reloadBloom=!0,this.reloadTimeMod=this.constructor.reloadTimeMod||1}},s=class extends t{constructor(){super(),this.ammo={rounds:30,capacity:30,reload:30,store:240,storeMax:240,pickup:30},this.longReloadTime=205,this.shortReloadTime=160,this.weaponName="EggK-47",this.internalName="Eggk47",this.standardMeshName="eggk47",this.rof=3,this.recoil=7,this.automatic=!0,this.damage=20,this.totalDamage=20,this.range=20,this.velocity=1.5,this.tracer=1}},i=class extends t{constructor(){super(),this.ammo={rounds:2,capacity:2,reload:2,store:24,storeMax:24,pickup:8},this.longReloadTime=155,this.shortReloadTime=155,this.weaponName="Scrambler",this.internalName="Dozen Gauge",this.standardMeshName="dozenGauge",this.rof=8,this.recoil=10,this.automatic=!1,this.damage=8,this.totalDamage=8*20,this.range=8,this.velocity=1,this.tracer=0,this.damage=30,this.accuracyMax=.03,this.accuracyMin=.15,this.accuracyLoss=.05,this.accuracyRecover=.025,this.totalDamage=30,this.damage=8.5,this.accuracyMax=.14,this.accuracyMin=.17,this.accuracyLoss=.17,this.accuracyRecover=.02,this.totalDamage=170,this.adsMod=.6,this.movementAccuracyMod=.2}},c=class extends t{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.hasScope=!0,this.longReloadTime=225,this.shortReloadTime=165,this.highPrecision=!0,this.weaponName="Free Ranger",this.internalName="CSG-1",this.standardMeshName="csg1",this.rof=13,this.recoil=13,this.automatic=!1,this.damage=110,this.totalDamage=110,this.range=50,this.velocity=1.75,this.tracer=0,this.damage=105,this.accuracyMax=.004,this.accuracyMin=.3,this.accuracyLoss=.3,this.accuracyRecover=.025,this.totalDamage=105}},e=class extends t{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.longReloadTime=195,this.shortReloadTime=160,this.weaponName="Cluck 9mm",this.internalName="Cluck 9mm",this.standardMeshName="cluck9mm",this.rof=4,this.recoil=6,this.automatic=!1,this.damage=25,this.totalDamage=25,this.range=15,this.velocity=1,this.tracer=0,this.damage=26,this.accuracyMax=.035,this.accuracyMin=.15,this.accuracyLoss=.09,this.accuracyRecover=.08,this.totalDamage=26,this.adsMod=.8,this.movementAccuracyMod=.6}},o=class extends t{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:3,storeMax:3,pickup:1},this.hasScope=!0,this.longReloadTime=170,this.shortReloadTime=170,this.weaponName="RPEGG",this.internalName="Eggsploder",this.standardMeshName="rpegg",this.rof=40,this.recoil=60,this.automatic=!1,this.damage=140,this.radius=2.75,this.totalDamage=140*2.75*.5,this.range=45,this.minRange=3,this.velocity=.4,this.accuracyMax=.015,this.accuracyMin=.3,this.accuracyLoss=.3,this.accuracyRecover=.02,this.absoluteMinAccuracy=.3}},r=class extends t{constructor(){super(),this.ammo={rounds:40,capacity:40,reload:40,store:200,storeMax:200,pickup:40},this.longReloadTime=225,this.shortReloadTime=190,this.weaponName="Whipper",this.internalName="SMEGG",this.standardMeshName="smg",this.rof=10,this.recoil=7,this.automatic=!0,this.damage=15,this.totalDamage=15,this.range=20,this.velocity=1.25,this.tracer=2,this.damage=23,this.accuracyMax=.06,this.accuracyMin=.19,this.accuracyLoss=.045,this.accuracyRecover=.05,this.totalDamage=23,this.adsMod=.6,this.movementAccuracyMod=.7}},h=class extends t{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:12,storeMax:12,pickup:4},this.hasScope=!0,this.longReloadTime=144,this.shortReloadTime=144,this.weaponName="Crackshot",this.internalName="M2DZ",this.standardMeshName="m24",this.rof=60,this.recoil=40,this.automatic=!1,this.damage=170,this.totalDamage=170,this.range=60,this.velocity=2,this.tracer=0,this.damage=170,this.accuracyMax=0,this.accuracyMin=.35,this.accuracyLoss=.1,this.accuracyRecover=.023,this.totalDamage=170,this.movementAccuracyMod=.85,this.reloadBloom=!1,this.reloadTimeMod=.8}},m=class extends t{constructor(){super(),this.ammo={rounds:24,capacity:24,reload:24,store:150,storeMax:150,pickup:24},this.longReloadTime=205,this.shortReloadTime=160,this.weaponName="Tri-Hard",this.internalName="AUG",this.standardMeshName="aug",this.rof=15,this.recoil=18,this.automatic=!1,this.movementInstability=2,this.damage=20,this.totalDamage=20,this.range=20,this.velocity=1.5,this.tracer=0,this.burst=3,this.burstRof=1800/600,this.damage=35,this.accuracyMax=.03,this.accuracyMin=.15,this.accuracyLoss=.04,this.accuracyRecover=.03,this.totalDamage=34,this.adsMod=.6,this.movementAccuracyMod=.8}};export{m as AUG,c as CSG1,e as Cluck9mm,i as DozenGauge,s as Eggk47,h as M24,o as RPEGG,r as SMG};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
const e={big:[{imageExt:".jpg",link:["https://basketballtips.info?utm_source=ssbigsplash&utm_medium=referral"],label:"BasketBros",active:!1,id:"kt4wqo5fb",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,label:"castles",link:["https://castles.cc?utm=sssplash"],imageExt:".png",id:"kmv2r4wvq",weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://www.surveymonkey.com/r/eggjune22?utm_source=sssplash"],label:"Survey",imageExt:".png",id:"l47ejll3r",active:!1,weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",active:!1,label:"VIP Club",linksToVipStore:"1",id:"ki5mdikz13",weighted:!1,hideOnCG:!1,linksTo:"linksToVipStore"},{active:!1,label:"Creators",link:["http://shellcreators.bluewizard.com/"],imageExt:".png",id:"kiutzlr317",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",label:"MonthlyUpdate",active:!1,id:"kperqror1b",linksToTaggedItems:"Merc",weighted:!1,hideOnCG:!1,linksTo:"linksToTaggedItems"},{link:["https://bluewizard.threadless.com/collections/shell-shockers"],label:"BW merch",active:!1,imageExt:".png",id:"kkxdntoi1f",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".png",linksToTaggedItems:"JulyM23",active:!1,label:"Monthy Update",id:"lk7f4zzi1r",weighted:!1,hideOnCG:!1,linksTo:"linksToTaggedItems"},{active:!1,label:"Twitch Drops",link:["https://shellshock.io/twitch?utm_source=ss-splash-ad&utm_medium=referral"],imageExt:".png",id:"lerd8ope1s",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,label:"Nate Nook",link:["https://bluewizard.com/nate/?utm_source=sssplash"],imageExt:".jpg",id:"kzhfdvso1t",weighted:!1,hideOnCG:!1,linksTo:"link"},{label:"Basketball Grenade",link:["https://basketbros.io/?utm_source=ssbigsplash&utm_medium=referral"],active:!1,imageExt:".png",id:"l0srdxke1v",weighted:!1,hideOnCG:!1,linksTo:"link"},{label:"Bad Egg",imageExt:".png",link:["https://freegames.io/game/bad-egg?utm_source=shellshockers&utm_medium=referral&utm_campaign=splashad"],id:"lchuivey1x",active:!1,weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://dragonjoust.io?utm_source=shellshockers&utm_medium=referral&utm_campaign=splashad"],label:"Dragon Joust",imageExt:".png",active:!1,id:"lcsafw1j1y",weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://freegames.io/game/zuck-vs-musk---techbro-beatdown?utm_source=shellshockers&utm_medium=referral&utm_campaign=splashad"],label:"Zuck v Musk",active:!1,imageExt:".jpg",id:"lj8r5m7o20",weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://freegames.io?utm_source=shellshockers&utm_medium=referral&utm_campaign=splashad"],active:!1,label:"Freegames",imageExt:".png",id:"ljyrwybt21",weighted:!1,hideOnCG:!1,linksTo:"link"}],small:[{link:["https://freegames.io/game/football-bros?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Football Bros",active:!0,weighted:!0,hideOnCG:!0,imageExt:".png",id:"lz8tuwxpg",linksTo:"link"},{active:!0,imageExt:".jpg",link:["https://freegames.io/game/basket-bros?utm_source=shell_shockers_houseads&utm_medium=referral","https://www.crazygames.com/game/basketbros"],label:"Basket Bros",id:"kokajqjqu",weighted:!1,hideOnCG:!0,linksTo:"link"},{active:!0,linksToVipStore:"1",imageExt:".png",label:"VIP",id:"kuzrh1cwt",weighted:!1,hideOnCG:!1,linksTo:"linksToVipStore"},{label:"Twitch Drops 7",imageExt:".png",id:"m7b5681oc",weighted:!1,hideOnCG:!1,linksTo:"linkToTwitch",linkToTwitch:"1",active:!1},{link:["https://freegames.io/game/mech-bros/?utm_source=shell_shockers_houseads&utm_medium=referral"],active:!1,label:"Mech Bros",weighted:!1,hideOnCG:!1,imageExt:".jpg",id:"lwk851end",linksTo:"link"},{link:["https://freegames.io/game/soccer-bros?utm_source=shell_shockers&utm_medium=referral","https://www.crazygames.com/game/soccer-bros"],label:"Soccer Bros",imageExt:".jpg",id:"lphl58wab",weighted:!1,hideOnCG:!1,linksTo:"link",active:!1},{imageExt:".png",label:"Private Games",id:"ls3tphkc6",active:!1,weighted:!1,hideOnCG:!1,linksTo:"linksToCreateGame",linksToCreateGame:"1"},{imageExt:".jpg",active:!1,label:"Shell Survey",link:["https://www.surveymonkey.com/r/septshell23"],id:"lofzjd42w",weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://freegames.io/game/wrestle-bros?utm_source=shell_shockers_houseads&utm_medium=referral"],active:!1,label:"Wrestle Bros",imageExt:".png",id:"lhkqsfa911",weighted:!1,hideOnCG:!1,linksTo:"link"}],bigBanner:[{active:!0,label:"VIP",linksToVipStore:"1",imageExt:".png",id:"kuzrh1cwg",weighted:!1,hideOnCG:!1,linksTo:"linksToVipStore"},{active:!0,label:"VIP",linksToVipStore:"1",imageExt:".png",id:"kuzrh1cwh",weighted:!1,hideOnCG:!1,linksTo:"linksToVipStore"},{imageExt:".jpg",link:["https://freegames.io/game/basket-bros?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Basket Bros",active:!0,id:"kokal7c9i",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://freegames.io/game/basket-bros?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Basket Bros",active:!0,id:"kokamphkj",weighted:!1,hideOnCG:!1,linksTo:"link"},{label:"Dragon Joust",link:["https://freegames.io/game/dragon-joust?utm_source=shell_shockers&utm_medium=referral"],imageExt:".png",active:!0,id:"laskwdxfs",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!0,label:"Dragon Joust",link:["https://freegames.io/game/dragon-joust?utm_source=shell_shockers&utm_medium=referral"],imageExt:".png",id:"laskwvhat",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!0,label:"Bad Egg",link:["https://freegames.io/game/bad-egg?utm_source=shell_shockers&utm_medium=referral"],imageExt:".png",id:"laskxj0mu",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!0,label:"Bad Egg",link:["https://freegames.io/game/bad-egg?utm_source=shell_shockers&utm_medium=referral"],imageExt:".png",id:"laskxwdnv",weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://freegames.io/game/wrestle-bros?utm_source=shell_shockers_houseads&utm_medium=referral"],active:!0,label:"Wrestle Bros",imageExt:".png",id:"lhkqwo2pw",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!0,label:"Wrestle Bros",link:["https://freegames.io/game/wrestle-bros?utm_source=shell_shockers_houseads&utm_medium=referral"],imageExt:".png",id:"lhkqx9ohx",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,imageExt:".jpg",link:["https://www.curiouscorrespondence.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Curious Correspondence",id:"kmy3p8p80",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://www.curiouscorrespondence.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Curious Correspondence",active:!1,id:"kmy3s9571",weighted:!1,hideOnCG:!1,linksTo:"link"},{label:"Curious Correspondence",link:["https://www.curiouscorrespondence.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],active:!1,imageExt:".jpg",id:"kmy3tjgj2",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",active:!1,label:"Friday the 13th Killer Puzzle",link:["https://f13killerpuzzle.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],id:"kmz1018u3",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://f13killerpuzzle.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Friday the 13th Killer Puzzle",id:"kmz1140y4",active:!1,weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".png",link:["https://store.steampowered.com/app/1233690/Hypergalactic_Psychic_Table_Tennis_3000/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Hypergalactic Psychic Table Tennis 3000",id:"kmz12sag5",active:!1,weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".png",active:!1,label:"Nuke Zone",link:["https://nuke.zone/?utm_source=shell_shockers_houseads&utm_medium=referral"],id:"kmz16o7h6",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".png",link:["https://raid.land/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Raid Land",active:!1,id:"kmz18sjd7",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://slashycamp.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],active:!1,label:"Slashy Camp",id:"kmz19yp68",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://slashycamp.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Slashy Camp",active:!1,id:"kmz1ap9b9",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://bluewizard.com/slayawaycamp-free-to-slay/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Slayaway Camp",active:!1,id:"kmz1bycra",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://bluewizard.com/slayawaycamp-free-to-slay/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Slayaway Camp",active:!1,id:"kmz1cyblb",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",active:!1,link:["https://shop.stormcrow.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Shop Storm Crow",id:"kmz1evxgc",weighted:!1,hideOnCG:!1,linksTo:"link"},{link:["https://shop.stormcrow.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Shop Storm Crow",active:!1,imageExt:".jpg",id:"kmz1fpoxd",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://shop.stormcrow.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],label:"Shop Storm Crow",active:!1,id:"kmz1gms0e",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",link:["https://shop.stormcrow.com/?utm_source=shell_shockers_houseads&utm_medium=referral"],active:!1,label:"Shop Storm Crow",id:"kmz1h7u4f",weighted:!1,hideOnCG:!1,linksTo:"link"},{label:"Headless",active:!1,link:["https://headless.gg/?utm_source=shell_shockers_houseads&utm_medium=referral"],imageExt:".jpg",id:"kp7h0zu8k",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,label:"Headless",link:["https://headless.gg/?utm_source=shell_shockers_houseads&utm_medium=referral"],imageExt:".jpg",id:"kp7h1ekxl",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,link:["https://store.steampowered.com/app/1255530/Nuke_Zone/?utm_source=ss-house-ads&utm_medium=referral&utm_campaign=next-fest-launch"],label:"Nuke Zone Next Fest",imageExt:".jpg",id:"kpzrnq8fm",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,label:"Nuke Zone Next Fest",link:["https://store.steampowered.com/app/1255530/Nuke_Zone/?utm_source=ss-house-ads&utm_medium=referral&utm_campaign=next-fest-launch"],imageExt:".jpg",id:"kpzro6wzn",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".jpg",label:"Nuke Zone Demo",link:["https://store.steampowered.com/app/1255530/Nuke_Zone/?utm_source=ss-house-ads&utm_medium=referral&utm_campaign=demo-june22"],active:!1,id:"kq88mifpo",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,label:"Nuke Zone Demo",link:["https://store.steampowered.com/app/1255530/Nuke_Zone/?utm_source=ss-house-ads&utm_medium=referral&utm_campaign=demo-june22"],imageExt:".jpg",id:"kq88n006p",weighted:!1,hideOnCG:!1,linksTo:"link"},{imageExt:".png",link:["https://apps.apple.com/app/apple-store/id1515978119?pt=118229234&ct=ss-house-ad&mt=8"],active:!1,label:"SS Mobile iOS",id:"krdzwhajq",weighted:!1,hideOnCG:!1,linksTo:"link"},{active:!1,label:"Cubic Castles",imageExt:".png",link:["https://castles.cc/?utm_source=shell_shockers_houseads&utm_medium=referral"],id:"ktn7rc9jr",weighted:!1,hideOnCG:!1,linksTo:"link"}],houseAdPercentChance:100,specialItemsTag:"May25",featuredSocialMedia:"Twitter",premFeatured:"premFeatOne",smHouseAds:[{ad:"badEgg",weighted:0}],shellLogo:[{active:!1,label:"Christmas",imageExt:".svg",id:"lpn8kxv40",weighted:!1,hideOnCG:!1},{imageExt:".svg",label:"Egg Org 2",active:!1,id:"luhi1wp12",weighted:!1,hideOnCG:!1},{imageExt:".svg",label:"Halloween",id:"m1qxbsyk2",weighted:!1,hideOnCG:!1,active:!1}]};export{e as HousePromo};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
import{AUG as r,CSG1 as n,DozenGauge as a,Eggk47 as s,M24 as c,RPEGG as i,SMG as p}from"./guns.js";import{Items as l}from"./items.js";const x=t=>l.find(o=>o.id===t),k={none:0,pinned:2,team:4},S=3,g={AMMO:0,GRENADE:1},f={start:0,score:1,win:2,capturing:3,contested:4,takeover:5,abandoned:6,unclaimed:7},u="AIzaSyDP4SIjKaw6A4c-zvfYxICpbEjn1rRnN50",d=10,M=Math.ceil(30/d),E={reset:1,pause:2},G={ffa:0,team:1,spatula:2,kotc:3},R={locked:1,noTeamChange:2,noTeamShuffle:4},T=[s,a,n,i,p,c,r],e=typeof window<"u",y={Hat:1,Stamp:2,Primary:3,Secondary:4,Grenade:6,Melee:7},I={FORWARD:1,BACK:2,LEFT:4,RIGHT:8,JUMP:16,FIRE:32,MELEE:64,SCOPE:128},h={joinPublic:0,createPrivate:1,joinPrivate:2},B=!e&&typeof Bun>"u",b={HardBoiled:1,EggBreaker:2,Restock:4,OverHeal:8,DoubleEggs:16,MiniEgg:32},A={0:"Facebook",1:"Instagram",2:"Tiktok",3:"Discord",4:"Youtube",5:"Twitter",6:"Twitch"},C={Discord:"rew_1200",Tiktok:"rew_1208",Instagram:"rew_1219",Steam:"rew_1223",Facebook:"rew_1227",Twitter:"rew_1234",Twitch:"rew_twitch_social"},F=256,P={blue:1,red:2},_=["giveBasketBrosReward","mercZoneFinalGift","midMonthGiveMeEggs","newYolkerSignupReward","newYolkerItemReward","newYolkerWelcomeBack","WelcomeBack"],v=e?void 0:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36";export{k as ChatFlags,S as ChiknWinnerDailyLimit,g as CollectTypes,f as CoopStates,u as FirebaseKey,M as FramesBetweenSyncs,E as GameActions,G as GameModes,R as GameOptionFlags,T as GunList,e as IsBrowser,y as ItemTypes,I as Movements,h as PlayTypes,B as ProxiesEnabled,b as ShellStreaks,A as SocialMedias,C as SocialRewards,F as StateBufferSize,d as SyncRate,P as Teams,_ as URLRewards,v as UserAgent,x as findItemById};
|