@overlayed/app 0.30.1 → 0.31.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/dist/index.mjs +1 -1
- package/dist/siege.d.ts +108 -103
- package/dist/siege.js +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2,4 +2,4 @@ import{createRequire as e}from"node:module";import{Type as t,scope as n,type as
|
|
|
2
2
|
`:`
|
|
3
3
|
`)+n,i=r+1,r=e.indexOf(`
|
|
4
4
|
`,i)}while(r!==-1);return a+=e.slice(i),a}const{stdout:je,stderr:Me}=Oe,Ne=Symbol(`GENERATOR`),E=Symbol(`STYLER`),D=Symbol(`IS_EMPTY`),Pe=[`ansi`,`ansi`,`ansi256`,`ansi16m`],O=Object.create(null),Fe=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=je?je.level:0;e.level=t.level===void 0?n:t.level},Ie=e=>{let t=(...e)=>e.join(` `);return Fe(t,e),Object.setPrototypeOf(t,k.prototype),t};function k(e){return Ie(e)}Object.setPrototypeOf(k.prototype,Function.prototype);for(let[e,t]of Object.entries(S))O[e]={get(){let n=A(this,ze(t.open,t.close,this[E]),this[D]);return Object.defineProperty(this,e,{value:n}),n}};O.visible={get(){let e=A(this,this[E],!0);return Object.defineProperty(this,`visible`,{value:e}),e}};const Le=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?S[n].ansi16m(...r):t===`ansi256`?S[n].ansi256(S.rgbToAnsi256(...r)):S[n].ansi(S.rgbToAnsi(...r)):e===`hex`?Le(`rgb`,t,n,...S.hexToRgb(...r)):S[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){O[e]={get(){let{level:t}=this;return function(...n){let r=ze(Le(e,Pe[t],`color`,...n),S.color.close,this[E]);return A(this,r,this[D])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);O[t]={get(){let{level:t}=this;return function(...n){let r=ze(Le(e,Pe[t],`bgColor`,...n),S.bgColor.close,this[E]);return A(this,r,this[D])}}}}const Re=Object.defineProperties(()=>{},{...O,level:{enumerable:!0,get(){return this[Ne].level},set(e){this[Ne].level=e}}}),ze=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},A=(e,t,n)=>{let r=(...e)=>Be(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Re),r[Ne]=e,r[E]=t,r[D]=n,r},Be=(e,t)=>{if(e.level<=0||!t)return e[D]?``:t;let n=e[E];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=ke(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
|
|
5
|
-
`);return a!==-1&&(t=Ae(t,i,r,a)),r+t+i};Object.defineProperties(k.prototype,O);const Ve=k();k({level:Me?Me.level:0});var j=Ve,M=class{emitter;constructor(){this.emitter=i()}on(e,t){b(e).forEach(e=>{this.emitter.on(e,t)})}off(e,t){b(e).forEach(e=>{this.emitter.off(e,t)})}emit(e,t){b(e).forEach(e=>{this.emitter.emit(e,t)})}removeAllListeners(){this.emitter.all.clear()}},He=class{listeners;constructor(){this.listeners=new Map}on(e,t){b(e).forEach(e=>{let n=this.listeners.get(e)||new Set;n.add(t),this.listeners.set(e,n)})}off(e,t){b(e).forEach(e=>{let n=this.listeners.get(e);n&&n.delete(t)})}async emit(e,...t){let n=b(e).flatMap(e=>{let t=this.listeners.get(e)||new Set,n=this.listeners.get(`*`)||new Set;return[...Array.from(t),...Array.from(n)]});return n.length===0?[]:await Promise.all(n.map(async n=>{try{let e=n(...t);return e instanceof Promise?await e:e}catch(t){console.error(`Error in event listener for ${String(e)}:`,t);return}}))}removeAllListeners(){this.listeners.clear()}};function N(e,...t){return class extends e{static _instance;static getInstance(){return this._instance||=new e(...t),this._instance}static clearInstance(){this._instance=void 0}}}const P=N(class extends M{destroy(){this.removeAllListeners()}fatal(e,t,n){this.emit(`fatal`,{code:t,message:e,data:n,timestamp:Date.now()})}error(e,t,n){this.emit(`error`,{code:t,message:e,data:n,timestamp:Date.now()})}warn(e,t,n){this.emit(`warning`,{code:t,message:e,data:n,timestamp:Date.now()})}});var Ue=class{data;_schema;_defaultValue;_path;constructor(e){let{schema:t,default:n,path:r}=e;this._schema=t,this._defaultValue=n,this._path=r}set(e){let t=this._schema[`~standard`].validate(e);if(t instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);if(t.issues){this.reportInvalidConfigFile(t.issues);return}this.data=this.onBeforeSave(e),this.save(e)}get(){return this.data?this.data:this.load()}getKey(e){return this.get()[e]}save(e){let t=this.onBeforeSave(e);try{f(this.getFilePath()),a.writeFileSync(this.getFilePath(),JSON.stringify(t,void 0,2))}catch{return}return this.data=t}load(){if(!this.fileExists(this.getFilePath())||!this.canReadWriteFile(this.getFilePath())){this.save(this._defaultValue);let e=this.onAfterLoad(this._defaultValue);return this.data=e,e}try{let e=a.readFileSync(this.getFilePath(),`utf8`),t=this.onAfterLoad(this.parseStoredData(e));return this.data=t,t}catch{return this.data=this._defaultValue}}onBeforeSave(e){return e}onAfterLoad(e){return e}getFilePath(){return this._path}parseStoredData(e){try{let t=r(`string.json.parse`).to(`object`)(e);if(t instanceof r.errors)return this._defaultValue;let n=this._schema[`~standard`].validate(t);if(n instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);return n.issues?this.migrate(t,this._defaultValue):this.migrate(n.value,this._defaultValue)}catch{return this._defaultValue}}canReadWriteFile(e){try{return a.accessSync(e,a.constants.R_OK|a.constants.W_OK),!0}catch{return!1}}fileExists(e){try{return a.accessSync(e,a.constants.F_OK),!0}catch{return!1}}migrate(e,t){let n={...e};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(r in e?e[r]!==null&&t[r]!==null&&typeof e[r]==`object`&&typeof t[r]==`object`&&!Array.isArray(e[r])&&!Array.isArray(t[r])?n[r]=this.migrate(e[r],t[r]):Array.isArray(t[r])&&(n[r]=e[r]):n[r]=t[r]);return n}reportInvalidConfigFile(e){P.getInstance().error(`Invalid config file`,`INVALID_CONFIG_FILE`,{issues:e.map(e=>e.message),filePath:this._path,data:this.data})}};function We(e,t,n){return typeof e!=`object`||!e?String(e):e instanceof Error?JSON.stringify(e,Object.getOwnPropertyNames(e),n):e instanceof Map?JSON.stringify(Object.fromEntries(e.entries()),t,n):e instanceof Set?JSON.stringify(Array.from(e),t,n):JSON.stringify(e,t,n)}var Ge=class e extends M{stream;logPath;baseFileName;currentDate;rotationCheckInterval;isRotating=!1;constructor(e,t){super(),this.logPath=e,this.baseFileName=t.replace(`.log`,``),this.currentDate=this.getDateString(new Date),this.ensureLogDirectory(),this.ensureLogFile(),this.stream=this.createStream(),this.rotationCheckInterval=this.startRotationCheck(),this.cleanupOldLogs()}static scope(t,n){return new e(t,n)}log(...e){this.write(`log`,...e)}error(...e){this.write(`error`,...e)}warn(...e){this.write(`warn`,...e)}info(...e){this.write(`info`,...e)}debug(...e){this.write(`debug`,...e)}async close(){clearInterval(this.rotationCheckInterval),await new Promise(e=>{this.stream.end(()=>e())})}getCurrentFileName(){return this.getFileName(this.currentDate)}static getMessageElements(e,...t){let n=new Date;return{timestamp:n.toISOString().replace(`T`,` `).replace(/\.\d+Z$/,``)+`.${n.getUTCMilliseconds().toString().padStart(3,`0`)}`,level:e,message:t.map(e=>We(e)).join(` `)}}getFileName(e){return`${this.baseFileName}-${e}.log`}ensureLogDirectory(){try{c(this.logPath,{recursive:!0})}catch(e){throw console.error(`Failed to create log directory ${this.logPath}:`,e),e}}ensureLogFile(){let e=p(this.logPath,this.getFileName(this.currentDate));if(!s(e))try{d(e,``,`utf8`)}catch(t){throw console.error(`Failed to create log file ${e}:`,t),t}}getDateString(e){return`${e.getUTCFullYear()}-${(e.getUTCMonth()+1).toString().padStart(2,`0`)}-${e.getUTCDate().toString().padStart(2,`0`)}`}createStream(){return o(p(this.logPath,this.getFileName(this.currentDate)),{flags:`a`,encoding:`utf8`})}async rotateLogs(){if(this.isRotating)return;this.isRotating=!0;let e=this.getDateString(new Date);e!==this.currentDate&&await new Promise(t=>{this.stream.end(()=>{this.currentDate=e,this.stream=this.createStream(),this.cleanupOldLogs(),t()})}),this.isRotating=!1}startRotationCheck(){return setInterval(()=>this.rotateLogs(),6e4)}cleanupOldLogs(){let e=l(this.logPath),t=new Date,n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()-7));e.filter(e=>e.startsWith(this.baseFileName)&&e.endsWith(`.log`)).filter(e=>{let[t,r,i]=e.replace(`${this.baseFileName}-`,``).replace(`.log`,``).split(`-`).map(Number);return new Date(Date.UTC(t,r-1,i))<=n}).forEach(e=>{try{u(p(this.logPath,e))}catch(t){console.error(`Failed to delete old log file ${e}:`,t)}})}write(t,...n){let{timestamp:r,message:i}=e.getMessageElements(t,...n),a=`[${r}] [${t}] ${i}\n`;this.stream.write(a,e=>{e?this.emit(`error`,e):this.emit(`write`,a)})}};const F=()=>m.join(process.env.APPDATA??``,`overlayed`),Ke=()=>m.join(F(),`logs`),qe=e=>m.join(F(),`apps`,e),Je=e=>m.join(qe(e),`logs`),Ye=()=>m.join(F(),`meta.json`);var Xe=class{fileLogger;path;appId;messageQueue=new _e;fileName;_debug=!1;silent=!1;constructor(e){this.fileName=e}init(e,t=!1,n=!1){this.appId=e,this._debug=t,this.silent=n,this.path=Je(e),this.fileLogger=new Ge(this.path,this.fileName),this.messageQueue.flush().forEach(e=>{this.fileLogger?.[e.type](...e.args)})}scope(e){if(!this.appId||!this.path)throw Error(`Logger not initialized`);let t=`[${e}]`;return{scope:e=>this.scope(e),error:(...e)=>this.error(t,...e),warn:(...e)=>this.warn(t,...e),info:(...e)=>this.info(t,...e),log:(...e)=>this.log(t,...e),debug:(...e)=>this.debug(t,...e)}}error(...e){this.handle(`error`,...e)}warn(...e){this.handle(`warn`,...e)}info(...e){this.handle(`log`,...e)}debug(...e){this._debug&&this.handle(`debug`,...e)}log(...e){this.handle(`log`,...e)}handle(e,...t){this.logToConsole(e,...t),this.fileLogger?this.fileLogger[e](...t):this.messageQueue.add({type:e,args:t})}logToConsole(e,...t){let n={error:j.red,warn:j.yellow,debug:j.blue,log:j.white};if(this.silent&&!this._debug)return;let{timestamp:r,message:i}=Ge.getMessageElements(e,...t),a=console[e],o=n[e];a(`${j.gray(r)} ${o(i)}`)}};const I=N(Xe,`overlayed.log`);var Ze=class extends ie{blob;chunkSizeMb;maxConcurrent;shouldStop=!1;constructor(e,t){super(),this.blob=e,this.chunkSizeMb=t.chunkSizeMb,this.maxConcurrent=t.maxConcurrent??3}get totalChunks(){return Math.ceil(this.blob.size/(this.chunkSizeMb*1024*1024))}async chunk(e){let t=this.chunkSizeMb*1024*1024,n=this.totalChunks;if(n===0)return;let r=new Map,i=new Set,a=new Set,o=[];for(let e=0;e<n;e++)o.push(e);let s=async n=>{let s=n*t,c=Math.min(s+t,this.blob.size),l=this.blob.slice(s,c);try{await e(l,n),a.add(n),this.emit(`chunkComplete`,n),i.delete(n)}catch(e){let t=r.get(n)||0;t<5?(r.set(n,t+1),await new Promise(e=>setTimeout(e,(t+1)*1e3)),o.push(n)):(a.add(n),this.emit(`error`,e),this.shouldStop=!0,i.delete(n))}},c=[],l=async()=>{for(;(o.length>0||i.size>0)&&!this.shouldStop;){if(o.length===0){await new Promise(e=>setTimeout(e,10));continue}let e=o.shift();a.has(e)||i.has(e)||(i.add(e),await s(e))}};for(let e=0;e<this.maxConcurrent;e++)c.push(l());await Promise.all(c)}};function Qe(e,t){let{recursive:n}=$e(t);return se(e)?n?et(e).map(t=>[e,t]):ue(e).map(t=>[e,t]):[]}function $e(e){return{recursive:e?.recursive??!0}}function et(e){return ue(e,{withFileTypes:!0}).flatMap(t=>{let n=m.join(e,t.name);return t.isDirectory()?et(n):[n]})}function tt(e){return e}const{PipeEventServer:nt,PipeEventClient:rt,PipeEventBase:it,ProcessMonitor:at,Process:ot,HardwareInterface:st}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),L=N(class extends M{server=null;_hasConnection=!1;pipeId;get hasConnection(){return this._hasConnection}constructor(e){super(),this.pipeId=e,this.init()}destroy(){this.server&&=(this._hasConnection=!1,this.server?.removeAllListeners(),null)}init(){this.server=new nt(this.pipeId,{clientCount:1,access:1}),this.server.on(`event`,e=>{try{let t=JSON.parse(e);this.emit(`data`,[t])}catch(e){this.emit(`error`,e)}}),this.server.on(`connected`,()=>{this._hasConnection=!0}),this.server.on(`disconnected`,()=>{this._hasConnection=!1})}},`stats-cc`),{RenderInterface:ct,renderHookPath:lt}=e(import.meta.url)(`@overlayed/app/dist/render-interface/build/overlayed_render_interface_x64.node`);let ut=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}({});const R=r({game:`string`,type:`string`,creation_time:`number`}).and({game:`'siege' | 'tft'`}),dt=R.and({type:`'logged_in'`,content:{account_id:`string`}}),ft=R.and({type:`'module_loaded'`,content:{game_version:`string`,process_hash:`string`}}),pt=R.and({type:`'module_unloaded'`}),mt=R.and({type:`'unsupported_game_version'`,content:{game_version:`string`,process_hash:`string`}}),ht=n({"#event1":`logged_in | module_loaded | module_unloaded | unsupported_game_version`,event:`event1`,logged_in:dt,module_loaded:ft,module_unloaded:pt,unsupported_game_version:mt}).export(),gt=Object.keys(ht).filter(e=>e!==`event`);function _t(){return{key:`universal`,events:ht}}var vt=class{logger;initialized=!1;constructor(e){this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1}},z=class extends M{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}},yt=class extends He{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}};const bt=fe.create({baseURL:`https://updater.stats.cc`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});let xt;function St(e){xt=e}bt.interceptors.request.use(e=>{let t=xt?.();return t?(e.headers??={},e.headers.Authorization=t,e):e});const B=fe.create({baseURL:`https://api.overlayed.gg`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});B.interceptors.request.use(e=>(e.headers??={},e));function Ct(e,t){if(t<=0)throw Error(`Chunk size must be greater than 0`);if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function wt(e){return e}function Tt(e){return e?t=>(e(t),t):wt}const Et=Tt();function Dt(e){return B.get(`/v1/public/applications/${e}`)}function Ot(e,t,n){return bt.get(`/v1/native/${At(e)}/version.txt`,{params:{channel:t},responseType:`text`,headers:{"X-App-Version":jt(n,t)}})}function kt(e,t,n){return bt.get(`/v1/native/${At(e)}/files`,{params:{channel:t},responseType:`arraybuffer`,headers:{"X-App-Version":jt(n,t)}})}function At(e){return e===`01JXPFK6YQ3N00N2Y9JHFNG55D`||e===`01JZEBPGHT5M4Y6SGY4P7Q9EZT`?`siege-game-module`:e}function jt(e,t){return`desktop-application/${e} (channel=${t})`}function Mt(){return B.get(`/v1/public/raven/config`)}function Nt(e,t){return B.get(`/v1/public/raven/games/${e}/builds/${t}`)}function Pt(e,t){return B.post(`/v1/public/raven/games/${e}/builds/upload`,null,{params:t})}function Ft(e,t){let n=new FormData;return n.append(`file`,t.chunk),B.patch(`/v1/public/raven/games/${e}/builds/upload`,n,{params:t})}function It(e){let t=Date.now(),n=Ct(e.messages.map(e=>Lt(t,e)),250),r=Promise.all(n.map(async t=>B.post(`/v1/public/cortex/events`,{...e,messages:t})));return r.catch(e=>{let t=e?.response?.data||e?.message||e;console.error(`Failed to submit cortex events`,t)}),r}function Lt(e,t){let n=e-t.created_at.getTime(),r=Math.max(0,Math.floor(n/1e3));return{properties:t.properties,type:t.type,seconds_offset:r}}function Rt(e){return e instanceof Error&&(e.name===`XiorError`||e.name===`XiorTimeoutError`)}function zt(e){return!!(e&&`kind`in e.data&&`message`in e.data)}let Bt;function Vt(e){Bt=e}const V=N(class extends z{UPDATE_CHECK_INTERVAL_MS=1e3*60*5;targetDir;updateInterval;constructor(){super(`NativeModuleManager`),this.targetDir=m.join(F(),`resources`),this.logger.log(`Target directory`,this.targetDir)}async initWithDlls(e){super.init(),await _.mkdir(this.targetDir,{recursive:!0}),await this.checkForUpdates(e),clearInterval(this.updateInterval),this.updateInterval=setInterval(()=>this.checkForUpdates(e),this.UPDATE_CHECK_INTERVAL_MS)}destroy(){this.updateInterval&&=(clearInterval(this.updateInterval),void 0),super.destroy()}async getCurrentVersion(e){try{let t=m.join(this.targetDir,e,`version.txt`);return this.logger.log(`Version Path`,t),await _.readFile(t,`utf-8`)}catch{return null}}getTargetPath(e){return m.join(this.targetDir,e)}getTargetVersionPath(e,t){return m.join(this.getTargetPath(e),t)}async checkForUpdates(e){let t=global.OVERLAYED.APP_BUILD_CHANNEL;if(this.logger.log(`Checking for updates`),!t){this.logger.error(`Invalid VITE_BUILD_CHANNEL`);return}await Bt?.();for(let n of e)try{let{data:e}=await Ot(n,t,global.OVERLAYED.APP_VERSION),r=await this.getCurrentVersion(n);this.logger.log(`${n} > Update Check. current: ${r}, latest: ${e}`);let i=e!==r,a=!1;if(!i){let t=this.getTargetVersionPath(n,e);await this.hasPathAccess(t)?(await _.readdir(t)).length===0&&(a=!0,this.logger.warn(`${n} > Version path exists, but no files. Forcing download.`)):(a=!0,this.logger.warn(`${n} > Version path does not exist. Forcing download.`))}i||a?(this.logger.log(`${n} > Update found: ${r} -> ${e}`),await this.downloadAndExtractDll(n,e,t),this.logger.log(`${n} > Downloaded and extracted`),await this.cleanupOldVersions(n,e),this.logger.log(`${n} > Cleaned up versions older than ${e}`),this.emit(`dllUpdated`,{identifier:n,version:e})):this.logger.log(`${n} > No update found`)}catch(e){this.logger.error(`${n} > Error checking/updating`,e)}}async downloadAndExtractDll(e,t,n){this.logger.log(`${e} > Downloading DLLs for version ${t}`);let{data:r}=await kt(e,n,global.OVERLAYED.APP_VERSION);this.logger.log(`${e} > Downloaded DLLs for version ${t}`);let i=this.getTargetPath(e),a=this.getTargetVersionPath(e,t);await _.mkdir(a,{recursive:!0});let o=new v;await o.loadAsync(r);let s=Object.keys(o.files).map(async t=>{let n=o.files[t];if(n&&!n.dir){let r=m.join(a,t),i=await n.async(`nodebuffer`);await _.writeFile(r,i),this.logger.log(`${e} > Extracted DLL: ${t}`)}});await Promise.all(s);let c=m.join(i,`version.txt`);await _.writeFile(c,t),this.logger.log(`${e} > Saved version file: ${t}`)}async cleanupOldVersions(e,t){let n=m.join(this.targetDir,e),r=await _.readdir(n,{withFileTypes:!0});for(let e of r)e.isDirectory()&&e.name!==t&&await _.rm(m.join(n,e.name),{recursive:!0,force:!0})}async hasPathAccess(e){try{return await _.access(e,_.constants.F_OK),!0}catch{return!1}}}),H=N(class extends z{REFETCH_INTERVAL=1e3*60*5;FAILED_REFETCH_INTERVAL=1e3*30;_ravenConfig;_executableToGameMap=new Map;_executablesArray=[];_refetchIntervalHandler=null;_failedRefetchTimeoutHandler=null;constructor(){super(`RavenManager`)}init(){super.init(),this.fetchRavenConfig(),this._refetchIntervalHandler=setInterval(()=>{this._failedRefetchTimeoutHandler&&=(clearTimeout(this._failedRefetchTimeoutHandler),null),this.fetchRavenConfig()},this.REFETCH_INTERVAL)}getExecutableData(e){return this._executableToGameMap.get(e.toLowerCase())??null}get executables(){return this._executablesArray}get executablesMap(){return this._executableToGameMap}destroy(){this._refetchIntervalHandler&&clearInterval(this._refetchIntervalHandler),this._failedRefetchTimeoutHandler&&clearTimeout(this._failedRefetchTimeoutHandler),V.getInstance().destroy(),super.destroy()}async fetchRavenConfig(){try{this._ravenConfig={games:(await Mt()).data.games},this.resetState();let e=new Set;for(let t of this._ravenConfig.games){for(let e of t.executables){let n=e.toLowerCase();this._executableToGameMap.set(n,t),this._executablesArray.push(n)}t.modules.forEach(t=>e.add(t))}await V.getInstance().initWithDlls(Array.from(e)),this.logger.log(`Raven updated, monitoring ${this._executableToGameMap.size} executables`),this.emit(`executablesUpdated`,{executables:this.executables,map:this._executableToGameMap})}catch(e){this.logger.error(`Failed to fetch Raven config`,e),this._failedRefetchTimeoutHandler=setTimeout(()=>this.fetchRavenConfig(),this.FAILED_REFETCH_INTERVAL)}}resetState(){this._executableToGameMap.clear(),this._executablesArray=[]}}),{PipeEventServer:Ht,PipeEventClient:Ut,PipeEventBase:Wt,ProcessMonitor:Gt,Process:Kt,HardwareInterface:qt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),U=N(class extends z{_processMonitor;_processes=new Map;boundOnRavenManagerExecutablesUpdated=this.onRavenManagerExecutablesUpdated.bind(this);constructor(){super(`ProcessManager`),this._processMonitor=new Gt}get hasAnyActiveProcesses(){return this.activeProcesses.length>0}get activeProcesses(){return Array.from(this._processes.values()).flat().filter(e=>!e.destroyedAt)}init(){super.init(),H.getInstance().on(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processMonitor.on(`create`,e=>{this.logger.log(`Process created`,e),this.addProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`create`,{process:e})}),this._processMonitor.on(`destroy`,e=>{this.logger.log(`Process destroyed`,e),this.deleteProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`destroy`,{process:e})})}destroy(){H.getInstance().off(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processes.clear(),this._processMonitor.removeAllListeners(),super.destroy()}isProcessRunning(e){return this._processes.get(e)?.some(e=>!e.destroyedAt)??!1}onRavenManagerExecutablesUpdated(e){this.logger.log(`Monitoring ${e.executables.length} processes`),e.executables.forEach(e=>{this._processMonitor.registerProcess(e)})}addProcess(e){if(!e.name)return;let t=this._processes.get(e.name);if(!t){this._processes.set(e.name,[e]);return}this._processes.set(e.name,t.concat(e))}deleteProcess(e){if(!e.name)return;let t=this._processes.get(e.name)?.filter(t=>t.id!==e.id)??[];t.length===0?this._processes.delete(e.name):this._processes.set(e.name,t)}});var Jt=class{_instance;_resolution;boundOnResolutionChanged=this.onResolutionChanged.bind(this);constructor(e){this._instance=e,this._resolution={width:0,height:0},this._instance.on(`resolution`,this.boundOnResolutionChanged)}destroy(){this._instance.off(`resolution`,this.boundOnResolutionChanged)}get instance(){return this._instance}get resolution(){return this._resolution}onResolutionChanged(e,t){this._resolution={width:e,height:t}}};const W=N(class{interfaces={};constructor(){}createInterface(e){return this.interfaces[e]||(this.interfaces[e]=new Jt(new ct(e,{access:1}))),this.interfaces[e]}getInterface(e){return this.interfaces[e]?this.interfaces[e]:this.createInterface(e)}}),G=N(class{options;eventQueue;meta=null;constructor(e){this.options=this.resolveOptions(e),this.eventQueue=new _e,this.setupFlushInterval()}track(e,t){this.eventQueue.add({type:e,properties:t,created_at:new Date})}flush(){let e=Array.from(this.eventQueue.flush()).concat({type:`ping`,properties:{},created_at:new Date});if(!this.meta)throw Error(`Tried to flush Cortex events before meta was set`);try{It({...this.meta,messages:e})}catch{}return e}setupFlushInterval(){setInterval(()=>{this.flush()},this.options.batchIntervalSeconds*1e3)}resolveOptions(e){return{batchIntervalSeconds:e?.batchIntervalSeconds??15}}});function Yt(e=[]){return m.normalize(m.join(qe(global.OVERLAYED.APPLICATION_ID),...e))}const Xt=r({game:`string`,type:`string`,creation_time:`number`}),K=new Ue({path:Ye(),schema:r({userId:`string | undefined`,sessionId:`string | undefined`,sessionLastUsed:`number | undefined`,"debug?":{"ri_disabled?":`boolean`,"gm_disabled?":`boolean`}}),default:{userId:void 0,sessionId:void 0,sessionLastUsed:void 0}});function Zt(){let{debug:e}=K.get();return e?{ri_disabled:e.ri_disabled??!1,gm_disabled:e.gm_disabled??!1}:{ri_disabled:!1,gm_disabled:!1}}function Qt(){let e=K.get().userId;if(e)return e;let t=tn();return K.set({...K.get(),userId:t}),t}function $t(){let e=K.get();if(e.sessionId&&typeof e.sessionLastUsed==`number`&&Date.now()-e.sessionLastUsed<=300*1e3)return e.sessionId;let t=crypto.randomUUID();return K.set({...e,sessionId:t,sessionLastUsed:Date.now()}),t}function en(){try{let e=K.get();K.set({...e,sessionLastUsed:Date.now()})}catch(e){I.getInstance().log(`Failed to update sessionLastUsed`,e)}}function tn(){try{return qt.generateUniqueIdentifier()}catch{return crypto.randomUUID()}}const nn=e(import.meta.url).resolve(`@overlayed/app/dist/render-interface/build/overlayed_render_hook_x64.dll`),q=N(class extends yt{boundOnProcessCreate=this.onProcessCreate.bind(this);boundOnProcessDestroy=this.onProcessDestroy.bind(this);subscribedGames=new Set;_activeReadyRavenGames=new Set;get isInGame(){return this._activeReadyRavenGames.size>0}constructor(){super(`GameLaunchManager`)}setSubscribedGames(e){this.subscribedGames=new Set(e)}init(){super.init(),W.getInstance().createInterface(`OGG_SIEGE`),U.getInstance().on(`create`,this.boundOnProcessCreate),U.getInstance().on(`destroy`,this.boundOnProcessDestroy)}destroy(){U.getInstance().off(`create`,this.boundOnProcessCreate),U.getInstance().off(`destroy`,this.boundOnProcessDestroy),super.destroy()}on(e,t){super.on(e,t);let n=b(e);if(!(n.includes(`gameReady`)||n.includes(`*`))||this._activeReadyRavenGames.size===0)return;let r=t;for(let e of this._activeReadyRavenGames)this.logger.log(`Late calling gameReady callback for game`,e),r({game:e})}async onProcessCreate({process:e}){let t=this.getRavenGame(e);if(!t)return;if(this.subscribedGames.size===0){this.logger.warn(`No subscribed games, skipping`);return}if(G.getInstance().track(`game_launch`,{game:t.identifier}),!this.subscribedGames.has(t.identifier)&&!this.subscribedGames.has(`*`))return;let n=new AbortController;if(await this.emit(`gameLaunch`,{game:t.identifier,reject:()=>n.abort()}),n.signal.aborted)return;let r=Kt.currentProcess;if(this.logger.log(`Game Launched`,t),this.logger.log(`Process is elevated: `,e.isElevated),this.logger.log(`Current process is elevated: `,r.isElevated),e.isElevated&&!r.isElevated){P.getInstance().fatal(`Game is elevated but the App is not`,`ELEVATION_MISMATCH`,{appElevated:!!r.isElevated,gameElevated:!!e.isElevated}),this.logger.log(`Game elevated but App is not`,{appElevated:r.isElevated,gameElevated:e.isElevated});return}let i=this.copyDll(nn),a=Zt();if(a.ri_disabled&&this.logger.log(`Skipping render interface injection due to meta debug`,{renderInterfacePath:i}),i&&!a.ri_disabled)try{await e.injectDll(i),this.logger.log(`Render Interface Injection Successful`,i)}catch(e){this.logger.error(`Render Interface Injection Failed`,e),this.logger.error(`Render Interface Injection Failed`,{renderInterfacePath:i})}let o=t?.modules.map(async t=>{let n=await V.getInstance().getCurrentVersion(t);if(!n)return this.logger.error(`No version found for DLL`,{identifier:t}),Promise.resolve();let r=V.getInstance().getTargetVersionPath(t,n);this.logger.log(`DLL Path`,r);let i=await this.getDllFiles(r);return this.logger.log(`DLL Files`,i),Promise.all(i.map(async t=>{let n=m.basename(t),i=m.join(r,n);if(!i)return Promise.resolve();if(a.gm_disabled)return this.logger.log(`Skipping injection due to meta debug`,{targetPath:i}),Promise.resolve();this.logger.log(`Injecting: `,i);try{return e.injectDll(i).then(()=>{this.logger.log(`Injection Successful`,i)}).catch(e=>{this.logger.error(`Injection Failed [1]`,{targetPath:i},e)})}catch(e){return this.logger.error(`Injection Failed [2]`,{targetPath:i},e),Promise.reject(e)}}))});await Promise.allSettled(o),this._activeReadyRavenGames.add(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.logger.log(`Game Ready`),this.emit(`gameReadyInternal`,{ravenGame:t,process:e}),this.emit(`gameReady`,{game:t.identifier}),G.getInstance().track(`game_ready`,{game:t.identifier})}copyDll(e){let t=m.basename(e),n=te(e),r=m.join(F(),`resources`),i=m.join(r,t);this.logger.info(`Copying`,n,`to`,i);try{se(r)||ce(r,{recursive:!0}),de(i,le(n)),ae(n,i)}catch(e){return e.code===`EBUSY`?i:(this.logger.error(`Failed to copy`,e),this.logger.error(`Failed to copy`,{originalPath:n,targetPath:i}),!1)}return i}async getDllFiles(e){try{return(await _.readdir(e)).filter(e=>e.endsWith(`.dll`)).map(t=>m.join(e,t))}catch(t){return this.logger.error(`Failed to read DLL directory`,t),this.logger.error(`Failed to read DLL directory`,{dllPath:e}),[]}}onProcessDestroy({process:e}){let t=this.getRavenGame(e);t&&(this._activeReadyRavenGames.delete(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameCloseInternal`,{ravenGame:t,process:e}),this.emit(`gameClose`,{game:t.identifier}),G.getInstance().track(`game_close`,{game:t.identifier}))}getRavenGame(e){if(!e.name)return;let t=H.getInstance().getExecutableData(e.name);if(!t){this.logger.error(`No raven game found for process`,{process:e});return}return t}}),rn=N(class extends vt{boundOnGameLaunch=this.onGameLaunch.bind(this);constructor(){super(`GameBuildManager`)}init(){super.init(),q.getInstance().on(`gameReadyInternal`,this.boundOnGameLaunch)}destroy(){q.getInstance().off(`gameReadyInternal`,this.boundOnGameLaunch),super.destroy()}async onGameLaunch(...e){let[{ravenGame:t,process:n}]=e;if(!n.path||!n.name){this.logger.error(`Process path or name not found, could not check for build hash`,void 0,n);return}let r=le(n.path),i=pe(`sha256`).update(r).digest(`hex`);this.logger.log(`Process Path`,n.path),this.logger.log(`Process Name`,n.name),this.logger.log(`Build Hash`,i);let a=!1;try{a=(await Nt(t.identifier,i)).data.upload}catch(e){this.logger.error(`Error checking game build hash`,e);return}if(!a){this.logger.log(`Build hash already exists, skipping upload`);return}let o=new v;o.file(n.name,r);let s=await o.generateAsync({type:`blob`});try{this.logger.log(`Uploading build (size: `,s.size,` bytes)`);let e=new Ze(s,{chunkSizeMb:25,maxConcurrent:1}),n=await Pt(t.identifier,{build_hash:i,chunk_count:e.totalChunks,file_size_bytes:s.size});await e.chunk(async(e,r)=>{this.logger.log(`Uploading chunk`,r),await Ft(t.identifier,{chunk:e,build_hash:i,chunk_index:r,upload_token:n.data.upload_token})}),this.logger.log(`Build uploaded successfully`)}catch(e){Rt(e)?zt(e.response)?this.logger.error(`Error uploading build hash, api error`,e):this.logger.error(`Error uploading build hash, request error`,e):this.logger.error(`Error uploading build hash, unknown error`,e)}}});function J(e,t){return`${e}:${t}`}function an(e,t,n){return e.reduce((e,r)=>{let i=r.key;return e[i]={on(e,n){let r=J(i,e),a=t.get(r)??new Set;a.add(n),t.set(r,a)},onAny(e){let n=J(i,`*`),r=t.get(n)??new Set;r.add(e),t.set(n,r)},off(e,n){let r=J(i,e),a=t.get(r);a&&(a.delete(n),a.size===0&&t.delete(r))},offAny(e){let n=J(i,`*`),r=t.get(n);r&&(r.delete(e),r.size===0&&t.delete(n))},readyForGameEvents:()=>{n.emit(`flushEvents`,i)}},e},{})}function on(){let e=P.getInstance(),t=q.getInstance();return{on:(n,r)=>{switch(n){case`fatal`:e.on(`fatal`,r);break;case`error`:e.on(`error`,r);break;case`warning`:e.on(`warning`,r);break;case`gameLaunch`:t.on(`gameLaunch`,r);break;case`gameClose`:t.on(`gameClose`,r);break;case`gameReady`:t.on(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}},off:(n,r)=>{switch(n){case`fatal`:e.off(`fatal`,r);break;case`error`:e.off(`error`,r);break;case`warning`:e.off(`warning`,r);break;case`gameLaunch`:t.off(`gameLaunch`,r);break;case`gameClose`:t.off(`gameClose`,r);break;case`gameReady`:t.off(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}}}}var Y=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}(Y||{});const sn=new Map([[Y.LeftButton,`LeftButton`],[Y.RightButton,`RightButton`],[Y.Cancel,`Cancel`],[Y.MiddleButton,`MiddleButton`],[Y.ExtraButton1,`ExtraButton1`],[Y.ExtraButton2,`ExtraButton2`],[Y.Back,`Backspace`],[Y.Tab,`Tab`],[Y.Clear,`Clear`],[Y.Return,`Enter`],[Y.Shift,`ShiftLeft`],[Y.Control,`ControlLeft`],[Y.Menu,`AltLeft`],[Y.Pause,`Pause`],[Y.CapsLock,`CapsLock`],[Y.Kana,`KanaMode`],[Y.Junja,`JunjaMode`],[Y.Final,`Finalize`],[Y.Hanja,`HanjaMode`],[Y.Escape,`Escape`],[Y.Convert,`Convert`],[Y.NonConvert,`NonConvert`],[Y.Accept,`Accept`],[Y.ModeChange,`ModeChange`],[Y.Space,`Space`],[Y.Prior,`PageUp`],[Y.Next,`PageDown`],[Y.End,`End`],[Y.Home,`Home`],[Y.Left,`ArrowLeft`],[Y.Up,`ArrowUp`],[Y.Right,`ArrowRight`],[Y.Down,`ArrowDown`],[Y.Select,`Select`],[Y.Print,`PrintScreen`],[Y.Execute,`Execute`],[Y.Snapshot,`Snapshot`],[Y.Insert,`Insert`],[Y.Delete,`Delete`],[Y.Help,`Help`],[Y.N0,`Digit0`],[Y.N1,`Digit1`],[Y.N2,`Digit2`],[Y.N3,`Digit3`],[Y.N4,`Digit4`],[Y.N5,`Digit5`],[Y.N6,`Digit6`],[Y.N7,`Digit7`],[Y.N8,`Digit8`],[Y.N9,`Digit9`],[Y.A,`KeyA`],[Y.B,`KeyB`],[Y.C,`KeyC`],[Y.D,`KeyD`],[Y.E,`KeyE`],[Y.F,`KeyF`],[Y.G,`KeyG`],[Y.H,`KeyH`],[Y.I,`KeyI`],[Y.J,`KeyJ`],[Y.K,`KeyK`],[Y.L,`KeyL`],[Y.M,`KeyM`],[Y.N,`KeyN`],[Y.O,`KeyO`],[Y.P,`KeyP`],[Y.Q,`KeyQ`],[Y.R,`KeyR`],[Y.S,`KeyS`],[Y.T,`KeyT`],[Y.U,`KeyU`],[Y.V,`KeyV`],[Y.W,`KeyW`],[Y.X,`KeyX`],[Y.Y,`KeyY`],[Y.Z,`KeyZ`],[Y.LeftWindows,`MetaLeft`],[Y.RightWindows,`MetaRight`],[Y.Application,`ContextMenu`],[Y.Sleep,`Sleep`],[Y.Numpad0,`Numpad0`],[Y.Numpad1,`Numpad1`],[Y.Numpad2,`Numpad2`],[Y.Numpad3,`Numpad3`],[Y.Numpad4,`Numpad4`],[Y.Numpad5,`Numpad5`],[Y.Numpad6,`Numpad6`],[Y.Numpad7,`Numpad7`],[Y.Numpad8,`Numpad8`],[Y.Numpad9,`Numpad9`],[Y.Multiply,`NumpadMultiply`],[Y.Add,`NumpadAdd`],[Y.Separator,`NumpadSeparator`],[Y.Subtract,`NumpadSubtract`],[Y.Decimal,`NumpadDecimal`],[Y.Divide,`NumpadDivide`],[Y.F1,`F1`],[Y.F2,`F2`],[Y.F3,`F3`],[Y.F4,`F4`],[Y.F5,`F5`],[Y.F6,`F6`],[Y.F7,`F7`],[Y.F8,`F8`],[Y.F9,`F9`],[Y.F10,`F10`],[Y.F11,`F11`],[Y.F12,`F12`],[Y.F13,`F13`],[Y.F14,`F14`],[Y.F15,`F15`],[Y.F16,`F16`],[Y.F17,`F17`],[Y.F18,`F18`],[Y.F19,`F19`],[Y.F20,`F20`],[Y.F21,`F21`],[Y.F22,`F22`],[Y.F23,`F23`],[Y.F24,`F24`],[Y.NumLock,`NumLock`],[Y.ScrollLock,`ScrollLock`],[Y.NEC_Equal,`NEC_Equal`],[Y.Fujitsu_Masshou,`Fujitsu_Masshou`],[Y.Fujitsu_Touroku,`Fujitsu_Touroku`],[Y.Fujitsu_Loya,`Fujitsu_Loya`],[Y.Fujitsu_Roya,`Fujitsu_Roya`],[Y.LeftShift,`ShiftLeft`],[Y.RightShift,`ShiftRight`],[Y.LeftControl,`ControlLeft`],[Y.RightControl,`ControlRight`],[Y.LeftMenu,`AltLeft`],[Y.RightMenu,`AltRight`],[Y.BrowserBack,`BrowserBack`],[Y.BrowserForward,`BrowserForward`],[Y.BrowserRefresh,`BrowserRefresh`],[Y.BrowserStop,`BrowserStop`],[Y.BrowserSearch,`BrowserSearch`],[Y.BrowserFavorites,`BrowserFavorites`],[Y.BrowserHome,`BrowserHome`],[Y.VolumeMute,`VolumeMute`],[Y.VolumeDown,`VolumeDown`],[Y.VolumeUp,`VolumeUp`],[Y.MediaNextTrack,`MediaTrackNext`],[Y.MediaPrevTrack,`MediaTrackPrevious`],[Y.MediaStop,`MediaStop`],[Y.MediaPlayPause,`MediaPlayPause`],[Y.LaunchMail,`LaunchMail`],[Y.LaunchMediaSelect,`LaunchMediaSelect`],[Y.LaunchApplication1,`LaunchApplication1`],[Y.LaunchApplication2,`LaunchApplication2`],[Y.OEM1,`OEM_1`],[Y.OEMPlus,`Equal`],[Y.OEMComma,`Comma`],[Y.OEMMinus,`Minus`],[Y.OEMPeriod,`Period`],[Y.OEM2,`Slash`],[Y.OEM3,`Backquote`],[Y.OEM4,`BracketLeft`],[Y.OEM5,`Backslash`],[Y.OEM6,`BracketRight`],[Y.OEM7,`Quote`],[Y.OEM8,`IntlRo`],[Y.OEMAX,`OEM_AX`],[Y.OEM102,`IntlBackslash`],[Y.ICOHelp,`ICO_HELP`],[Y.ICO00,`ICO_00`],[Y.ProcessKey,`Process`],[Y.ICOClear,`ICO_CLEAR`],[Y.Packet,`Packet`],[Y.OEMReset,`OEM_Reset`],[Y.OEMJump,`OEM_Jump`],[Y.OEMPA1,`OEM_PA1`],[Y.OEMPA2,`OEM_PA2`],[Y.OEMPA3,`OEM_PA3`],[Y.OEMWSCtrl,`OEM_WS_Ctrl`],[Y.OEMCUSel,`OEM_CU_Sel`],[Y.OEMATTN,`OEM_ATTN`],[Y.OEMFinish,`OEM_Finish`],[Y.OEMCopy,`OEM_Copy`],[Y.OEMAuto,`OEM_Auto`],[Y.OEMENLW,`OEM_ENLW`],[Y.OEMBackTab,`BackTab`],[Y.ATTN,`ATTN`],[Y.CRSel,`CRSel`],[Y.EXSel,`EXSel`],[Y.EREOF,`EREOF`],[Y.Play,`MediaPlay`],[Y.Zoom,`Zoom`],[Y.Noname,`Noname`],[Y.PA1,`PA1`],[Y.OEMClear,`OEM_Clear`]]),cn=new Map(sn.entries().map(([e,t])=>[t,e])),ln=r({"[string]":{keys:`string[]`,mode:r(`'toggle' | 'hold'`).pipe(e=>e??`toggle`)}});var un=class extends z{preferencesKeybindToCallbacks=new Map;pressedKeys=new Set;activeKeybinds=new Set;triggeredToggleKeybinds=new Set;boundHandleKeyboardFocus=this.handleKeyboardFocus.bind(this);boundHandleKeyDown=this.handleKeyDown.bind(this);boundHandleKeyUp=this.handleKeyUp.bind(this);keybindsFile;keybindListeningPaused=!1;constructor(e){super(`KeybindManager`),this.keybindsFile=new Ue({path:Yt([`keybinds.json`]),schema:ln,default:e})}init(){super.init();let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.on(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.on(`keyDown`,this.boundHandleKeyDown),e.instance.on(`keyUp`,this.boundHandleKeyUp)}async onKeybindToggled(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.toggle.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindDown(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.down.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindUp(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.up.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async updateKeybind(e,t){this.keybindsFile.set({[e]:t})}async updateKeybinds(e){let t=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0));this.keybindsFile.set({...this.keybindsFile.get(),...t})}getConfig(){return this.keybindsFile.get()}destroy(){let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.off(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.off(`keyDown`,this.boundHandleKeyDown),e.instance.off(`keyUp`,this.boundHandleKeyUp),super.destroy()}handleKeyDown(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t){this.logger.error(`Unknown key down`,e);return}this.pressedKeys.add(t),this.checkKeybindings()}handleKeyboardFocus(){this.pressedKeys.clear(),this.activeKeybinds.clear(),this.triggeredToggleKeybinds.clear()}async handleKeyUp(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t)return;this.pressedKeys.delete(t);let n=this.keybindsFile.get();for(let[e]of this.preferencesKeybindToCallbacks.entries())n[e].keys.includes(t)&&this.triggeredToggleKeybinds.delete(e);this.checkKeybindUps()}async checkKeybindUps(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){if(!n.up||n.up.length===0)continue;let r=e[t];if(this.activeKeybinds.has(t)&&r.keys.some(e=>!this.pressedKeys.has(e))){this.activeKeybinds.delete(t);for(let e of n.up)e();this.logger.log(`Keybind up triggered`,this.getKeybindToString(r))}}}async checkKeybindings(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];if(r.keys.length===this.pressedKeys.size&&r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):!1)){this.triggerKeybind(r,n,t);return}}for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):(this.logger.error(`Unknown key`,e,r),!1))&&this.triggerKeybind(r,n,t)}}triggerKeybind(e,t,n){let r=e.mode;if(r===`toggle`&&t.toggle&&t.toggle.length>0&&!this.triggeredToggleKeybinds.has(n)){let r;for(let e of t.toggle){let t=e();typeof t==`string`&&r===void 0&&(r=t)}this.triggeredToggleKeybinds.add(n),this.logger.log(r?`Keybind pressed rejected: ${r}`:`Keybind pressed accepted`,this.getKeybindToString(e))}if(r===`hold`&&t.down&&t.down.length>0&&!this.activeKeybinds.has(n)){let r;for(let e of t.down){let t=e();if(typeof t==`string`){r=t;break}}r?this.logger.log(`Keybind down rejected: ${r}`,this.getKeybindToString(e)):(this.activeKeybinds.add(n),this.logger.log(`Keybind down accepted`,this.getKeybindToString(e)))}}getKeybindToString(e){return`(${e.keys.join(`+`)}${e.mode?` ${e.mode}`:``})`}};function dn(e){let t=new un(e),n={};for(let r in e)n[r]={on:(e,n)=>{switch(e){case`down`:t.onKeybindDown(r,n);break;case`up`:t.onKeybindUp(r,n);break;case`toggle`:t.onKeybindToggled(r,n);break;default:throw Error(`Event type not implemented ${e}`,{cause:[e,n]})}}};let r={...n,getConfig:()=>t.getConfig(),pauseKeybindListening:()=>{t.keybindListeningPaused=!0},resumeKeybindListening:()=>{t.keybindListeningPaused=!1},updateKeybind:(e,n)=>{t.updateKeybind(e,n)},updateKeybinds:e=>{t.updateKeybinds(e)}};return t.init(),y.on(`quit`,()=>{t.destroy()}),r}function X(){return W.getInstance().getInterface(`OGG_SIEGE`)}function fn(){let e=q.getInstance(),t=P.getInstance(),n=G.getInstance();n.meta=pn(),e.on([`gameReady`,`gameClose`],()=>{n.meta||=pn(),n.meta.in_game=e.isInGame}),t.on(`fatal`,e=>{n.track(`fatal`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})}),t.on(`error`,e=>{n.track(`error`,{code:e.code,message:e.message,data:JSON.stringify(e.data)})}),t.on(`warning`,e=>{n.track(`warning`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})})}function pn(){return{app_id:global.OVERLAYED.APPLICATION_ID,user_id:Qt(),app_channel:global.OVERLAYED.APP_BUILD_CHANNEL,app_version:global.OVERLAYED.APP_VERSION,package_version:global.OVERLAYED.PACKAGE_VERSION,frontend_version:global.OVERLAYED.FRONTEND_VERSION,session_id:global.OVERLAYED.sessionId,in_game:!1}}function mn(){function e(e,t){return e.once(`closed`,()=>{e.isDestroyed()||G.getInstance().track(`window_closed`,{url:e.webContents.getURL(),in_game:t})}),e.on(`unresponsive`,()=>{e.isDestroyed()||G.getInstance().track(`window_unresponsive`,{url:e.webContents.getURL(),in_game:t})}),G.getInstance().track(`window_created`,{url:e.webContents.getURL(),in_game:t}),e}return{createWindow:t=>e(new global.OVERLAYED.electron.BrowserWindow(t),!1),createInGameWindow:t=>e(X().instance.newWindowInternal(global.OVERLAYED.electron.BrowserWindow,t),!0),on:(e,t)=>X().instance.on(e,t),off:(e,t)=>X().instance.off(e,t),once:(e,t)=>X().instance.once(e,t),addListener:(e,t)=>X().instance.addListener(e,t),removeListener:(e,t)=>X().instance.removeListener(e,t),removeAllListeners:()=>X().instance.removeAllListeners(),prependListener:(e,t)=>X().instance.prependListener(e,t),prependOnceListener:(e,t)=>X().instance.prependOnceListener(e,t),getActiveGameInfo:()=>{let e=X(),t=L.getInstance();return{resolution:e.resolution,isConnected:t.hasConnection}}}}const hn=N(class extends vt{renderInterface;globalCursorOverrideCount=new Set;globalMouseBlockCount=new Set;globalKeyboardBlockCount=new Set;keyInputBlocks={};constructor(e){super(`OverridesManager`),this.renderInterface=W.getInstance().getInterface(e)}scope(e){return{setGlobalCursorOverride:t=>this.setGlobalCursorOverride(e,t),setGlobalMouseBlock:t=>this.setGlobalMouseBlock(e,t),setGlobalKeyboardBlock:t=>this.setGlobalKeyboardBlock(e,t),setKeyInputBlock:(t,n)=>this.setKeyInputBlock(e,t,n)}}setGlobalCursorOverride(e,t){t?this.globalCursorOverrideCount.add(e):this.globalCursorOverrideCount.delete(e),t&&this.globalCursorOverrideCount.size===1?this.renderInterface.instance.setGlobalCursorOverride(!0):!t&&this.globalCursorOverrideCount.size===0&&this.renderInterface.instance.setGlobalCursorOverride(!1)}setGlobalMouseBlock(e,t){t?this.globalMouseBlockCount.add(e):this.globalMouseBlockCount.delete(e),t&&this.globalMouseBlockCount.size===1?this.renderInterface.instance.setGlobalMouseBlock(!0):!t&&this.globalMouseBlockCount.size===0&&this.renderInterface.instance.setGlobalMouseBlock(!1)}setGlobalKeyboardBlock(e,t){t?this.globalKeyboardBlockCount.add(e):this.globalKeyboardBlockCount.delete(e),t&&this.globalKeyboardBlockCount.size===1?this.renderInterface.instance.setGlobalKeyboardBlock(!0):!t&&this.globalKeyboardBlockCount.size===0&&this.renderInterface.instance.setGlobalKeyboardBlock(!1)}setKeyInputBlock(e,t,n){this.keyInputBlocks[t]||(this.keyInputBlocks[t]=new Set),n?this.keyInputBlocks[t].add(e):this.keyInputBlocks[t].delete(e),n&&this.keyInputBlocks[t].size===1?this.renderInterface.instance.setKeyInputBlock(t,!0):!n&&this.keyInputBlocks[t].size===0&&this.renderInterface.instance.setKeyInputBlock(t,!1)}},`OGG_SIEGE`);function gn(){return{scope:e=>hn.getInstance().scope(e),raw:{setGlobalMouseBlock:e=>X().instance.setGlobalMouseBlock(e),setGlobalKeyboardBlock:e=>X().instance.setGlobalKeyboardBlock(e),setGlobalCursorOverride:e=>X().instance.setGlobalCursorOverride(e),setKeyInputBlock:(e,t)=>X().instance.setKeyInputBlock(e,t),getGlobalMouseBlock:()=>X().instance.getGlobalMouseBlock(),getGlobalKeyboardBlock:()=>X().instance.getGlobalKeyboardBlock(),getGlobalCursorOverride:()=>X().instance.getGlobalCursorOverride(),getKeyInputBlock:e=>X().instance.getKeyInputBlock(e)}}}function _n(){return{track:(e,t)=>{G.getInstance().track(`custom__${String(e)}`,t)}}}var vn=ge(((e,t)=>{var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),r=n((e,t)=>{var n=new Set([`mouseDown`,`mouseUp`,`pointerDown`,`pointerUp`]),r=new WeakSet;function i(e,t,{allowHosts:i}={}){let{shell:a}=t;if(r.has(e))return;r.add(e);let o=e.webContents;function s(e){return!!(!c(e)||i?.includes(e.host))}function c(e){return new URL(o.getURL()).origin!==e.origin}let l=0;function u(){l=Date.now()}function d(){let e=Date.now()-l,t=e<150;return t||console.warn(`was not recently active`,e),t}if(process.platform===`win32`)for(let t of Object.values({KEYDOWN:256,LBUTTONUP:514,MBUTTONUP:520,RBUTTONUP:517,XBUTTONUP:524,TOUCH:576}))e.hookWindowMessage(t,u);o.on(`input-event`,(e,t)=>{n.has(t.type)&&u()}),o.on(`will-navigate`,(e,t)=>{let n=e.url||t;if(console.log(`will-navigate`,n),!n)return;let r=new URL(n);if(!s(r)){if(!d()){console.log(`blocked navigation`,n),e.preventDefault();return}c(r)&&(console.log(`external navigation`,n),e.preventDefault(),a.openExternal(n))}}),o.session.on(`will-download`,(e,t)=>{let n=t.getURL();/^blob:/.test(n)||e.preventDefault()}),o.setWindowOpenHandler(e=>{console.log(`window-open`,e.url);let{url:t}=e,n=new URL(t);if(!s(n))return d()?(c(n)&&a.openExternal(e.url),{action:`deny`}):(console.log(`blocked navigation`,t),{action:`deny`})})}t.exports=i}),i=n((e,t)=>{var n=new Set([`Mozilla`,`AppleWebKit`,`Chrome`,`Safari`,`Gecko`,`Firefox`,`OPR`,`Edg`,`Version`,`Mobile`,`curl`,`PostmanRuntime`]);async function r(e,t,r){let{webContents:i}=e,a=await i.executeJavaScript(`navigator.userAgent`);a=a.match(/[^\/]+\/[^\s]+( \([^\)]+\))?/g).map(e=>e.trim()).filter(e=>{let[t]=e.split(`/`,1);return n.has(t)}).join(` `),i.setUserAgent(a),t.app.userAgentFallback=a}t.exports=r}),a=r(),o=i();function s(e,t,n={}){a(e,t,n.linkHandler),o(e,t,n.userAgent)}t.exports={setupRevUtils:s,setupLinkHandler:a,setUserAgent:o}}))();function yn(){return{registerWindow:e=>{(0,vn.setupRevUtils)(e,global.OVERLAYED.electron)}}}function bn(e){let t=Je(global.OVERLAYED.APPLICATION_ID),n=Qe(t,{recursive:!0}),r=Ke(),i=Qe(r,{recursive:!0});I.getInstance().info(`Logs path: `,t),I.getInstance().info(`Overlayed logs path: `,r);let a=new v;return[...n,...i].forEach(([e,t])=>{I.getInstance().info(`Zipping: `,t);let n=oe(t),r=ee(t);a.file(r,n,{compression:`DEFLATE`})}),Object.entries(e?.additionalFiles??{}).forEach(([e,t])=>{I.getInstance().info(`Zipping extra file: `,e),a.file(e,t,{compression:`DEFLATE`})}),a}async function xn(e,t){let n={...e,version:`${global.OVERLAYED.APP_VERSION}@${global.OVERLAYED.APP_BUILD_CHANNEL}`,log_zip:`data:application/zip;base64,${t}`};await fetch(`https://api.stats.cc/v1/overlay/contact`,{method:`POST`,body:JSON.stringify(n),redirect:`follow`,headers:{"Content-Type":`application/json`}})}function Sn(e){let t=new Xe(`app.log`);return t.init(global.OVERLAYED.APPLICATION_ID,e.debug),{scope:e=>t.scope(e),info:e=>t.info(e),warn:e=>t.warn(e),error:e=>t.error(e),debug:e=>t.debug(e),submitBugReport:async(e,t)=>{G.getInstance().track(`bug_report_submitted`,{version:e.version,category:e.category}),await xn(e,await bn(t).generateAsync({type:`base64`}))}}}const Cn=1e3;function wn(e,t,n,i,a){let o=L.getInstance(),s=I.getInstance().scope(`SetupPipeServer`);s.log(`Initializing`);function c(e,t){let r=n.get(t);if(!r)n.set(t,[e]);else{if(r.length>=Cn){P.getInstance().warn(`Event buffer full, removing oldest event`,`EVENT_BUFFER_FULL`,{summary:`Event buffer overflow for module ${t}. Buffer size: ${r.length}, max: ${Cn}`});return}r.push(e)}}function l(n){s.info(n);let i=Xt(n);if(i instanceof r.errors){G.getInstance().track(`invalid_game_event`,{}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:i.summary});return}let o=gt.includes(i.type),l=e.modules.find(e=>e.key===`universal`),u=o?l:e.modules.find(e=>e.key===i.game);if(!u){s.warn(`Invalid module`,{module:o?`universal`:i.game});return}let d=u.events.event,f=d(n);if(f instanceof r.errors){if(`type`in f.byPath)return;s.warn(`Invalid event`,{summary:f.summary}),G.getInstance().track(`invalid_game_event`,{game:i.game,type:i.type,summary:f.summary}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:f.summary});return}if(!a[u.key]){c(f,u.key);return}if(f.type===`unsupported_game_version`){let{content:e}=f;G.getInstance().track(`unsupported_game_version`,{game:f.game,hash:e.process_hash,version:e.game_version})}let p=J(u.key,f.type),m=J(u.key,`*`),ee=t.get(p),te=t.get(m),h=[...Array.from(ee??[]),...Array.from(te??[])];if(h.length===0){s.info(`No handlers found for event`,{event:f});return}h.forEach(e=>{e(f)})}return i.on(`flushEvents`,e=>{if(a[e])return;a[e]=!0;let t=n.get(e);t&&(I.getInstance().info(`Flushing ${t.length} events for module ${e}`),t.forEach(e=>l(e)),n.delete(e))}),o.on(`data`,e=>e.forEach(l)),o.on(`error`,e=>{s.error(`Pipe server error`,e),P.getInstance().error(`Pipe server error`,`PIPE_SERVER_ERROR`,{error:e})}),o}let Z=!1,Tn={},Q,En=new M,$;function Dn(e){let t=On(e),{init:n=!0,debug:r=!1,silent:i=!0}=t;if(kn(e),I.getInstance().init(e.applicationId,r,i),Z)return Q;function a(){if(Z){I.getInstance().warn(`Overlayed already initialized`);return}fn();let e=new Map,n=new Map,r=an(t.modules,e,En),i=on(),o=dn(t.keybinds),s=mn(),c=gn(),l=yn(),u=_n(),d=Sn(t);I.getInstance().log(`Overlayed initialized`),An(t),wn(t,e,n,En,Tn),Z=!0,Q={...r,...i,ads:l,keybinds:o,windows:s,input:c,cortex:u,hasAnyActiveProcesses:()=>U.getInstance().hasAnyActiveProcesses,hasAnyActiveGames:()=>q.getInstance().isInGame,init:a,log:d,initialized:Z},Q.universal.on(`logged_in`,e=>{G.getInstance().track(`account_id`,{account_id:e.content.account_id,game:e.game})})}return n?(a(),Q):new Proxy({init:a},{get:(e,t)=>{if(t!==`init`&&!Z)throw Error(`overlayed was called before initialized: ${t}`);return t===`init`?e[t]:Q[t]}})}function On(e){return{...e,modules:[...e.modules,_t()]}}global.OVERLAYED=new Proxy({},{get:()=>{throw Error(`function overlayed was not called`)}});function kn(e){global.OVERLAYED={APPLICATION_ID:Et(e.applicationId),APP_BUILD_CHANNEL:e.channel??`alpha`,APP_VERSION:e.version??`0.0.0`,PACKAGE_VERSION:`0.30.1`,FRONTEND_VERSION:`0.0.0`,sessionId:$t(),electron:e.electron}}function An(e){let t=e.universal?[`*`]:e.modules.map(e=>e.key);q.getInstance().setSubscribedGames(t),rn.getInstance().init(),q.getInstance().init(),U.getInstance().init(),H.getInstance().init();async function n(){let e=Dt(global.OVERLAYED.APPLICATION_ID).then(e=>e.data),t=Qt();I.getInstance().log(`userId`,t);let n={...await e,userId:t};return I.getInstance().log(`appInfo`,n),n}let r;global.OVERLAYED.electron.ipcMain.handle(`getAppInfo`,async()=>(r??=n(),r)),G.getInstance().track(`start`,{});try{$&&clearInterval($),$=setInterval(()=>{try{en()}catch{}},3e4),$.unref()}catch(e){I.getInstance().log(`failed to start sessionLastUsed interval`,e)}async function i(){let e={};e.os=g.platform().trim(),e.os_version=process.getSystemVersion().trim(),e.architecture=g.arch().trim();let t=g.cpus();t.length>0?(e.cpu=t[0].model.trim(),e.cpu_cores=t.length,e.cpu_speed=t[0].speed):I.getInstance().warn(`Failed to collect CPU info`);let n=await he.graphics();I.getInstance().info(`GPU info`,n);let r=n.controllers.sort((e,t)=>(t.vram??0)-(e.vram??0))[0];r?(e.gpu=r.model.trim(),e.gpu_memory=r.vram??0):I.getInstance().warn(`Failed to find primary GPU`),e.display_count=n.displays.length;let i=n.displays.find(e=>e.main)??n.displays[0];i?(e.primary_display_resolution_x=i.resolutionX??void 0,e.primary_display_resolution_y=i.resolutionY??void 0,e.primary_display_refresh_rate=i.currentRefreshRate??void 0):I.getInstance().warn(`Failed to find main display`),e.ram=process.getSystemMemoryInfo().total;let a=g.homedir(),o=await me.statfs(a);return o&&`blocks`in o&&`bsize`in o&&`bavail`in o?(e.disk=o.blocks*o.bsize,e.disk_free=o.bavail*o.bsize):I.getInstance().warn(`Failed to collect disk info`),I.getInstance().log(`Retrieved system information`,e),e}y.on(`ready`,()=>{i().then(e=>{G.getInstance().track(`system_info`,e)}).catch(e=>{I.getInstance().log(`Failed to retrieve system information`,e)})}),y.on(`quit`,()=>{G.getInstance().track(`electron_quit`,{}),jn()}),process.on(`exit`,()=>{G.getInstance().track(`exit`,{}),jn()})}async function jn(){try{en()}catch{}try{$&&clearInterval($),$=void 0}catch{}await G.getInstance().flush(),H.getInstance().destroy(),q.getInstance().destroy(),rn.getInstance().destroy(),U.getInstance().destroy(),W.getInstance().getInterface(`OGG_SIEGE`).destroy(),L.getInstance().destroy(),P.getInstance().destroy()}export{ct as RenderInterface,ut as VirtualKey,tt as defineConfig,Dn as overlayed,Vt as setFetchLatestTokenCallback,St as setUpdaterTokenResolver};
|
|
5
|
+
`);return a!==-1&&(t=Ae(t,i,r,a)),r+t+i};Object.defineProperties(k.prototype,O);const Ve=k();k({level:Me?Me.level:0});var j=Ve,M=class{emitter;constructor(){this.emitter=i()}on(e,t){b(e).forEach(e=>{this.emitter.on(e,t)})}off(e,t){b(e).forEach(e=>{this.emitter.off(e,t)})}emit(e,t){b(e).forEach(e=>{this.emitter.emit(e,t)})}removeAllListeners(){this.emitter.all.clear()}},He=class{listeners;constructor(){this.listeners=new Map}on(e,t){b(e).forEach(e=>{let n=this.listeners.get(e)||new Set;n.add(t),this.listeners.set(e,n)})}off(e,t){b(e).forEach(e=>{let n=this.listeners.get(e);n&&n.delete(t)})}async emit(e,...t){let n=b(e).flatMap(e=>{let t=this.listeners.get(e)||new Set,n=this.listeners.get(`*`)||new Set;return[...Array.from(t),...Array.from(n)]});return n.length===0?[]:await Promise.all(n.map(async n=>{try{let e=n(...t);return e instanceof Promise?await e:e}catch(t){console.error(`Error in event listener for ${String(e)}:`,t);return}}))}removeAllListeners(){this.listeners.clear()}};function N(e,...t){return class extends e{static _instance;static getInstance(){return this._instance||=new e(...t),this._instance}static clearInstance(){this._instance=void 0}}}const P=N(class extends M{destroy(){this.removeAllListeners()}fatal(e,t,n){this.emit(`fatal`,{code:t,message:e,data:n,timestamp:Date.now()})}error(e,t,n){this.emit(`error`,{code:t,message:e,data:n,timestamp:Date.now()})}warn(e,t,n){this.emit(`warning`,{code:t,message:e,data:n,timestamp:Date.now()})}});var Ue=class{data;_schema;_defaultValue;_path;constructor(e){let{schema:t,default:n,path:r}=e;this._schema=t,this._defaultValue=n,this._path=r}set(e){let t=this._schema[`~standard`].validate(e);if(t instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);if(t.issues){this.reportInvalidConfigFile(t.issues);return}this.data=this.onBeforeSave(e),this.save(e)}get(){return this.data?this.data:this.load()}getKey(e){return this.get()[e]}save(e){let t=this.onBeforeSave(e);try{f(this.getFilePath()),a.writeFileSync(this.getFilePath(),JSON.stringify(t,void 0,2))}catch{return}return this.data=t}load(){if(!this.fileExists(this.getFilePath())||!this.canReadWriteFile(this.getFilePath())){this.save(this._defaultValue);let e=this.onAfterLoad(this._defaultValue);return this.data=e,e}try{let e=a.readFileSync(this.getFilePath(),`utf8`),t=this.onAfterLoad(this.parseStoredData(e));return this.data=t,t}catch{return this.data=this._defaultValue}}onBeforeSave(e){return e}onAfterLoad(e){return e}getFilePath(){return this._path}parseStoredData(e){try{let t=r(`string.json.parse`).to(`object`)(e);if(t instanceof r.errors)return this._defaultValue;let n=this._schema[`~standard`].validate(t);if(n instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);return n.issues?this.migrate(t,this._defaultValue):this.migrate(n.value,this._defaultValue)}catch{return this._defaultValue}}canReadWriteFile(e){try{return a.accessSync(e,a.constants.R_OK|a.constants.W_OK),!0}catch{return!1}}fileExists(e){try{return a.accessSync(e,a.constants.F_OK),!0}catch{return!1}}migrate(e,t){let n={...e};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(r in e?e[r]!==null&&t[r]!==null&&typeof e[r]==`object`&&typeof t[r]==`object`&&!Array.isArray(e[r])&&!Array.isArray(t[r])?n[r]=this.migrate(e[r],t[r]):Array.isArray(t[r])&&(n[r]=e[r]):n[r]=t[r]);return n}reportInvalidConfigFile(e){P.getInstance().error(`Invalid config file`,`INVALID_CONFIG_FILE`,{issues:e.map(e=>e.message),filePath:this._path,data:this.data})}};function We(e,t,n){return typeof e!=`object`||!e?String(e):e instanceof Error?JSON.stringify(e,Object.getOwnPropertyNames(e),n):e instanceof Map?JSON.stringify(Object.fromEntries(e.entries()),t,n):e instanceof Set?JSON.stringify(Array.from(e),t,n):JSON.stringify(e,t,n)}var Ge=class e extends M{stream;logPath;baseFileName;currentDate;rotationCheckInterval;isRotating=!1;constructor(e,t){super(),this.logPath=e,this.baseFileName=t.replace(`.log`,``),this.currentDate=this.getDateString(new Date),this.ensureLogDirectory(),this.ensureLogFile(),this.stream=this.createStream(),this.rotationCheckInterval=this.startRotationCheck(),this.cleanupOldLogs()}static scope(t,n){return new e(t,n)}log(...e){this.write(`log`,...e)}error(...e){this.write(`error`,...e)}warn(...e){this.write(`warn`,...e)}info(...e){this.write(`info`,...e)}debug(...e){this.write(`debug`,...e)}async close(){clearInterval(this.rotationCheckInterval),await new Promise(e=>{this.stream.end(()=>e())})}getCurrentFileName(){return this.getFileName(this.currentDate)}static getMessageElements(e,...t){let n=new Date;return{timestamp:n.toISOString().replace(`T`,` `).replace(/\.\d+Z$/,``)+`.${n.getUTCMilliseconds().toString().padStart(3,`0`)}`,level:e,message:t.map(e=>We(e)).join(` `)}}getFileName(e){return`${this.baseFileName}-${e}.log`}ensureLogDirectory(){try{c(this.logPath,{recursive:!0})}catch(e){throw console.error(`Failed to create log directory ${this.logPath}:`,e),e}}ensureLogFile(){let e=p(this.logPath,this.getFileName(this.currentDate));if(!s(e))try{d(e,``,`utf8`)}catch(t){throw console.error(`Failed to create log file ${e}:`,t),t}}getDateString(e){return`${e.getUTCFullYear()}-${(e.getUTCMonth()+1).toString().padStart(2,`0`)}-${e.getUTCDate().toString().padStart(2,`0`)}`}createStream(){return o(p(this.logPath,this.getFileName(this.currentDate)),{flags:`a`,encoding:`utf8`})}async rotateLogs(){if(this.isRotating)return;this.isRotating=!0;let e=this.getDateString(new Date);e!==this.currentDate&&await new Promise(t=>{this.stream.end(()=>{this.currentDate=e,this.stream=this.createStream(),this.cleanupOldLogs(),t()})}),this.isRotating=!1}startRotationCheck(){return setInterval(()=>this.rotateLogs(),6e4)}cleanupOldLogs(){let e=l(this.logPath),t=new Date,n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()-7));e.filter(e=>e.startsWith(this.baseFileName)&&e.endsWith(`.log`)).filter(e=>{let[t,r,i]=e.replace(`${this.baseFileName}-`,``).replace(`.log`,``).split(`-`).map(Number);return new Date(Date.UTC(t,r-1,i))<=n}).forEach(e=>{try{u(p(this.logPath,e))}catch(t){console.error(`Failed to delete old log file ${e}:`,t)}})}write(t,...n){let{timestamp:r,message:i}=e.getMessageElements(t,...n),a=`[${r}] [${t}] ${i}\n`;this.stream.write(a,e=>{e?this.emit(`error`,e):this.emit(`write`,a)})}};const F=()=>m.join(process.env.APPDATA??``,`overlayed`),Ke=()=>m.join(F(),`logs`),qe=e=>m.join(F(),`apps`,e),Je=e=>m.join(qe(e),`logs`),Ye=()=>m.join(F(),`meta.json`);var Xe=class{fileLogger;path;appId;messageQueue=new _e;fileName;_debug=!1;silent=!1;constructor(e){this.fileName=e}init(e,t=!1,n=!1){this.appId=e,this._debug=t,this.silent=n,this.path=Je(e),this.fileLogger=new Ge(this.path,this.fileName),this.messageQueue.flush().forEach(e=>{this.fileLogger?.[e.type](...e.args)})}scope(e){if(!this.appId||!this.path)throw Error(`Logger not initialized`);let t=`[${e}]`;return{scope:e=>this.scope(e),error:(...e)=>this.error(t,...e),warn:(...e)=>this.warn(t,...e),info:(...e)=>this.info(t,...e),log:(...e)=>this.log(t,...e),debug:(...e)=>this.debug(t,...e)}}error(...e){this.handle(`error`,...e)}warn(...e){this.handle(`warn`,...e)}info(...e){this.handle(`log`,...e)}debug(...e){this._debug&&this.handle(`debug`,...e)}log(...e){this.handle(`log`,...e)}handle(e,...t){this.logToConsole(e,...t),this.fileLogger?this.fileLogger[e](...t):this.messageQueue.add({type:e,args:t})}logToConsole(e,...t){let n={error:j.red,warn:j.yellow,debug:j.blue,log:j.white};if(this.silent&&!this._debug)return;let{timestamp:r,message:i}=Ge.getMessageElements(e,...t),a=console[e],o=n[e];a(`${j.gray(r)} ${o(i)}`)}};const I=N(Xe,`overlayed.log`);var Ze=class extends ie{blob;chunkSizeMb;maxConcurrent;shouldStop=!1;constructor(e,t){super(),this.blob=e,this.chunkSizeMb=t.chunkSizeMb,this.maxConcurrent=t.maxConcurrent??3}get totalChunks(){return Math.ceil(this.blob.size/(this.chunkSizeMb*1024*1024))}async chunk(e){let t=this.chunkSizeMb*1024*1024,n=this.totalChunks;if(n===0)return;let r=new Map,i=new Set,a=new Set,o=[];for(let e=0;e<n;e++)o.push(e);let s=async n=>{let s=n*t,c=Math.min(s+t,this.blob.size),l=this.blob.slice(s,c);try{await e(l,n),a.add(n),this.emit(`chunkComplete`,n),i.delete(n)}catch(e){let t=r.get(n)||0;t<5?(r.set(n,t+1),await new Promise(e=>setTimeout(e,(t+1)*1e3)),o.push(n)):(a.add(n),this.emit(`error`,e),this.shouldStop=!0,i.delete(n))}},c=[],l=async()=>{for(;(o.length>0||i.size>0)&&!this.shouldStop;){if(o.length===0){await new Promise(e=>setTimeout(e,10));continue}let e=o.shift();a.has(e)||i.has(e)||(i.add(e),await s(e))}};for(let e=0;e<this.maxConcurrent;e++)c.push(l());await Promise.all(c)}};function Qe(e,t){let{recursive:n}=$e(t);return se(e)?n?et(e).map(t=>[e,t]):ue(e).map(t=>[e,t]):[]}function $e(e){return{recursive:e?.recursive??!0}}function et(e){return ue(e,{withFileTypes:!0}).flatMap(t=>{let n=m.join(e,t.name);return t.isDirectory()?et(n):[n]})}function tt(e){return e}const{PipeEventServer:nt,PipeEventClient:rt,PipeEventBase:it,ProcessMonitor:at,Process:ot,HardwareInterface:st}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),L=N(class extends M{server=null;_hasConnection=!1;pipeId;get hasConnection(){return this._hasConnection}constructor(e){super(),this.pipeId=e,this.init()}destroy(){this.server&&=(this._hasConnection=!1,this.server?.removeAllListeners(),null)}init(){this.server=new nt(this.pipeId,{clientCount:1,access:1}),this.server.on(`event`,e=>{try{let t=JSON.parse(e);this.emit(`data`,[t])}catch(e){this.emit(`error`,e)}}),this.server.on(`connected`,()=>{this._hasConnection=!0}),this.server.on(`disconnected`,()=>{this._hasConnection=!1})}},`overlayed-event-server`),{RenderInterface:ct,renderHookPath:lt}=e(import.meta.url)(`@overlayed/app/dist/render-interface/build/overlayed_render_interface_x64.node`);let ut=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}({});const R=r({game:`string`,type:`string`,creation_time:`number`}).and({game:`'siege' | 'tft'`}),dt=R.and({type:`'logged_in'`,content:{account_id:`string`}}),ft=R.and({type:`'module_loaded'`,content:{game_version:`string`,process_hash:`string`}}),pt=R.and({type:`'module_unloaded'`}),mt=R.and({type:`'unsupported_game_version'`,content:{game_version:`string`,process_hash:`string`}}),ht=n({"#event1":`logged_in | module_loaded | module_unloaded | unsupported_game_version`,event:`event1`,logged_in:dt,module_loaded:ft,module_unloaded:pt,unsupported_game_version:mt}).export(),gt=Object.keys(ht).filter(e=>e!==`event`);function _t(){return{key:`universal`,events:ht}}var vt=class{logger;initialized=!1;constructor(e){this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1}},z=class extends M{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}},yt=class extends He{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}};const bt=fe.create({baseURL:`https://updater.stats.cc`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});let xt;function St(e){xt=e}bt.interceptors.request.use(e=>{let t=xt?.();return t?(e.headers??={},e.headers.Authorization=t,e):e});const B=fe.create({baseURL:`https://api.overlayed.gg`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});B.interceptors.request.use(e=>(e.headers??={},e));function Ct(e,t){if(t<=0)throw Error(`Chunk size must be greater than 0`);if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function wt(e){return e}function Tt(e){return e?t=>(e(t),t):wt}const Et=Tt();function Dt(e){return B.get(`/v1/public/applications/${e}`)}function Ot(e,t,n){return bt.get(`/v1/native/${At(e)}/version.txt`,{params:{channel:t},responseType:`text`,headers:{"X-App-Version":jt(n,t)}})}function kt(e,t,n){return bt.get(`/v1/native/${At(e)}/files`,{params:{channel:t},responseType:`arraybuffer`,headers:{"X-App-Version":jt(n,t)}})}function At(e){return e===`01JXPFK6YQ3N00N2Y9JHFNG55D`||e===`01JZEBPGHT5M4Y6SGY4P7Q9EZT`?`siege-game-module`:e}function jt(e,t){return`desktop-application/${e} (channel=${t})`}function Mt(){return B.get(`/v1/public/raven/config`)}function Nt(e,t){return B.get(`/v1/public/raven/games/${e}/builds/${t}`)}function Pt(e,t){return B.post(`/v1/public/raven/games/${e}/builds/upload`,null,{params:t})}function Ft(e,t){let n=new FormData;return n.append(`file`,t.chunk),B.patch(`/v1/public/raven/games/${e}/builds/upload`,n,{params:t})}function It(e){let t=Date.now(),n=Ct(e.messages.map(e=>Lt(t,e)),250),r=Promise.all(n.map(async t=>B.post(`/v1/public/cortex/events`,{...e,messages:t})));return r.catch(e=>{let t=e?.response?.data||e?.message||e;console.error(`Failed to submit cortex events`,t)}),r}function Lt(e,t){let n=e-t.created_at.getTime(),r=Math.max(0,Math.floor(n/1e3));return{properties:t.properties,type:t.type,seconds_offset:r}}function Rt(e){return e instanceof Error&&(e.name===`XiorError`||e.name===`XiorTimeoutError`)}function zt(e){return!!(e&&`kind`in e.data&&`message`in e.data)}let Bt;function Vt(e){Bt=e}const V=N(class extends z{UPDATE_CHECK_INTERVAL_MS=1e3*60*5;targetDir;updateInterval;constructor(){super(`NativeModuleManager`),this.targetDir=m.join(F(),`resources`),this.logger.log(`Target directory`,this.targetDir)}async initWithDlls(e){super.init(),await _.mkdir(this.targetDir,{recursive:!0}),await this.checkForUpdates(e),clearInterval(this.updateInterval),this.updateInterval=setInterval(()=>this.checkForUpdates(e),this.UPDATE_CHECK_INTERVAL_MS)}destroy(){this.updateInterval&&=(clearInterval(this.updateInterval),void 0),super.destroy()}async getCurrentVersion(e){try{let t=m.join(this.targetDir,e,`version.txt`);return this.logger.log(`Version Path`,t),await _.readFile(t,`utf-8`)}catch{return null}}getTargetPath(e){return m.join(this.targetDir,e)}getTargetVersionPath(e,t){return m.join(this.getTargetPath(e),t)}async checkForUpdates(e){let t=global.OVERLAYED.APP_BUILD_CHANNEL;if(this.logger.log(`Checking for updates`),!t){this.logger.error(`Invalid VITE_BUILD_CHANNEL`);return}await Bt?.();for(let n of e)try{let{data:e}=await Ot(n,t,global.OVERLAYED.APP_VERSION),r=await this.getCurrentVersion(n);this.logger.log(`${n} > Update Check. current: ${r}, latest: ${e}`);let i=e!==r,a=!1;if(!i){let t=this.getTargetVersionPath(n,e);await this.hasPathAccess(t)?(await _.readdir(t)).length===0&&(a=!0,this.logger.warn(`${n} > Version path exists, but no files. Forcing download.`)):(a=!0,this.logger.warn(`${n} > Version path does not exist. Forcing download.`))}i||a?(this.logger.log(`${n} > Update found: ${r} -> ${e}`),await this.downloadAndExtractDll(n,e,t),this.logger.log(`${n} > Downloaded and extracted`),await this.cleanupOldVersions(n,e),this.logger.log(`${n} > Cleaned up versions older than ${e}`),this.emit(`dllUpdated`,{identifier:n,version:e})):this.logger.log(`${n} > No update found`)}catch(e){this.logger.error(`${n} > Error checking/updating`,e)}}async downloadAndExtractDll(e,t,n){this.logger.log(`${e} > Downloading DLLs for version ${t}`);let{data:r}=await kt(e,n,global.OVERLAYED.APP_VERSION);this.logger.log(`${e} > Downloaded DLLs for version ${t}`);let i=this.getTargetPath(e),a=this.getTargetVersionPath(e,t);await _.mkdir(a,{recursive:!0});let o=new v;await o.loadAsync(r);let s=Object.keys(o.files).map(async t=>{let n=o.files[t];if(n&&!n.dir){let r=m.join(a,t),i=await n.async(`nodebuffer`);await _.writeFile(r,i),this.logger.log(`${e} > Extracted DLL: ${t}`)}});await Promise.all(s);let c=m.join(i,`version.txt`);await _.writeFile(c,t),this.logger.log(`${e} > Saved version file: ${t}`)}async cleanupOldVersions(e,t){let n=m.join(this.targetDir,e),r=await _.readdir(n,{withFileTypes:!0});for(let e of r)e.isDirectory()&&e.name!==t&&await _.rm(m.join(n,e.name),{recursive:!0,force:!0})}async hasPathAccess(e){try{return await _.access(e,_.constants.F_OK),!0}catch{return!1}}}),H=N(class extends z{REFETCH_INTERVAL=1e3*60*5;FAILED_REFETCH_INTERVAL=1e3*30;_ravenConfig;_executableToGameMap=new Map;_executablesArray=[];_refetchIntervalHandler=null;_failedRefetchTimeoutHandler=null;constructor(){super(`RavenManager`)}init(){super.init(),this.fetchRavenConfig(),this._refetchIntervalHandler=setInterval(()=>{this._failedRefetchTimeoutHandler&&=(clearTimeout(this._failedRefetchTimeoutHandler),null),this.fetchRavenConfig()},this.REFETCH_INTERVAL)}getExecutableData(e){return this._executableToGameMap.get(e.toLowerCase())??null}get executables(){return this._executablesArray}get executablesMap(){return this._executableToGameMap}destroy(){this._refetchIntervalHandler&&clearInterval(this._refetchIntervalHandler),this._failedRefetchTimeoutHandler&&clearTimeout(this._failedRefetchTimeoutHandler),V.getInstance().destroy(),super.destroy()}async fetchRavenConfig(){try{this._ravenConfig={games:(await Mt()).data.games},this.resetState();let e=new Set;for(let t of this._ravenConfig.games){for(let e of t.executables){let n=e.toLowerCase();this._executableToGameMap.set(n,t),this._executablesArray.push(n)}t.modules.forEach(t=>e.add(t))}await V.getInstance().initWithDlls(Array.from(e)),this.logger.log(`Raven updated, monitoring ${this._executableToGameMap.size} executables`),this.emit(`executablesUpdated`,{executables:this.executables,map:this._executableToGameMap})}catch(e){this.logger.error(`Failed to fetch Raven config`,e),this._failedRefetchTimeoutHandler=setTimeout(()=>this.fetchRavenConfig(),this.FAILED_REFETCH_INTERVAL)}}resetState(){this._executableToGameMap.clear(),this._executablesArray=[]}}),{PipeEventServer:Ht,PipeEventClient:Ut,PipeEventBase:Wt,ProcessMonitor:Gt,Process:Kt,HardwareInterface:qt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),U=N(class extends z{_processMonitor;_processes=new Map;boundOnRavenManagerExecutablesUpdated=this.onRavenManagerExecutablesUpdated.bind(this);constructor(){super(`ProcessManager`),this._processMonitor=new Gt}get hasAnyActiveProcesses(){return this.activeProcesses.length>0}get activeProcesses(){return Array.from(this._processes.values()).flat().filter(e=>!e.destroyedAt)}init(){super.init(),H.getInstance().on(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processMonitor.on(`create`,e=>{this.logger.log(`Process created`,e),this.addProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`create`,{process:e})}),this._processMonitor.on(`destroy`,e=>{this.logger.log(`Process destroyed`,e),this.deleteProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`destroy`,{process:e})})}destroy(){H.getInstance().off(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processes.clear(),this._processMonitor.removeAllListeners(),super.destroy()}isProcessRunning(e){return this._processes.get(e)?.some(e=>!e.destroyedAt)??!1}onRavenManagerExecutablesUpdated(e){this.logger.log(`Monitoring ${e.executables.length} processes`),e.executables.forEach(e=>{this._processMonitor.registerProcess(e)})}addProcess(e){if(!e.name)return;let t=this._processes.get(e.name);if(!t){this._processes.set(e.name,[e]);return}this._processes.set(e.name,t.concat(e))}deleteProcess(e){if(!e.name)return;let t=this._processes.get(e.name)?.filter(t=>t.id!==e.id)??[];t.length===0?this._processes.delete(e.name):this._processes.set(e.name,t)}});var Jt=class{_instance;_resolution;boundOnResolutionChanged=this.onResolutionChanged.bind(this);constructor(e){this._instance=e,this._resolution={width:0,height:0},this._instance.on(`resolution`,this.boundOnResolutionChanged)}destroy(){this._instance.off(`resolution`,this.boundOnResolutionChanged)}get instance(){return this._instance}get resolution(){return this._resolution}onResolutionChanged(e,t){this._resolution={width:e,height:t}}};const W=N(class{interfaces={};constructor(){}createInterface(e){return this.interfaces[e]||(this.interfaces[e]=new Jt(new ct(e,{access:1}))),this.interfaces[e]}getInterface(e){return this.interfaces[e]?this.interfaces[e]:this.createInterface(e)}}),G=N(class{options;eventQueue;meta=null;constructor(e){this.options=this.resolveOptions(e),this.eventQueue=new _e,this.setupFlushInterval()}track(e,t){this.eventQueue.add({type:e,properties:t,created_at:new Date})}flush(){let e=Array.from(this.eventQueue.flush()).concat({type:`ping`,properties:{},created_at:new Date});if(!this.meta)throw Error(`Tried to flush Cortex events before meta was set`);try{It({...this.meta,messages:e})}catch{}return e}setupFlushInterval(){setInterval(()=>{this.flush()},this.options.batchIntervalSeconds*1e3)}resolveOptions(e){return{batchIntervalSeconds:e?.batchIntervalSeconds??15}}});function Yt(e=[]){return m.normalize(m.join(qe(global.OVERLAYED.APPLICATION_ID),...e))}const Xt=r({game:`string`,type:`string`,creation_time:`number`}),K=new Ue({path:Ye(),schema:r({userId:`string | undefined`,sessionId:`string | undefined`,sessionLastUsed:`number | undefined`,"debug?":{"ri_disabled?":`boolean`,"gm_disabled?":`boolean`}}),default:{userId:void 0,sessionId:void 0,sessionLastUsed:void 0}});function Zt(){let{debug:e}=K.get();return e?{ri_disabled:e.ri_disabled??!1,gm_disabled:e.gm_disabled??!1}:{ri_disabled:!1,gm_disabled:!1}}function Qt(){let e=K.get().userId;if(e)return e;let t=tn();return K.set({...K.get(),userId:t}),t}function $t(){let e=K.get();if(e.sessionId&&typeof e.sessionLastUsed==`number`&&Date.now()-e.sessionLastUsed<=300*1e3)return e.sessionId;let t=crypto.randomUUID();return K.set({...e,sessionId:t,sessionLastUsed:Date.now()}),t}function en(){try{let e=K.get();K.set({...e,sessionLastUsed:Date.now()})}catch(e){I.getInstance().log(`Failed to update sessionLastUsed`,e)}}function tn(){try{return qt.generateUniqueIdentifier()}catch{return crypto.randomUUID()}}const nn=e(import.meta.url).resolve(`@overlayed/app/dist/render-interface/build/overlayed_render_hook_x64.dll`),q=N(class extends yt{boundOnProcessCreate=this.onProcessCreate.bind(this);boundOnProcessDestroy=this.onProcessDestroy.bind(this);subscribedGames=new Set;_activeReadyRavenGames=new Set;get isInGame(){return this._activeReadyRavenGames.size>0}constructor(){super(`GameLaunchManager`)}setSubscribedGames(e){this.subscribedGames=new Set(e)}init(){super.init(),W.getInstance().createInterface(`OGG_SIEGE`),U.getInstance().on(`create`,this.boundOnProcessCreate),U.getInstance().on(`destroy`,this.boundOnProcessDestroy)}destroy(){U.getInstance().off(`create`,this.boundOnProcessCreate),U.getInstance().off(`destroy`,this.boundOnProcessDestroy),super.destroy()}on(e,t){super.on(e,t);let n=b(e);if(!(n.includes(`gameReady`)||n.includes(`*`))||this._activeReadyRavenGames.size===0)return;let r=t;for(let e of this._activeReadyRavenGames)this.logger.log(`Late calling gameReady callback for game`,e),r({game:e})}async onProcessCreate({process:e}){let t=this.getRavenGame(e);if(!t)return;if(this.subscribedGames.size===0){this.logger.warn(`No subscribed games, skipping`);return}if(G.getInstance().track(`game_launch`,{game:t.identifier}),!this.subscribedGames.has(t.identifier)&&!this.subscribedGames.has(`*`))return;let n=new AbortController;if(await this.emit(`gameLaunch`,{game:t.identifier,reject:()=>n.abort()}),n.signal.aborted)return;let r=Kt.currentProcess;if(this.logger.log(`Game Launched`,t),this.logger.log(`Process is elevated: `,e.isElevated),this.logger.log(`Current process is elevated: `,r.isElevated),e.isElevated&&!r.isElevated){P.getInstance().fatal(`Game is elevated but the App is not`,`ELEVATION_MISMATCH`,{appElevated:!!r.isElevated,gameElevated:!!e.isElevated}),this.logger.log(`Game elevated but App is not`,{appElevated:r.isElevated,gameElevated:e.isElevated});return}let i=this.copyDll(nn),a=Zt();if(a.ri_disabled&&this.logger.log(`Skipping render interface injection due to meta debug`,{renderInterfacePath:i}),i&&!a.ri_disabled)try{await e.injectDll(i),this.logger.log(`Render Interface Injection Successful`,i)}catch(e){this.logger.error(`Render Interface Injection Failed`,e),this.logger.error(`Render Interface Injection Failed`,{renderInterfacePath:i})}let o=t?.modules.map(async t=>{let n=await V.getInstance().getCurrentVersion(t);if(!n)return this.logger.error(`No version found for DLL`,{identifier:t}),Promise.resolve();let r=V.getInstance().getTargetVersionPath(t,n);this.logger.log(`DLL Path`,r);let i=await this.getDllFiles(r);return this.logger.log(`DLL Files`,i),Promise.all(i.map(async t=>{let n=m.basename(t),i=m.join(r,n);if(!i)return Promise.resolve();if(a.gm_disabled)return this.logger.log(`Skipping injection due to meta debug`,{targetPath:i}),Promise.resolve();this.logger.log(`Injecting: `,i);try{return e.injectDll(i).then(()=>{this.logger.log(`Injection Successful`,i)}).catch(e=>{this.logger.error(`Injection Failed [1]`,{targetPath:i},e)})}catch(e){return this.logger.error(`Injection Failed [2]`,{targetPath:i},e),Promise.reject(e)}}))});await Promise.allSettled(o),this._activeReadyRavenGames.add(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.logger.log(`Game Ready`),this.emit(`gameReadyInternal`,{ravenGame:t,process:e}),this.emit(`gameReady`,{game:t.identifier}),G.getInstance().track(`game_ready`,{game:t.identifier})}copyDll(e){let t=m.basename(e),n=te(e),r=m.join(F(),`resources`),i=m.join(r,t);this.logger.info(`Copying`,n,`to`,i);try{se(r)||ce(r,{recursive:!0}),de(i,le(n)),ae(n,i)}catch(e){return e.code===`EBUSY`?i:(this.logger.error(`Failed to copy`,e),this.logger.error(`Failed to copy`,{originalPath:n,targetPath:i}),!1)}return i}async getDllFiles(e){try{return(await _.readdir(e)).filter(e=>e.endsWith(`.dll`)).map(t=>m.join(e,t))}catch(t){return this.logger.error(`Failed to read DLL directory`,t),this.logger.error(`Failed to read DLL directory`,{dllPath:e}),[]}}onProcessDestroy({process:e}){let t=this.getRavenGame(e);t&&(this._activeReadyRavenGames.delete(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameCloseInternal`,{ravenGame:t,process:e}),this.emit(`gameClose`,{game:t.identifier}),G.getInstance().track(`game_close`,{game:t.identifier}))}getRavenGame(e){if(!e.name)return;let t=H.getInstance().getExecutableData(e.name);if(!t){this.logger.error(`No raven game found for process`,{process:e});return}return t}}),rn=N(class extends vt{boundOnGameLaunch=this.onGameLaunch.bind(this);constructor(){super(`GameBuildManager`)}init(){super.init(),q.getInstance().on(`gameReadyInternal`,this.boundOnGameLaunch)}destroy(){q.getInstance().off(`gameReadyInternal`,this.boundOnGameLaunch),super.destroy()}async onGameLaunch(...e){let[{ravenGame:t,process:n}]=e;if(!n.path||!n.name){this.logger.error(`Process path or name not found, could not check for build hash`,void 0,n);return}let r=le(n.path),i=pe(`sha256`).update(r).digest(`hex`);this.logger.log(`Process Path`,n.path),this.logger.log(`Process Name`,n.name),this.logger.log(`Build Hash`,i);let a=!1;try{a=(await Nt(t.identifier,i)).data.upload}catch(e){this.logger.error(`Error checking game build hash`,e);return}if(!a){this.logger.log(`Build hash already exists, skipping upload`);return}let o=new v;o.file(n.name,r);let s=await o.generateAsync({type:`blob`});try{this.logger.log(`Uploading build (size: `,s.size,` bytes)`);let e=new Ze(s,{chunkSizeMb:25,maxConcurrent:1}),n=await Pt(t.identifier,{build_hash:i,chunk_count:e.totalChunks,file_size_bytes:s.size});await e.chunk(async(e,r)=>{this.logger.log(`Uploading chunk`,r),await Ft(t.identifier,{chunk:e,build_hash:i,chunk_index:r,upload_token:n.data.upload_token})}),this.logger.log(`Build uploaded successfully`)}catch(e){Rt(e)?zt(e.response)?this.logger.error(`Error uploading build hash, api error`,e):this.logger.error(`Error uploading build hash, request error`,e):this.logger.error(`Error uploading build hash, unknown error`,e)}}});function J(e,t){return`${e}:${t}`}function an(e,t,n){return e.reduce((e,r)=>{let i=r.key;return e[i]={on(e,n){let r=J(i,e),a=t.get(r)??new Set;a.add(n),t.set(r,a)},onAny(e){let n=J(i,`*`),r=t.get(n)??new Set;r.add(e),t.set(n,r)},off(e,n){let r=J(i,e),a=t.get(r);a&&(a.delete(n),a.size===0&&t.delete(r))},offAny(e){let n=J(i,`*`),r=t.get(n);r&&(r.delete(e),r.size===0&&t.delete(n))},readyForGameEvents:()=>{n.emit(`flushEvents`,i)}},e},{})}function on(){let e=P.getInstance(),t=q.getInstance();return{on:(n,r)=>{switch(n){case`fatal`:e.on(`fatal`,r);break;case`error`:e.on(`error`,r);break;case`warning`:e.on(`warning`,r);break;case`gameLaunch`:t.on(`gameLaunch`,r);break;case`gameClose`:t.on(`gameClose`,r);break;case`gameReady`:t.on(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}},off:(n,r)=>{switch(n){case`fatal`:e.off(`fatal`,r);break;case`error`:e.off(`error`,r);break;case`warning`:e.off(`warning`,r);break;case`gameLaunch`:t.off(`gameLaunch`,r);break;case`gameClose`:t.off(`gameClose`,r);break;case`gameReady`:t.off(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}}}}var Y=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}(Y||{});const sn=new Map([[Y.LeftButton,`LeftButton`],[Y.RightButton,`RightButton`],[Y.Cancel,`Cancel`],[Y.MiddleButton,`MiddleButton`],[Y.ExtraButton1,`ExtraButton1`],[Y.ExtraButton2,`ExtraButton2`],[Y.Back,`Backspace`],[Y.Tab,`Tab`],[Y.Clear,`Clear`],[Y.Return,`Enter`],[Y.Shift,`ShiftLeft`],[Y.Control,`ControlLeft`],[Y.Menu,`AltLeft`],[Y.Pause,`Pause`],[Y.CapsLock,`CapsLock`],[Y.Kana,`KanaMode`],[Y.Junja,`JunjaMode`],[Y.Final,`Finalize`],[Y.Hanja,`HanjaMode`],[Y.Escape,`Escape`],[Y.Convert,`Convert`],[Y.NonConvert,`NonConvert`],[Y.Accept,`Accept`],[Y.ModeChange,`ModeChange`],[Y.Space,`Space`],[Y.Prior,`PageUp`],[Y.Next,`PageDown`],[Y.End,`End`],[Y.Home,`Home`],[Y.Left,`ArrowLeft`],[Y.Up,`ArrowUp`],[Y.Right,`ArrowRight`],[Y.Down,`ArrowDown`],[Y.Select,`Select`],[Y.Print,`PrintScreen`],[Y.Execute,`Execute`],[Y.Snapshot,`Snapshot`],[Y.Insert,`Insert`],[Y.Delete,`Delete`],[Y.Help,`Help`],[Y.N0,`Digit0`],[Y.N1,`Digit1`],[Y.N2,`Digit2`],[Y.N3,`Digit3`],[Y.N4,`Digit4`],[Y.N5,`Digit5`],[Y.N6,`Digit6`],[Y.N7,`Digit7`],[Y.N8,`Digit8`],[Y.N9,`Digit9`],[Y.A,`KeyA`],[Y.B,`KeyB`],[Y.C,`KeyC`],[Y.D,`KeyD`],[Y.E,`KeyE`],[Y.F,`KeyF`],[Y.G,`KeyG`],[Y.H,`KeyH`],[Y.I,`KeyI`],[Y.J,`KeyJ`],[Y.K,`KeyK`],[Y.L,`KeyL`],[Y.M,`KeyM`],[Y.N,`KeyN`],[Y.O,`KeyO`],[Y.P,`KeyP`],[Y.Q,`KeyQ`],[Y.R,`KeyR`],[Y.S,`KeyS`],[Y.T,`KeyT`],[Y.U,`KeyU`],[Y.V,`KeyV`],[Y.W,`KeyW`],[Y.X,`KeyX`],[Y.Y,`KeyY`],[Y.Z,`KeyZ`],[Y.LeftWindows,`MetaLeft`],[Y.RightWindows,`MetaRight`],[Y.Application,`ContextMenu`],[Y.Sleep,`Sleep`],[Y.Numpad0,`Numpad0`],[Y.Numpad1,`Numpad1`],[Y.Numpad2,`Numpad2`],[Y.Numpad3,`Numpad3`],[Y.Numpad4,`Numpad4`],[Y.Numpad5,`Numpad5`],[Y.Numpad6,`Numpad6`],[Y.Numpad7,`Numpad7`],[Y.Numpad8,`Numpad8`],[Y.Numpad9,`Numpad9`],[Y.Multiply,`NumpadMultiply`],[Y.Add,`NumpadAdd`],[Y.Separator,`NumpadSeparator`],[Y.Subtract,`NumpadSubtract`],[Y.Decimal,`NumpadDecimal`],[Y.Divide,`NumpadDivide`],[Y.F1,`F1`],[Y.F2,`F2`],[Y.F3,`F3`],[Y.F4,`F4`],[Y.F5,`F5`],[Y.F6,`F6`],[Y.F7,`F7`],[Y.F8,`F8`],[Y.F9,`F9`],[Y.F10,`F10`],[Y.F11,`F11`],[Y.F12,`F12`],[Y.F13,`F13`],[Y.F14,`F14`],[Y.F15,`F15`],[Y.F16,`F16`],[Y.F17,`F17`],[Y.F18,`F18`],[Y.F19,`F19`],[Y.F20,`F20`],[Y.F21,`F21`],[Y.F22,`F22`],[Y.F23,`F23`],[Y.F24,`F24`],[Y.NumLock,`NumLock`],[Y.ScrollLock,`ScrollLock`],[Y.NEC_Equal,`NEC_Equal`],[Y.Fujitsu_Masshou,`Fujitsu_Masshou`],[Y.Fujitsu_Touroku,`Fujitsu_Touroku`],[Y.Fujitsu_Loya,`Fujitsu_Loya`],[Y.Fujitsu_Roya,`Fujitsu_Roya`],[Y.LeftShift,`ShiftLeft`],[Y.RightShift,`ShiftRight`],[Y.LeftControl,`ControlLeft`],[Y.RightControl,`ControlRight`],[Y.LeftMenu,`AltLeft`],[Y.RightMenu,`AltRight`],[Y.BrowserBack,`BrowserBack`],[Y.BrowserForward,`BrowserForward`],[Y.BrowserRefresh,`BrowserRefresh`],[Y.BrowserStop,`BrowserStop`],[Y.BrowserSearch,`BrowserSearch`],[Y.BrowserFavorites,`BrowserFavorites`],[Y.BrowserHome,`BrowserHome`],[Y.VolumeMute,`VolumeMute`],[Y.VolumeDown,`VolumeDown`],[Y.VolumeUp,`VolumeUp`],[Y.MediaNextTrack,`MediaTrackNext`],[Y.MediaPrevTrack,`MediaTrackPrevious`],[Y.MediaStop,`MediaStop`],[Y.MediaPlayPause,`MediaPlayPause`],[Y.LaunchMail,`LaunchMail`],[Y.LaunchMediaSelect,`LaunchMediaSelect`],[Y.LaunchApplication1,`LaunchApplication1`],[Y.LaunchApplication2,`LaunchApplication2`],[Y.OEM1,`OEM_1`],[Y.OEMPlus,`Equal`],[Y.OEMComma,`Comma`],[Y.OEMMinus,`Minus`],[Y.OEMPeriod,`Period`],[Y.OEM2,`Slash`],[Y.OEM3,`Backquote`],[Y.OEM4,`BracketLeft`],[Y.OEM5,`Backslash`],[Y.OEM6,`BracketRight`],[Y.OEM7,`Quote`],[Y.OEM8,`IntlRo`],[Y.OEMAX,`OEM_AX`],[Y.OEM102,`IntlBackslash`],[Y.ICOHelp,`ICO_HELP`],[Y.ICO00,`ICO_00`],[Y.ProcessKey,`Process`],[Y.ICOClear,`ICO_CLEAR`],[Y.Packet,`Packet`],[Y.OEMReset,`OEM_Reset`],[Y.OEMJump,`OEM_Jump`],[Y.OEMPA1,`OEM_PA1`],[Y.OEMPA2,`OEM_PA2`],[Y.OEMPA3,`OEM_PA3`],[Y.OEMWSCtrl,`OEM_WS_Ctrl`],[Y.OEMCUSel,`OEM_CU_Sel`],[Y.OEMATTN,`OEM_ATTN`],[Y.OEMFinish,`OEM_Finish`],[Y.OEMCopy,`OEM_Copy`],[Y.OEMAuto,`OEM_Auto`],[Y.OEMENLW,`OEM_ENLW`],[Y.OEMBackTab,`BackTab`],[Y.ATTN,`ATTN`],[Y.CRSel,`CRSel`],[Y.EXSel,`EXSel`],[Y.EREOF,`EREOF`],[Y.Play,`MediaPlay`],[Y.Zoom,`Zoom`],[Y.Noname,`Noname`],[Y.PA1,`PA1`],[Y.OEMClear,`OEM_Clear`]]),cn=new Map(sn.entries().map(([e,t])=>[t,e])),ln=r({"[string]":{keys:`string[]`,mode:r(`'toggle' | 'hold'`).pipe(e=>e??`toggle`)}});var un=class extends z{preferencesKeybindToCallbacks=new Map;pressedKeys=new Set;activeKeybinds=new Set;triggeredToggleKeybinds=new Set;boundHandleKeyboardFocus=this.handleKeyboardFocus.bind(this);boundHandleKeyDown=this.handleKeyDown.bind(this);boundHandleKeyUp=this.handleKeyUp.bind(this);keybindsFile;keybindListeningPaused=!1;constructor(e){super(`KeybindManager`),this.keybindsFile=new Ue({path:Yt([`keybinds.json`]),schema:ln,default:e})}init(){super.init();let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.on(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.on(`keyDown`,this.boundHandleKeyDown),e.instance.on(`keyUp`,this.boundHandleKeyUp)}async onKeybindToggled(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.toggle.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindDown(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.down.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindUp(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.up.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async updateKeybind(e,t){this.keybindsFile.set({[e]:t})}async updateKeybinds(e){let t=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0));this.keybindsFile.set({...this.keybindsFile.get(),...t})}getConfig(){return this.keybindsFile.get()}destroy(){let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.off(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.off(`keyDown`,this.boundHandleKeyDown),e.instance.off(`keyUp`,this.boundHandleKeyUp),super.destroy()}handleKeyDown(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t){this.logger.error(`Unknown key down`,e);return}this.pressedKeys.add(t),this.checkKeybindings()}handleKeyboardFocus(){this.pressedKeys.clear(),this.activeKeybinds.clear(),this.triggeredToggleKeybinds.clear()}async handleKeyUp(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t)return;this.pressedKeys.delete(t);let n=this.keybindsFile.get();for(let[e]of this.preferencesKeybindToCallbacks.entries())n[e].keys.includes(t)&&this.triggeredToggleKeybinds.delete(e);this.checkKeybindUps()}async checkKeybindUps(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){if(!n.up||n.up.length===0)continue;let r=e[t];if(this.activeKeybinds.has(t)&&r.keys.some(e=>!this.pressedKeys.has(e))){this.activeKeybinds.delete(t);for(let e of n.up)e();this.logger.log(`Keybind up triggered`,this.getKeybindToString(r))}}}async checkKeybindings(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];if(r.keys.length===this.pressedKeys.size&&r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):!1)){this.triggerKeybind(r,n,t);return}}for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):(this.logger.error(`Unknown key`,e,r),!1))&&this.triggerKeybind(r,n,t)}}triggerKeybind(e,t,n){let r=e.mode;if(r===`toggle`&&t.toggle&&t.toggle.length>0&&!this.triggeredToggleKeybinds.has(n)){let r;for(let e of t.toggle){let t=e();typeof t==`string`&&r===void 0&&(r=t)}this.triggeredToggleKeybinds.add(n),this.logger.log(r?`Keybind pressed rejected: ${r}`:`Keybind pressed accepted`,this.getKeybindToString(e))}if(r===`hold`&&t.down&&t.down.length>0&&!this.activeKeybinds.has(n)){let r;for(let e of t.down){let t=e();if(typeof t==`string`){r=t;break}}r?this.logger.log(`Keybind down rejected: ${r}`,this.getKeybindToString(e)):(this.activeKeybinds.add(n),this.logger.log(`Keybind down accepted`,this.getKeybindToString(e)))}}getKeybindToString(e){return`(${e.keys.join(`+`)}${e.mode?` ${e.mode}`:``})`}};function dn(e){let t=new un(e),n={};for(let r in e)n[r]={on:(e,n)=>{switch(e){case`down`:t.onKeybindDown(r,n);break;case`up`:t.onKeybindUp(r,n);break;case`toggle`:t.onKeybindToggled(r,n);break;default:throw Error(`Event type not implemented ${e}`,{cause:[e,n]})}}};let r={...n,getConfig:()=>t.getConfig(),pauseKeybindListening:()=>{t.keybindListeningPaused=!0},resumeKeybindListening:()=>{t.keybindListeningPaused=!1},updateKeybind:(e,n)=>{t.updateKeybind(e,n)},updateKeybinds:e=>{t.updateKeybinds(e)}};return t.init(),y.on(`quit`,()=>{t.destroy()}),r}function X(){return W.getInstance().getInterface(`OGG_SIEGE`)}function fn(){let e=q.getInstance(),t=P.getInstance(),n=G.getInstance();n.meta=pn(),e.on([`gameReady`,`gameClose`],()=>{n.meta||=pn(),n.meta.in_game=e.isInGame}),t.on(`fatal`,e=>{n.track(`fatal`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})}),t.on(`error`,e=>{n.track(`error`,{code:e.code,message:e.message,data:JSON.stringify(e.data)})}),t.on(`warning`,e=>{n.track(`warning`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})})}function pn(){return{app_id:global.OVERLAYED.APPLICATION_ID,user_id:Qt(),app_channel:global.OVERLAYED.APP_BUILD_CHANNEL,app_version:global.OVERLAYED.APP_VERSION,package_version:global.OVERLAYED.PACKAGE_VERSION,frontend_version:global.OVERLAYED.FRONTEND_VERSION,session_id:global.OVERLAYED.sessionId,in_game:!1}}function mn(){function e(e,t){return e.once(`closed`,()=>{e.isDestroyed()||G.getInstance().track(`window_closed`,{url:e.webContents.getURL(),in_game:t})}),e.on(`unresponsive`,()=>{e.isDestroyed()||G.getInstance().track(`window_unresponsive`,{url:e.webContents.getURL(),in_game:t})}),G.getInstance().track(`window_created`,{url:e.webContents.getURL(),in_game:t}),e}return{createWindow:t=>e(new global.OVERLAYED.electron.BrowserWindow(t),!1),createInGameWindow:t=>e(X().instance.newWindowInternal(global.OVERLAYED.electron.BrowserWindow,t),!0),on:(e,t)=>X().instance.on(e,t),off:(e,t)=>X().instance.off(e,t),once:(e,t)=>X().instance.once(e,t),addListener:(e,t)=>X().instance.addListener(e,t),removeListener:(e,t)=>X().instance.removeListener(e,t),removeAllListeners:()=>X().instance.removeAllListeners(),prependListener:(e,t)=>X().instance.prependListener(e,t),prependOnceListener:(e,t)=>X().instance.prependOnceListener(e,t),getActiveGameInfo:()=>{let e=X(),t=L.getInstance();return{resolution:e.resolution,isConnected:t.hasConnection}}}}const hn=N(class extends vt{renderInterface;globalCursorOverrideCount=new Set;globalMouseBlockCount=new Set;globalKeyboardBlockCount=new Set;keyInputBlocks={};constructor(e){super(`OverridesManager`),this.renderInterface=W.getInstance().getInterface(e)}scope(e){return{setGlobalCursorOverride:t=>this.setGlobalCursorOverride(e,t),setGlobalMouseBlock:t=>this.setGlobalMouseBlock(e,t),setGlobalKeyboardBlock:t=>this.setGlobalKeyboardBlock(e,t),setKeyInputBlock:(t,n)=>this.setKeyInputBlock(e,t,n)}}setGlobalCursorOverride(e,t){t?this.globalCursorOverrideCount.add(e):this.globalCursorOverrideCount.delete(e),t&&this.globalCursorOverrideCount.size===1?this.renderInterface.instance.setGlobalCursorOverride(!0):!t&&this.globalCursorOverrideCount.size===0&&this.renderInterface.instance.setGlobalCursorOverride(!1)}setGlobalMouseBlock(e,t){t?this.globalMouseBlockCount.add(e):this.globalMouseBlockCount.delete(e),t&&this.globalMouseBlockCount.size===1?this.renderInterface.instance.setGlobalMouseBlock(!0):!t&&this.globalMouseBlockCount.size===0&&this.renderInterface.instance.setGlobalMouseBlock(!1)}setGlobalKeyboardBlock(e,t){t?this.globalKeyboardBlockCount.add(e):this.globalKeyboardBlockCount.delete(e),t&&this.globalKeyboardBlockCount.size===1?this.renderInterface.instance.setGlobalKeyboardBlock(!0):!t&&this.globalKeyboardBlockCount.size===0&&this.renderInterface.instance.setGlobalKeyboardBlock(!1)}setKeyInputBlock(e,t,n){this.keyInputBlocks[t]||(this.keyInputBlocks[t]=new Set),n?this.keyInputBlocks[t].add(e):this.keyInputBlocks[t].delete(e),n&&this.keyInputBlocks[t].size===1?this.renderInterface.instance.setKeyInputBlock(t,!0):!n&&this.keyInputBlocks[t].size===0&&this.renderInterface.instance.setKeyInputBlock(t,!1)}},`OGG_SIEGE`);function gn(){return{scope:e=>hn.getInstance().scope(e),raw:{setGlobalMouseBlock:e=>X().instance.setGlobalMouseBlock(e),setGlobalKeyboardBlock:e=>X().instance.setGlobalKeyboardBlock(e),setGlobalCursorOverride:e=>X().instance.setGlobalCursorOverride(e),setKeyInputBlock:(e,t)=>X().instance.setKeyInputBlock(e,t),getGlobalMouseBlock:()=>X().instance.getGlobalMouseBlock(),getGlobalKeyboardBlock:()=>X().instance.getGlobalKeyboardBlock(),getGlobalCursorOverride:()=>X().instance.getGlobalCursorOverride(),getKeyInputBlock:e=>X().instance.getKeyInputBlock(e)}}}function _n(){return{track:(e,t)=>{G.getInstance().track(`custom__${String(e)}`,t)}}}var vn=ge(((e,t)=>{var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),r=n((e,t)=>{var n=new Set([`mouseDown`,`mouseUp`,`pointerDown`,`pointerUp`]),r=new WeakSet;function i(e,t,{allowHosts:i}={}){let{shell:a}=t;if(r.has(e))return;r.add(e);let o=e.webContents;function s(e){return!!(!c(e)||i?.includes(e.host))}function c(e){return new URL(o.getURL()).origin!==e.origin}let l=0;function u(){l=Date.now()}function d(){let e=Date.now()-l,t=e<150;return t||console.warn(`was not recently active`,e),t}if(process.platform===`win32`)for(let t of Object.values({KEYDOWN:256,LBUTTONUP:514,MBUTTONUP:520,RBUTTONUP:517,XBUTTONUP:524,TOUCH:576}))e.hookWindowMessage(t,u);o.on(`input-event`,(e,t)=>{n.has(t.type)&&u()}),o.on(`will-navigate`,(e,t)=>{let n=e.url||t;if(console.log(`will-navigate`,n),!n)return;let r=new URL(n);if(!s(r)){if(!d()){console.log(`blocked navigation`,n),e.preventDefault();return}c(r)&&(console.log(`external navigation`,n),e.preventDefault(),a.openExternal(n))}}),o.session.on(`will-download`,(e,t)=>{let n=t.getURL();/^blob:/.test(n)||e.preventDefault()}),o.setWindowOpenHandler(e=>{console.log(`window-open`,e.url);let{url:t}=e,n=new URL(t);if(!s(n))return d()?(c(n)&&a.openExternal(e.url),{action:`deny`}):(console.log(`blocked navigation`,t),{action:`deny`})})}t.exports=i}),i=n((e,t)=>{var n=new Set([`Mozilla`,`AppleWebKit`,`Chrome`,`Safari`,`Gecko`,`Firefox`,`OPR`,`Edg`,`Version`,`Mobile`,`curl`,`PostmanRuntime`]);async function r(e,t,r){let{webContents:i}=e,a=await i.executeJavaScript(`navigator.userAgent`);a=a.match(/[^\/]+\/[^\s]+( \([^\)]+\))?/g).map(e=>e.trim()).filter(e=>{let[t]=e.split(`/`,1);return n.has(t)}).join(` `),i.setUserAgent(a),t.app.userAgentFallback=a}t.exports=r}),a=r(),o=i();function s(e,t,n={}){a(e,t,n.linkHandler),o(e,t,n.userAgent)}t.exports={setupRevUtils:s,setupLinkHandler:a,setUserAgent:o}}))();function yn(){return{registerWindow:e=>{(0,vn.setupRevUtils)(e,global.OVERLAYED.electron)}}}function bn(e){let t=Je(global.OVERLAYED.APPLICATION_ID),n=Qe(t,{recursive:!0}),r=Ke(),i=Qe(r,{recursive:!0});I.getInstance().info(`Logs path: `,t),I.getInstance().info(`Overlayed logs path: `,r);let a=new v;return[...n,...i].forEach(([e,t])=>{I.getInstance().info(`Zipping: `,t);let n=oe(t),r=ee(t);a.file(r,n,{compression:`DEFLATE`})}),Object.entries(e?.additionalFiles??{}).forEach(([e,t])=>{I.getInstance().info(`Zipping extra file: `,e),a.file(e,t,{compression:`DEFLATE`})}),a}async function xn(e,t){let n={...e,version:`${global.OVERLAYED.APP_VERSION}@${global.OVERLAYED.APP_BUILD_CHANNEL}`,log_zip:`data:application/zip;base64,${t}`};await fetch(`https://api.stats.cc/v1/overlay/contact`,{method:`POST`,body:JSON.stringify(n),redirect:`follow`,headers:{"Content-Type":`application/json`}})}function Sn(e){let t=new Xe(`app.log`);return t.init(global.OVERLAYED.APPLICATION_ID,e.debug),{scope:e=>t.scope(e),info:e=>t.info(e),warn:e=>t.warn(e),error:e=>t.error(e),debug:e=>t.debug(e),submitBugReport:async(e,t)=>{G.getInstance().track(`bug_report_submitted`,{version:e.version,category:e.category}),await xn(e,await bn(t).generateAsync({type:`base64`}))}}}const Cn=1e3;function wn(e,t,n,i,a){let o=L.getInstance(),s=I.getInstance().scope(`SetupPipeServer`);s.log(`Initializing`);function c(e,t){let r=n.get(t);if(!r)n.set(t,[e]);else{if(r.length>=Cn){P.getInstance().warn(`Event buffer full, removing oldest event`,`EVENT_BUFFER_FULL`,{summary:`Event buffer overflow for module ${t}. Buffer size: ${r.length}, max: ${Cn}`});return}r.push(e)}}function l(n){s.info(n);let i=Xt(n);if(i instanceof r.errors){G.getInstance().track(`invalid_game_event`,{}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:i.summary});return}let o=gt.includes(i.type),l=e.modules.find(e=>e.key===`universal`),u=o?l:e.modules.find(e=>e.key===i.game);if(!u){s.warn(`Invalid module`,{module:o?`universal`:i.game});return}let d=u.events.event,f=d(n);if(f instanceof r.errors){if(`type`in f.byPath)return;s.warn(`Invalid event`,{summary:f.summary}),G.getInstance().track(`invalid_game_event`,{game:i.game,type:i.type,summary:f.summary}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:f.summary});return}if(!a[u.key]){c(f,u.key);return}if(f.type===`unsupported_game_version`){let{content:e}=f;G.getInstance().track(`unsupported_game_version`,{game:f.game,hash:e.process_hash,version:e.game_version})}let p=J(u.key,f.type),m=J(u.key,`*`),ee=t.get(p),te=t.get(m),h=[...Array.from(ee??[]),...Array.from(te??[])];if(h.length===0){s.info(`No handlers found for event`,{event:f});return}h.forEach(e=>{e(f)})}return i.on(`flushEvents`,e=>{if(a[e])return;a[e]=!0;let t=n.get(e);t&&(I.getInstance().info(`Flushing ${t.length} events for module ${e}`),t.forEach(e=>l(e)),n.delete(e))}),o.on(`data`,e=>e.forEach(l)),o.on(`error`,e=>{s.error(`Pipe server error`,e),P.getInstance().error(`Pipe server error`,`PIPE_SERVER_ERROR`,{error:e})}),o}let Z=!1,Tn={},Q,En=new M,$;function Dn(e){let t=On(e),{init:n=!0,debug:r=!1,silent:i=!0}=t;if(kn(e),I.getInstance().init(e.applicationId,r,i),Z)return Q;function a(){if(Z){I.getInstance().warn(`Overlayed already initialized`);return}fn();let e=new Map,n=new Map,r=an(t.modules,e,En),i=on(),o=dn(t.keybinds),s=mn(),c=gn(),l=yn(),u=_n(),d=Sn(t);I.getInstance().log(`Overlayed initialized`),An(t),wn(t,e,n,En,Tn),Z=!0,Q={...r,...i,ads:l,keybinds:o,windows:s,input:c,cortex:u,hasAnyActiveProcesses:()=>U.getInstance().hasAnyActiveProcesses,hasAnyActiveGames:()=>q.getInstance().isInGame,init:a,log:d,initialized:Z},Q.universal.on(`logged_in`,e=>{G.getInstance().track(`account_id`,{account_id:e.content.account_id,game:e.game})})}return n?(a(),Q):new Proxy({init:a},{get:(e,t)=>{if(t!==`init`&&!Z)throw Error(`overlayed was called before initialized: ${t}`);return t===`init`?e[t]:Q[t]}})}function On(e){return{...e,modules:[...e.modules,_t()]}}global.OVERLAYED=new Proxy({},{get:()=>{throw Error(`function overlayed was not called`)}});function kn(e){global.OVERLAYED={APPLICATION_ID:Et(e.applicationId),APP_BUILD_CHANNEL:e.channel??`alpha`,APP_VERSION:e.version??`0.0.0`,PACKAGE_VERSION:`0.31.1`,FRONTEND_VERSION:`0.0.0`,sessionId:$t(),electron:e.electron}}function An(e){let t=e.universal?[`*`]:e.modules.map(e=>e.key);q.getInstance().setSubscribedGames(t),rn.getInstance().init(),q.getInstance().init(),U.getInstance().init(),H.getInstance().init();async function n(){let e=Dt(global.OVERLAYED.APPLICATION_ID).then(e=>e.data),t=Qt();I.getInstance().log(`userId`,t);let n={...await e,userId:t};return I.getInstance().log(`appInfo`,n),n}let r;global.OVERLAYED.electron.ipcMain.handle(`getAppInfo`,async()=>(r??=n(),r)),G.getInstance().track(`start`,{});try{$&&clearInterval($),$=setInterval(()=>{try{en()}catch{}},3e4),$.unref()}catch(e){I.getInstance().log(`failed to start sessionLastUsed interval`,e)}async function i(){let e={};e.os=g.platform().trim(),e.os_version=process.getSystemVersion().trim(),e.architecture=g.arch().trim();let t=g.cpus();t.length>0?(e.cpu=t[0].model.trim(),e.cpu_cores=t.length,e.cpu_speed=t[0].speed):I.getInstance().warn(`Failed to collect CPU info`);let n=await he.graphics();I.getInstance().info(`GPU info`,n);let r=n.controllers.sort((e,t)=>(t.vram??0)-(e.vram??0))[0];r?(e.gpu=r.model.trim(),e.gpu_memory=r.vram??0):I.getInstance().warn(`Failed to find primary GPU`),e.display_count=n.displays.length;let i=n.displays.find(e=>e.main)??n.displays[0];i?(e.primary_display_resolution_x=i.resolutionX??void 0,e.primary_display_resolution_y=i.resolutionY??void 0,e.primary_display_refresh_rate=i.currentRefreshRate??void 0):I.getInstance().warn(`Failed to find main display`),e.ram=process.getSystemMemoryInfo().total;let a=g.homedir(),o=await me.statfs(a);return o&&`blocks`in o&&`bsize`in o&&`bavail`in o?(e.disk=o.blocks*o.bsize,e.disk_free=o.bavail*o.bsize):I.getInstance().warn(`Failed to collect disk info`),I.getInstance().log(`Retrieved system information`,e),e}y.on(`ready`,()=>{i().then(e=>{G.getInstance().track(`system_info`,e)}).catch(e=>{I.getInstance().log(`Failed to retrieve system information`,e)})}),y.on(`quit`,()=>{G.getInstance().track(`electron_quit`,{}),jn()}),process.on(`exit`,()=>{G.getInstance().track(`exit`,{}),jn()})}async function jn(){try{en()}catch{}try{$&&clearInterval($),$=void 0}catch{}await G.getInstance().flush(),H.getInstance().destroy(),q.getInstance().destroy(),rn.getInstance().destroy(),U.getInstance().destroy(),W.getInstance().getInterface(`OGG_SIEGE`).destroy(),L.getInstance().destroy(),P.getInstance().destroy()}export{ct as RenderInterface,ut as VirtualKey,tt as defineConfig,Dn as overlayed,Vt as setFetchLatestTokenCallback,St as setUpdaterTokenResolver};
|
package/dist/siege.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as arktype2 from "arktype";
|
|
2
2
|
import { Type } from "arktype";
|
|
3
3
|
import * as arktype_internal_variants_string_ts0 from "arktype/internal/variants/string.ts";
|
|
4
4
|
import * as arktype_internal_variants_number_ts0 from "arktype/internal/variants/number.ts";
|
|
@@ -622,7 +622,7 @@ declare const SIEGE_TIME_OF_DAY_LABELS: Record<SiegeTimeOfDay, string>;
|
|
|
622
622
|
//#region src/module.d.ts
|
|
623
623
|
declare function module(): {
|
|
624
624
|
readonly key: "siege";
|
|
625
|
-
readonly events:
|
|
625
|
+
readonly events: arktype2.Module<{
|
|
626
626
|
event: {
|
|
627
627
|
game: "siege";
|
|
628
628
|
type: "started_queuing";
|
|
@@ -669,11 +669,11 @@ declare function module(): {
|
|
|
669
669
|
segment_size: number;
|
|
670
670
|
segment_index: number;
|
|
671
671
|
team_0: {
|
|
672
|
-
role: "
|
|
672
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
673
673
|
state: SiegeRoundState;
|
|
674
674
|
};
|
|
675
675
|
team_1: {
|
|
676
|
-
role: "
|
|
676
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
677
677
|
state: SiegeRoundState;
|
|
678
678
|
};
|
|
679
679
|
}[];
|
|
@@ -705,7 +705,7 @@ declare function module(): {
|
|
|
705
705
|
content: {
|
|
706
706
|
team: 0 | 1;
|
|
707
707
|
index: number;
|
|
708
|
-
side: "
|
|
708
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
709
709
|
};
|
|
710
710
|
} | {
|
|
711
711
|
game: "siege";
|
|
@@ -714,7 +714,7 @@ declare function module(): {
|
|
|
714
714
|
content: {
|
|
715
715
|
team: 0 | 1;
|
|
716
716
|
index: number;
|
|
717
|
-
side: "
|
|
717
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
718
718
|
operator_name: {
|
|
719
719
|
id: SiegeOperatorNameId;
|
|
720
720
|
value: string;
|
|
@@ -739,11 +739,11 @@ declare function module(): {
|
|
|
739
739
|
segment_size: number;
|
|
740
740
|
segment_index: number;
|
|
741
741
|
team_0: {
|
|
742
|
-
role: "
|
|
742
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
743
743
|
state: SiegeRoundState;
|
|
744
744
|
};
|
|
745
745
|
team_1: {
|
|
746
|
-
role: "
|
|
746
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
747
747
|
state: SiegeRoundState;
|
|
748
748
|
};
|
|
749
749
|
};
|
|
@@ -754,8 +754,8 @@ declare function module(): {
|
|
|
754
754
|
remaining_health: number;
|
|
755
755
|
pre_damage_health: number;
|
|
756
756
|
max_health: number;
|
|
757
|
-
damage_type: "
|
|
758
|
-
damage_team_type: "
|
|
757
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
758
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
759
759
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
760
760
|
damage_source_id: SiegeDamageSourceId | null;
|
|
761
761
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -765,7 +765,7 @@ declare function module(): {
|
|
|
765
765
|
players: {
|
|
766
766
|
player_id: SiegePlayerId;
|
|
767
767
|
final_health: number;
|
|
768
|
-
final_life_state: (string & {}) | "
|
|
768
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
769
769
|
operator_name: {
|
|
770
770
|
id: SiegeOperatorNameId;
|
|
771
771
|
value: string;
|
|
@@ -777,7 +777,7 @@ declare function module(): {
|
|
|
777
777
|
type: "phase_changed";
|
|
778
778
|
creation_time: number;
|
|
779
779
|
content: {
|
|
780
|
-
phase: "intro" | "planning" | "prep" | "action" | "results" | "
|
|
780
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
781
781
|
};
|
|
782
782
|
} | ((In: {
|
|
783
783
|
game: "siege";
|
|
@@ -791,7 +791,7 @@ declare function module(): {
|
|
|
791
791
|
is_squad_member: boolean;
|
|
792
792
|
is_local_player: boolean;
|
|
793
793
|
username: string;
|
|
794
|
-
side: "
|
|
794
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
795
795
|
team: 0 | 1;
|
|
796
796
|
is_privacy_username: boolean;
|
|
797
797
|
has_avatar_hidden: boolean;
|
|
@@ -804,12 +804,12 @@ declare function module(): {
|
|
|
804
804
|
game_mode_actions: number;
|
|
805
805
|
score: number;
|
|
806
806
|
};
|
|
807
|
-
life_state: (string & {}) | "
|
|
807
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
808
808
|
ping: number;
|
|
809
809
|
};
|
|
810
|
-
}) =>
|
|
810
|
+
}) => arktype2.Out<{
|
|
811
811
|
content: {
|
|
812
|
-
starting_side: "
|
|
812
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
813
813
|
player_id: SiegePlayerId;
|
|
814
814
|
profile_id: SiegeProfileId;
|
|
815
815
|
is_bot: boolean;
|
|
@@ -817,7 +817,7 @@ declare function module(): {
|
|
|
817
817
|
is_squad_member: boolean;
|
|
818
818
|
is_local_player: boolean;
|
|
819
819
|
username: string;
|
|
820
|
-
side: "
|
|
820
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
821
821
|
team: 0 | 1;
|
|
822
822
|
is_privacy_username: boolean;
|
|
823
823
|
has_avatar_hidden: boolean;
|
|
@@ -830,7 +830,7 @@ declare function module(): {
|
|
|
830
830
|
game_mode_actions: number;
|
|
831
831
|
score: number;
|
|
832
832
|
};
|
|
833
|
-
life_state: (string & {}) | "
|
|
833
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
834
834
|
ping: number;
|
|
835
835
|
};
|
|
836
836
|
game: "siege";
|
|
@@ -868,7 +868,7 @@ declare function module(): {
|
|
|
868
868
|
creation_time: number;
|
|
869
869
|
content: {
|
|
870
870
|
player_id: SiegePlayerId;
|
|
871
|
-
side: "
|
|
871
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
872
872
|
};
|
|
873
873
|
} | {
|
|
874
874
|
game: "siege";
|
|
@@ -953,7 +953,7 @@ declare function module(): {
|
|
|
953
953
|
creation_time: number;
|
|
954
954
|
content: {
|
|
955
955
|
player_id: SiegePlayerId;
|
|
956
|
-
life_state: (string & {}) | "
|
|
956
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
957
957
|
};
|
|
958
958
|
} | {
|
|
959
959
|
game: "siege";
|
|
@@ -962,6 +962,7 @@ declare function module(): {
|
|
|
962
962
|
content: {
|
|
963
963
|
player_id: SiegePlayerId;
|
|
964
964
|
instigator_player_id: SiegePlayerId;
|
|
965
|
+
headshot: boolean;
|
|
965
966
|
};
|
|
966
967
|
} | {
|
|
967
968
|
game: "siege";
|
|
@@ -1036,11 +1037,11 @@ declare function module(): {
|
|
|
1036
1037
|
segment_size: number;
|
|
1037
1038
|
segment_index: number;
|
|
1038
1039
|
team_0: {
|
|
1039
|
-
role: "
|
|
1040
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1040
1041
|
state: SiegeRoundState;
|
|
1041
1042
|
};
|
|
1042
1043
|
team_1: {
|
|
1043
|
-
role: "
|
|
1044
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1044
1045
|
state: SiegeRoundState;
|
|
1045
1046
|
};
|
|
1046
1047
|
}[];
|
|
@@ -1075,7 +1076,7 @@ declare function module(): {
|
|
|
1075
1076
|
content: {
|
|
1076
1077
|
team: 0 | 1;
|
|
1077
1078
|
index: number;
|
|
1078
|
-
side: "
|
|
1079
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1079
1080
|
};
|
|
1080
1081
|
};
|
|
1081
1082
|
operator_banned: {
|
|
@@ -1085,7 +1086,7 @@ declare function module(): {
|
|
|
1085
1086
|
content: {
|
|
1086
1087
|
team: 0 | 1;
|
|
1087
1088
|
index: number;
|
|
1088
|
-
side: "
|
|
1089
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1089
1090
|
operator_name: {
|
|
1090
1091
|
id: SiegeOperatorNameId;
|
|
1091
1092
|
value: string;
|
|
@@ -1112,11 +1113,11 @@ declare function module(): {
|
|
|
1112
1113
|
segment_size: number;
|
|
1113
1114
|
segment_index: number;
|
|
1114
1115
|
team_0: {
|
|
1115
|
-
role: "
|
|
1116
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1116
1117
|
state: SiegeRoundState;
|
|
1117
1118
|
};
|
|
1118
1119
|
team_1: {
|
|
1119
|
-
role: "
|
|
1120
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1120
1121
|
state: SiegeRoundState;
|
|
1121
1122
|
};
|
|
1122
1123
|
};
|
|
@@ -1127,8 +1128,8 @@ declare function module(): {
|
|
|
1127
1128
|
remaining_health: number;
|
|
1128
1129
|
pre_damage_health: number;
|
|
1129
1130
|
max_health: number;
|
|
1130
|
-
damage_type: "
|
|
1131
|
-
damage_team_type: "
|
|
1131
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1132
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1132
1133
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1133
1134
|
damage_source_id: SiegeDamageSourceId | null;
|
|
1134
1135
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -1138,7 +1139,7 @@ declare function module(): {
|
|
|
1138
1139
|
players: {
|
|
1139
1140
|
player_id: SiegePlayerId;
|
|
1140
1141
|
final_health: number;
|
|
1141
|
-
final_life_state: (string & {}) | "
|
|
1142
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1142
1143
|
operator_name: {
|
|
1143
1144
|
id: SiegeOperatorNameId;
|
|
1144
1145
|
value: string;
|
|
@@ -1151,7 +1152,7 @@ declare function module(): {
|
|
|
1151
1152
|
type: "phase_changed";
|
|
1152
1153
|
creation_time: number;
|
|
1153
1154
|
content: {
|
|
1154
|
-
phase: "intro" | "planning" | "prep" | "action" | "results" | "
|
|
1155
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
1155
1156
|
};
|
|
1156
1157
|
};
|
|
1157
1158
|
player_joined: (In: {
|
|
@@ -1166,7 +1167,7 @@ declare function module(): {
|
|
|
1166
1167
|
is_squad_member: boolean;
|
|
1167
1168
|
is_local_player: boolean;
|
|
1168
1169
|
username: string;
|
|
1169
|
-
side: "
|
|
1170
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1170
1171
|
team: 0 | 1;
|
|
1171
1172
|
is_privacy_username: boolean;
|
|
1172
1173
|
has_avatar_hidden: boolean;
|
|
@@ -1179,12 +1180,12 @@ declare function module(): {
|
|
|
1179
1180
|
game_mode_actions: number;
|
|
1180
1181
|
score: number;
|
|
1181
1182
|
};
|
|
1182
|
-
life_state: (string & {}) | "
|
|
1183
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1183
1184
|
ping: number;
|
|
1184
1185
|
};
|
|
1185
|
-
}) =>
|
|
1186
|
+
}) => arktype2.Out<{
|
|
1186
1187
|
content: {
|
|
1187
|
-
starting_side: "
|
|
1188
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1188
1189
|
player_id: SiegePlayerId;
|
|
1189
1190
|
profile_id: SiegeProfileId;
|
|
1190
1191
|
is_bot: boolean;
|
|
@@ -1192,7 +1193,7 @@ declare function module(): {
|
|
|
1192
1193
|
is_squad_member: boolean;
|
|
1193
1194
|
is_local_player: boolean;
|
|
1194
1195
|
username: string;
|
|
1195
|
-
side: "
|
|
1196
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1196
1197
|
team: 0 | 1;
|
|
1197
1198
|
is_privacy_username: boolean;
|
|
1198
1199
|
has_avatar_hidden: boolean;
|
|
@@ -1205,7 +1206,7 @@ declare function module(): {
|
|
|
1205
1206
|
game_mode_actions: number;
|
|
1206
1207
|
score: number;
|
|
1207
1208
|
};
|
|
1208
|
-
life_state: (string & {}) | "
|
|
1209
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1209
1210
|
ping: number;
|
|
1210
1211
|
};
|
|
1211
1212
|
game: "siege";
|
|
@@ -1247,7 +1248,7 @@ declare function module(): {
|
|
|
1247
1248
|
creation_time: number;
|
|
1248
1249
|
content: {
|
|
1249
1250
|
player_id: SiegePlayerId;
|
|
1250
|
-
side: "
|
|
1251
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1251
1252
|
};
|
|
1252
1253
|
};
|
|
1253
1254
|
player_score_changed: {
|
|
@@ -1343,7 +1344,7 @@ declare function module(): {
|
|
|
1343
1344
|
creation_time: number;
|
|
1344
1345
|
content: {
|
|
1345
1346
|
player_id: SiegePlayerId;
|
|
1346
|
-
life_state: (string & {}) | "
|
|
1347
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1347
1348
|
};
|
|
1348
1349
|
};
|
|
1349
1350
|
player_died: {
|
|
@@ -1353,6 +1354,7 @@ declare function module(): {
|
|
|
1353
1354
|
content: {
|
|
1354
1355
|
player_id: SiegePlayerId;
|
|
1355
1356
|
instigator_player_id: SiegePlayerId;
|
|
1357
|
+
headshot: boolean;
|
|
1356
1358
|
};
|
|
1357
1359
|
};
|
|
1358
1360
|
player_downed: {
|
|
@@ -1428,8 +1430,8 @@ declare const PlayerDamageDataSchema: arktype_internal_variants_object_ts0.Objec
|
|
|
1428
1430
|
remaining_health: number;
|
|
1429
1431
|
pre_damage_health: number;
|
|
1430
1432
|
max_health: number;
|
|
1431
|
-
damage_type: "
|
|
1432
|
-
damage_team_type: "
|
|
1433
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1434
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1433
1435
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1434
1436
|
damage_source_id: SiegeDamageSourceId | null;
|
|
1435
1437
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -1443,11 +1445,11 @@ declare const MatchRoundDataSchema: arktype_internal_variants_object_ts0.ObjectT
|
|
|
1443
1445
|
segment_size: number;
|
|
1444
1446
|
segment_index: number;
|
|
1445
1447
|
team_0: {
|
|
1446
|
-
role: "
|
|
1448
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1447
1449
|
state: SiegeRoundState;
|
|
1448
1450
|
};
|
|
1449
1451
|
team_1: {
|
|
1450
|
-
role: "
|
|
1452
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1451
1453
|
state: SiegeRoundState;
|
|
1452
1454
|
};
|
|
1453
1455
|
}, {}>;
|
|
@@ -1466,7 +1468,7 @@ type MapData = typeof MapDataSchema.infer;
|
|
|
1466
1468
|
declare const RoundEndPlayerDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1467
1469
|
player_id: SiegePlayerId;
|
|
1468
1470
|
final_health: number;
|
|
1469
|
-
final_life_state: (string & {}) | "
|
|
1471
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1470
1472
|
operator_name: {
|
|
1471
1473
|
id: SiegeOperatorNameId;
|
|
1472
1474
|
value: string;
|
|
@@ -1480,11 +1482,11 @@ declare const RoundEndDataSchema: arktype_internal_variants_object_ts0.ObjectTyp
|
|
|
1480
1482
|
segment_size: number;
|
|
1481
1483
|
segment_index: number;
|
|
1482
1484
|
team_0: {
|
|
1483
|
-
role: "
|
|
1485
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1484
1486
|
state: SiegeRoundState;
|
|
1485
1487
|
};
|
|
1486
1488
|
team_1: {
|
|
1487
|
-
role: "
|
|
1489
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1488
1490
|
state: SiegeRoundState;
|
|
1489
1491
|
};
|
|
1490
1492
|
};
|
|
@@ -1495,8 +1497,8 @@ declare const RoundEndDataSchema: arktype_internal_variants_object_ts0.ObjectTyp
|
|
|
1495
1497
|
remaining_health: number;
|
|
1496
1498
|
pre_damage_health: number;
|
|
1497
1499
|
max_health: number;
|
|
1498
|
-
damage_type: "
|
|
1499
|
-
damage_team_type: "
|
|
1500
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1501
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1500
1502
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1501
1503
|
damage_source_id: SiegeDamageSourceId | null;
|
|
1502
1504
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -1506,7 +1508,7 @@ declare const RoundEndDataSchema: arktype_internal_variants_object_ts0.ObjectTyp
|
|
|
1506
1508
|
players: {
|
|
1507
1509
|
player_id: SiegePlayerId;
|
|
1508
1510
|
final_health: number;
|
|
1509
|
-
final_life_state: (string & {}) | "
|
|
1511
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1510
1512
|
operator_name: {
|
|
1511
1513
|
id: SiegeOperatorNameId;
|
|
1512
1514
|
value: string;
|
|
@@ -1546,11 +1548,11 @@ declare const MatchStarted: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1546
1548
|
segment_size: number;
|
|
1547
1549
|
segment_index: number;
|
|
1548
1550
|
team_0: {
|
|
1549
|
-
role: "
|
|
1551
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1550
1552
|
state: SiegeRoundState;
|
|
1551
1553
|
};
|
|
1552
1554
|
team_1: {
|
|
1553
|
-
role: "
|
|
1555
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1554
1556
|
state: SiegeRoundState;
|
|
1555
1557
|
};
|
|
1556
1558
|
}[];
|
|
@@ -1618,7 +1620,7 @@ declare const OperatorBanVotingStarted: arktype_internal_variants_object_ts0.Obj
|
|
|
1618
1620
|
content: {
|
|
1619
1621
|
team: 0 | 1;
|
|
1620
1622
|
index: number;
|
|
1621
|
-
side: "
|
|
1623
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1622
1624
|
};
|
|
1623
1625
|
}, {}>;
|
|
1624
1626
|
type OperatorBanVotingStartedEvent = typeof OperatorBanVotingStarted.infer;
|
|
@@ -1631,7 +1633,7 @@ declare const OperatorBanned: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1631
1633
|
content: {
|
|
1632
1634
|
team: 0 | 1;
|
|
1633
1635
|
index: number;
|
|
1634
|
-
side: "
|
|
1636
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1635
1637
|
operator_name: {
|
|
1636
1638
|
id: SiegeOperatorNameId;
|
|
1637
1639
|
value: string;
|
|
@@ -1664,11 +1666,11 @@ declare const RoundEnded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1664
1666
|
segment_size: number;
|
|
1665
1667
|
segment_index: number;
|
|
1666
1668
|
team_0: {
|
|
1667
|
-
role: "
|
|
1669
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1668
1670
|
state: SiegeRoundState;
|
|
1669
1671
|
};
|
|
1670
1672
|
team_1: {
|
|
1671
|
-
role: "
|
|
1673
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1672
1674
|
state: SiegeRoundState;
|
|
1673
1675
|
};
|
|
1674
1676
|
};
|
|
@@ -1679,8 +1681,8 @@ declare const RoundEnded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1679
1681
|
remaining_health: number;
|
|
1680
1682
|
pre_damage_health: number;
|
|
1681
1683
|
max_health: number;
|
|
1682
|
-
damage_type: "
|
|
1683
|
-
damage_team_type: "
|
|
1684
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1685
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1684
1686
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1685
1687
|
damage_source_id: SiegeDamageSourceId | null;
|
|
1686
1688
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -1690,7 +1692,7 @@ declare const RoundEnded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1690
1692
|
players: {
|
|
1691
1693
|
player_id: SiegePlayerId;
|
|
1692
1694
|
final_health: number;
|
|
1693
|
-
final_life_state: (string & {}) | "
|
|
1695
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1694
1696
|
operator_name: {
|
|
1695
1697
|
id: SiegeOperatorNameId;
|
|
1696
1698
|
value: string;
|
|
@@ -1706,7 +1708,7 @@ declare const PhaseChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1706
1708
|
type: "phase_changed";
|
|
1707
1709
|
creation_time: number;
|
|
1708
1710
|
content: {
|
|
1709
|
-
phase: "intro" | "planning" | "prep" | "action" | "results" | "
|
|
1711
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
1710
1712
|
};
|
|
1711
1713
|
}, {}>;
|
|
1712
1714
|
type PhaseChangedEvent = typeof PhaseChanged.infer;
|
|
@@ -1724,7 +1726,7 @@ declare const PlayerJoined: arktype_internal_variants_object_ts0.ObjectType<(In:
|
|
|
1724
1726
|
is_squad_member: boolean;
|
|
1725
1727
|
is_local_player: boolean;
|
|
1726
1728
|
username: string;
|
|
1727
|
-
side: "
|
|
1729
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1728
1730
|
team: 0 | 1;
|
|
1729
1731
|
is_privacy_username: boolean;
|
|
1730
1732
|
has_avatar_hidden: boolean;
|
|
@@ -1737,12 +1739,12 @@ declare const PlayerJoined: arktype_internal_variants_object_ts0.ObjectType<(In:
|
|
|
1737
1739
|
game_mode_actions: number;
|
|
1738
1740
|
score: number;
|
|
1739
1741
|
};
|
|
1740
|
-
life_state: (string & {}) | "
|
|
1742
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1741
1743
|
ping: number;
|
|
1742
1744
|
};
|
|
1743
|
-
}) =>
|
|
1745
|
+
}) => arktype2.Out<{
|
|
1744
1746
|
content: {
|
|
1745
|
-
starting_side: "
|
|
1747
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1746
1748
|
player_id: SiegePlayerId;
|
|
1747
1749
|
profile_id: SiegeProfileId;
|
|
1748
1750
|
is_bot: boolean;
|
|
@@ -1750,7 +1752,7 @@ declare const PlayerJoined: arktype_internal_variants_object_ts0.ObjectType<(In:
|
|
|
1750
1752
|
is_squad_member: boolean;
|
|
1751
1753
|
is_local_player: boolean;
|
|
1752
1754
|
username: string;
|
|
1753
|
-
side: "
|
|
1755
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1754
1756
|
team: 0 | 1;
|
|
1755
1757
|
is_privacy_username: boolean;
|
|
1756
1758
|
has_avatar_hidden: boolean;
|
|
@@ -1763,7 +1765,7 @@ declare const PlayerJoined: arktype_internal_variants_object_ts0.ObjectType<(In:
|
|
|
1763
1765
|
game_mode_actions: number;
|
|
1764
1766
|
score: number;
|
|
1765
1767
|
};
|
|
1766
|
-
life_state: (string & {}) | "
|
|
1768
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1767
1769
|
ping: number;
|
|
1768
1770
|
};
|
|
1769
1771
|
game: "siege";
|
|
@@ -1817,7 +1819,7 @@ declare const PlayerSideChanged: arktype_internal_variants_object_ts0.ObjectType
|
|
|
1817
1819
|
creation_time: number;
|
|
1818
1820
|
content: {
|
|
1819
1821
|
player_id: SiegePlayerId;
|
|
1820
|
-
side: "
|
|
1822
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1821
1823
|
};
|
|
1822
1824
|
}, {}>;
|
|
1823
1825
|
type PlayerSideChangedEvent = typeof PlayerSideChanged.infer;
|
|
@@ -1946,7 +1948,7 @@ declare const PlayerLifeStateChanged: arktype_internal_variants_object_ts0.Objec
|
|
|
1946
1948
|
creation_time: number;
|
|
1947
1949
|
content: {
|
|
1948
1950
|
player_id: SiegePlayerId;
|
|
1949
|
-
life_state: (string & {}) | "
|
|
1951
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1950
1952
|
};
|
|
1951
1953
|
}, {}>;
|
|
1952
1954
|
type PlayerLifeStateChangedEvent = typeof PlayerLifeStateChanged.infer;
|
|
@@ -1959,6 +1961,7 @@ declare const PlayerDied: arktype_internal_variants_object_ts0.ObjectType<{
|
|
|
1959
1961
|
content: {
|
|
1960
1962
|
player_id: SiegePlayerId;
|
|
1961
1963
|
instigator_player_id: SiegePlayerId;
|
|
1964
|
+
headshot: boolean;
|
|
1962
1965
|
};
|
|
1963
1966
|
}, {}>;
|
|
1964
1967
|
type PlayerDiedEvent = typeof PlayerDied.infer;
|
|
@@ -2000,7 +2003,7 @@ declare const PlayerTeamChanged: arktype_internal_variants_object_ts0.ObjectType
|
|
|
2000
2003
|
type PlayerTeamChangedEvent = typeof PlayerTeamChanged.infer;
|
|
2001
2004
|
//#endregion
|
|
2002
2005
|
//#region src/events/index.d.ts
|
|
2003
|
-
declare const siegeEvents:
|
|
2006
|
+
declare const siegeEvents: arktype2.Module<{
|
|
2004
2007
|
event: {
|
|
2005
2008
|
game: "siege";
|
|
2006
2009
|
type: "started_queuing";
|
|
@@ -2047,11 +2050,11 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2047
2050
|
segment_size: number;
|
|
2048
2051
|
segment_index: number;
|
|
2049
2052
|
team_0: {
|
|
2050
|
-
role: "
|
|
2053
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2051
2054
|
state: SiegeRoundState;
|
|
2052
2055
|
};
|
|
2053
2056
|
team_1: {
|
|
2054
|
-
role: "
|
|
2057
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2055
2058
|
state: SiegeRoundState;
|
|
2056
2059
|
};
|
|
2057
2060
|
}[];
|
|
@@ -2083,7 +2086,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2083
2086
|
content: {
|
|
2084
2087
|
team: 0 | 1;
|
|
2085
2088
|
index: number;
|
|
2086
|
-
side: "
|
|
2089
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2087
2090
|
};
|
|
2088
2091
|
} | {
|
|
2089
2092
|
game: "siege";
|
|
@@ -2092,7 +2095,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2092
2095
|
content: {
|
|
2093
2096
|
team: 0 | 1;
|
|
2094
2097
|
index: number;
|
|
2095
|
-
side: "
|
|
2098
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2096
2099
|
operator_name: {
|
|
2097
2100
|
id: SiegeOperatorNameId;
|
|
2098
2101
|
value: string;
|
|
@@ -2117,11 +2120,11 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2117
2120
|
segment_size: number;
|
|
2118
2121
|
segment_index: number;
|
|
2119
2122
|
team_0: {
|
|
2120
|
-
role: "
|
|
2123
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2121
2124
|
state: SiegeRoundState;
|
|
2122
2125
|
};
|
|
2123
2126
|
team_1: {
|
|
2124
|
-
role: "
|
|
2127
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2125
2128
|
state: SiegeRoundState;
|
|
2126
2129
|
};
|
|
2127
2130
|
};
|
|
@@ -2132,8 +2135,8 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2132
2135
|
remaining_health: number;
|
|
2133
2136
|
pre_damage_health: number;
|
|
2134
2137
|
max_health: number;
|
|
2135
|
-
damage_type: "
|
|
2136
|
-
damage_team_type: "
|
|
2138
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
2139
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
2137
2140
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
2138
2141
|
damage_source_id: SiegeDamageSourceId | null;
|
|
2139
2142
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -2143,7 +2146,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2143
2146
|
players: {
|
|
2144
2147
|
player_id: SiegePlayerId;
|
|
2145
2148
|
final_health: number;
|
|
2146
|
-
final_life_state: (string & {}) | "
|
|
2149
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2147
2150
|
operator_name: {
|
|
2148
2151
|
id: SiegeOperatorNameId;
|
|
2149
2152
|
value: string;
|
|
@@ -2155,7 +2158,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2155
2158
|
type: "phase_changed";
|
|
2156
2159
|
creation_time: number;
|
|
2157
2160
|
content: {
|
|
2158
|
-
phase: "intro" | "planning" | "prep" | "action" | "results" | "
|
|
2161
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
2159
2162
|
};
|
|
2160
2163
|
} | ((In: {
|
|
2161
2164
|
game: "siege";
|
|
@@ -2169,7 +2172,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2169
2172
|
is_squad_member: boolean;
|
|
2170
2173
|
is_local_player: boolean;
|
|
2171
2174
|
username: string;
|
|
2172
|
-
side: "
|
|
2175
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2173
2176
|
team: 0 | 1;
|
|
2174
2177
|
is_privacy_username: boolean;
|
|
2175
2178
|
has_avatar_hidden: boolean;
|
|
@@ -2182,12 +2185,12 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2182
2185
|
game_mode_actions: number;
|
|
2183
2186
|
score: number;
|
|
2184
2187
|
};
|
|
2185
|
-
life_state: (string & {}) | "
|
|
2188
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2186
2189
|
ping: number;
|
|
2187
2190
|
};
|
|
2188
|
-
}) =>
|
|
2191
|
+
}) => arktype2.Out<{
|
|
2189
2192
|
content: {
|
|
2190
|
-
starting_side: "
|
|
2193
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2191
2194
|
player_id: SiegePlayerId;
|
|
2192
2195
|
profile_id: SiegeProfileId;
|
|
2193
2196
|
is_bot: boolean;
|
|
@@ -2195,7 +2198,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2195
2198
|
is_squad_member: boolean;
|
|
2196
2199
|
is_local_player: boolean;
|
|
2197
2200
|
username: string;
|
|
2198
|
-
side: "
|
|
2201
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2199
2202
|
team: 0 | 1;
|
|
2200
2203
|
is_privacy_username: boolean;
|
|
2201
2204
|
has_avatar_hidden: boolean;
|
|
@@ -2208,7 +2211,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2208
2211
|
game_mode_actions: number;
|
|
2209
2212
|
score: number;
|
|
2210
2213
|
};
|
|
2211
|
-
life_state: (string & {}) | "
|
|
2214
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2212
2215
|
ping: number;
|
|
2213
2216
|
};
|
|
2214
2217
|
game: "siege";
|
|
@@ -2246,7 +2249,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2246
2249
|
creation_time: number;
|
|
2247
2250
|
content: {
|
|
2248
2251
|
player_id: SiegePlayerId;
|
|
2249
|
-
side: "
|
|
2252
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2250
2253
|
};
|
|
2251
2254
|
} | {
|
|
2252
2255
|
game: "siege";
|
|
@@ -2331,7 +2334,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2331
2334
|
creation_time: number;
|
|
2332
2335
|
content: {
|
|
2333
2336
|
player_id: SiegePlayerId;
|
|
2334
|
-
life_state: (string & {}) | "
|
|
2337
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2335
2338
|
};
|
|
2336
2339
|
} | {
|
|
2337
2340
|
game: "siege";
|
|
@@ -2340,6 +2343,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2340
2343
|
content: {
|
|
2341
2344
|
player_id: SiegePlayerId;
|
|
2342
2345
|
instigator_player_id: SiegePlayerId;
|
|
2346
|
+
headshot: boolean;
|
|
2343
2347
|
};
|
|
2344
2348
|
} | {
|
|
2345
2349
|
game: "siege";
|
|
@@ -2414,11 +2418,11 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2414
2418
|
segment_size: number;
|
|
2415
2419
|
segment_index: number;
|
|
2416
2420
|
team_0: {
|
|
2417
|
-
role: "
|
|
2421
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2418
2422
|
state: SiegeRoundState;
|
|
2419
2423
|
};
|
|
2420
2424
|
team_1: {
|
|
2421
|
-
role: "
|
|
2425
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2422
2426
|
state: SiegeRoundState;
|
|
2423
2427
|
};
|
|
2424
2428
|
}[];
|
|
@@ -2453,7 +2457,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2453
2457
|
content: {
|
|
2454
2458
|
team: 0 | 1;
|
|
2455
2459
|
index: number;
|
|
2456
|
-
side: "
|
|
2460
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2457
2461
|
};
|
|
2458
2462
|
};
|
|
2459
2463
|
operator_banned: {
|
|
@@ -2463,7 +2467,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2463
2467
|
content: {
|
|
2464
2468
|
team: 0 | 1;
|
|
2465
2469
|
index: number;
|
|
2466
|
-
side: "
|
|
2470
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2467
2471
|
operator_name: {
|
|
2468
2472
|
id: SiegeOperatorNameId;
|
|
2469
2473
|
value: string;
|
|
@@ -2490,11 +2494,11 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2490
2494
|
segment_size: number;
|
|
2491
2495
|
segment_index: number;
|
|
2492
2496
|
team_0: {
|
|
2493
|
-
role: "
|
|
2497
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2494
2498
|
state: SiegeRoundState;
|
|
2495
2499
|
};
|
|
2496
2500
|
team_1: {
|
|
2497
|
-
role: "
|
|
2501
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2498
2502
|
state: SiegeRoundState;
|
|
2499
2503
|
};
|
|
2500
2504
|
};
|
|
@@ -2505,8 +2509,8 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2505
2509
|
remaining_health: number;
|
|
2506
2510
|
pre_damage_health: number;
|
|
2507
2511
|
max_health: number;
|
|
2508
|
-
damage_type: "
|
|
2509
|
-
damage_team_type: "
|
|
2512
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
2513
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
2510
2514
|
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
2511
2515
|
damage_source_id: SiegeDamageSourceId | null;
|
|
2512
2516
|
damage_item_id: SiegeItemObjectId | null;
|
|
@@ -2516,7 +2520,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2516
2520
|
players: {
|
|
2517
2521
|
player_id: SiegePlayerId;
|
|
2518
2522
|
final_health: number;
|
|
2519
|
-
final_life_state: (string & {}) | "
|
|
2523
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2520
2524
|
operator_name: {
|
|
2521
2525
|
id: SiegeOperatorNameId;
|
|
2522
2526
|
value: string;
|
|
@@ -2529,7 +2533,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2529
2533
|
type: "phase_changed";
|
|
2530
2534
|
creation_time: number;
|
|
2531
2535
|
content: {
|
|
2532
|
-
phase: "intro" | "planning" | "prep" | "action" | "results" | "
|
|
2536
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
2533
2537
|
};
|
|
2534
2538
|
};
|
|
2535
2539
|
player_joined: (In: {
|
|
@@ -2544,7 +2548,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2544
2548
|
is_squad_member: boolean;
|
|
2545
2549
|
is_local_player: boolean;
|
|
2546
2550
|
username: string;
|
|
2547
|
-
side: "
|
|
2551
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2548
2552
|
team: 0 | 1;
|
|
2549
2553
|
is_privacy_username: boolean;
|
|
2550
2554
|
has_avatar_hidden: boolean;
|
|
@@ -2557,12 +2561,12 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2557
2561
|
game_mode_actions: number;
|
|
2558
2562
|
score: number;
|
|
2559
2563
|
};
|
|
2560
|
-
life_state: (string & {}) | "
|
|
2564
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2561
2565
|
ping: number;
|
|
2562
2566
|
};
|
|
2563
|
-
}) =>
|
|
2567
|
+
}) => arktype2.Out<{
|
|
2564
2568
|
content: {
|
|
2565
|
-
starting_side: "
|
|
2569
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2566
2570
|
player_id: SiegePlayerId;
|
|
2567
2571
|
profile_id: SiegeProfileId;
|
|
2568
2572
|
is_bot: boolean;
|
|
@@ -2570,7 +2574,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2570
2574
|
is_squad_member: boolean;
|
|
2571
2575
|
is_local_player: boolean;
|
|
2572
2576
|
username: string;
|
|
2573
|
-
side: "
|
|
2577
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2574
2578
|
team: 0 | 1;
|
|
2575
2579
|
is_privacy_username: boolean;
|
|
2576
2580
|
has_avatar_hidden: boolean;
|
|
@@ -2583,7 +2587,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2583
2587
|
game_mode_actions: number;
|
|
2584
2588
|
score: number;
|
|
2585
2589
|
};
|
|
2586
|
-
life_state: (string & {}) | "
|
|
2590
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2587
2591
|
ping: number;
|
|
2588
2592
|
};
|
|
2589
2593
|
game: "siege";
|
|
@@ -2625,7 +2629,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2625
2629
|
creation_time: number;
|
|
2626
2630
|
content: {
|
|
2627
2631
|
player_id: SiegePlayerId;
|
|
2628
|
-
side: "
|
|
2632
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2629
2633
|
};
|
|
2630
2634
|
};
|
|
2631
2635
|
player_score_changed: {
|
|
@@ -2721,7 +2725,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2721
2725
|
creation_time: number;
|
|
2722
2726
|
content: {
|
|
2723
2727
|
player_id: SiegePlayerId;
|
|
2724
|
-
life_state: (string & {}) | "
|
|
2728
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2725
2729
|
};
|
|
2726
2730
|
};
|
|
2727
2731
|
player_died: {
|
|
@@ -2731,6 +2735,7 @@ declare const siegeEvents: arktype0.Module<{
|
|
|
2731
2735
|
content: {
|
|
2732
2736
|
player_id: SiegePlayerId;
|
|
2733
2737
|
instigator_player_id: SiegePlayerId;
|
|
2738
|
+
headshot: boolean;
|
|
2734
2739
|
};
|
|
2735
2740
|
};
|
|
2736
2741
|
player_downed: {
|
package/dist/siege.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Type as e,scope as t,type as n}from"arktype";function r(e){return e}function i(e){return e}function a(e){return e?t=>(e(t),t):i}const o=a(),s=a(),c=a(),l=a(),u=a(),d=a(),ee=a(),f=a(),p=a(),m=a(),h=a(),g=a(),_=`00000000-0000-0000-0000-000000000000`,te=[`intro`,`planning`,`prep`,`action`,`results`,`invalid`,`first`],v=n(`string`),y=[0,1],b=n(`===`,...y),x=[`attacker`,`defender`,`both`,`invalid`],S=n(`string`),C=[`normal`,`overhealed`,`low_health`,`downed`,`dead`,`respawning`],w=n(`string`),T=`bullet.melee.explosive.falling.regeneration.unknown.debris.projectile.downed.gas.thermal_explosion.melee_gadget.barbed_wire.electric.reinforcement.frag.paralyzed.emp.break.cleanup.interrogation.melee-finisher.toxic.toxic-explosion.pneumatic.body-contact.contact-explosion.flash.parasite-spike.laser.concussion.blowtorch.taser-shield.reverse-friendly-fire.self-destroyed.area-control.fire.breach-kick.break-wall.blade-mine.melee-pushback.supressive-fire.gas-pipe-fire.invalid`.split(`.`),E=n(`string`),D=[`unknown`,`enemy`,`friendly`,`invalid`],O=n(`string`),ne=[`invalid`,`head`,`left_upper_arm`,`right_upper_arm`,`left_forearm`,`right_forearm`,`left_hand`,`right_hand`,`upper_torso`,`lower_torso`,`crotch`,`left_thigh`,`right_thigh`,`left_calf`,`right_calf`,`left_foot`,`right_foot`,`neck`,`clothing`],k=n(`string`),A=Object.freeze({quickPlay:m(`QUICK PLAY`),versusAi:m(`VERSUS AI`),standard:m(`STANDARD`),ranked:m(`RANKED`)}),re=Object.freeze({[A.quickPlay]:`Quick Play`,[A.versusAi]:`Versus AI`,[A.standard]:`Standard`,[A.ranked]:`Ranked`}),j=Object.freeze({teamDeathmatch:h(`TEAM DEATHMATCH`),goldenGun:h(`GOLDEN GUN`),freeForAll:h(`FREE FOR ALL`),weaponRoulette:h(`WEAPON ROULETTE`),dualFront:h(`DUAL FRONT`),bomb:h(`BOMB`),versusAi:h(`VERSUS AI`),hostage:h(`HOSTAGE`),threeVsThreeSecureArea:h(`3 VS 3 SECURE AREA`),targetDrill:h(`TARGET DRILL`),rengoku:h(`RENGOKU`),hideAndSeek:h(`HIDE AND SEEK`)}),M=Object.freeze({[j.teamDeathmatch]:`Team Deathmatch`,[j.goldenGun]:`Golden Gun`,[j.freeForAll]:`Free For All`,[j.weaponRoulette]:`Weapon Roulette`,[j.dualFront]:`Dual Front`,[j.bomb]:`Bomb`,[j.versusAi]:`Versus AI`,[j.hostage]:`Hostage`,[j.threeVsThreeSecureArea]:`3v3 Secure Area`,[j.targetDrill]:`Target Drill`,[j.rengoku]:`Rengoku`,[j.hideAndSeek]:`Hide and Seek`}),N=Object.freeze({ranked:o(205379),quickMatch:o(138115),customGame:o(62008),versusAi:o(397300),standard:o(393930),arcade:o(320109),siegeCup:o(414089),dualFront:o(420611),showdown:o(305544),trainingGrounds:o(-1),unranked:o(310813),deathmatch:o(420611),rengoku:o(359430),muteProtocol:o(368421),fieldTraining:o(423927),hideAndSeek:o(310854)}),P=Object.freeze({[N.quickMatch]:`Quick Match`,[N.ranked]:`Ranked`,[N.customGame]:`Custom Game`,[N.versusAi]:`Versus AI`,[N.standard]:`Standard`,[N.arcade]:`Arcade`,[N.siegeCup]:`Siege Cup`,[N.dualFront]:`Dual Front`,[N.showdown]:`Showdown`,[N.trainingGrounds]:`Training Grounds`,[N.unranked]:`Unranked`,[N.deathmatch]:`Deathmatch`,[N.rengoku]:`Rengoku`,[N.muteProtocol]:`M.U.T.E Protocol`,[N.fieldTraining]:`Field Training`,[N.hideAndSeek]:`Hide and Seek`}),F=Object.freeze({glaz:s(62242),blitz:s(62243),buck:s(62244),sledge:s(62245),ash:s(62246),thermite:s(62247),castle:s(62248),rook:s(62249),pulse:s(62250),doc:s(62251),mute:s(62252),smoke:s(62253),recruit:s(62555),thatcher:s(65143),twitch:s(65156),montagne:s(65159),bandit:s(65165),fuze:s(65168),kapkan:s(65171),tachanka:s(65174),jager:s(113049),iq:s(113052),frost:s(186159),blackbeard:s(187249),valkyrie:s(187252),caveira:s(207671),capitao:s(207674),echo:s(209180),hibana:s(209183),mira:s(222172),jackal:s(222182),ying:s(239334),lesion:s(239337),ela:s(254595),zofia:s(254606),dokkaebi:s(273652),vigil:s(273663),finka:s(281457),lion:s(281463),alibi:s(282399),maestro:s(285888),maverick:s(288504),clash:s(288526),nomad:s(293435),kaid:s(293436),gridlock:s(298589),mozzie:s(298616),nokk:s(299657),warden:s(299668),goyo:s(304196),amaru:s(308469),kali:s(310757),wamai:s(310768),oryx:s(317965),iana:s(317976),melusi:s(320062),ace:s(320073),zero:s(328927),aruni:s(328940),flores:s(334086),thunderbird:s(336466),osa:s(344493),thorn:s(349405),azami:s(354314),sens:s(357386),grim:s(365404),solis:s(376836),brava:s(382419),fenrir:s(386388),ram:s(392904),tubarao:s(395594),deimos:s(400504),striker:s(404278),sentry:s(404290),skopos:s(408405),rauora:s(421052),denari:s(2437779699)}),I=Object.freeze({[F.glaz]:`glaz`,[F.blitz]:`blitz`,[F.buck]:`buck`,[F.sledge]:`sledge`,[F.ash]:`ash`,[F.thermite]:`thermite`,[F.castle]:`castle`,[F.rook]:`rook`,[F.pulse]:`pulse`,[F.doc]:`doc`,[F.mute]:`mute`,[F.smoke]:`smoke`,[F.recruit]:`recruit`,[F.thatcher]:`thatcher`,[F.twitch]:`twitch`,[F.montagne]:`montagne`,[F.bandit]:`bandit`,[F.fuze]:`fuze`,[F.kapkan]:`kapkan`,[F.tachanka]:`tachanka`,[F.jager]:`jager`,[F.iq]:`iq`,[F.frost]:`frost`,[F.blackbeard]:`blackbeard`,[F.valkyrie]:`valkyrie`,[F.caveira]:`caveira`,[F.capitao]:`capitao`,[F.echo]:`echo`,[F.hibana]:`hibana`,[F.mira]:`mira`,[F.jackal]:`jackal`,[F.ying]:`ying`,[F.lesion]:`lesion`,[F.ela]:`ela`,[F.zofia]:`zofia`,[F.dokkaebi]:`dokkaebi`,[F.vigil]:`vigil`,[F.finka]:`finka`,[F.lion]:`lion`,[F.alibi]:`alibi`,[F.maestro]:`maestro`,[F.maverick]:`maverick`,[F.clash]:`clash`,[F.nomad]:`nomad`,[F.kaid]:`kaid`,[F.gridlock]:`gridlock`,[F.mozzie]:`mozzie`,[F.nokk]:`nokk`,[F.warden]:`warden`,[F.goyo]:`goyo`,[F.amaru]:`amaru`,[F.kali]:`kali`,[F.wamai]:`wamai`,[F.oryx]:`oryx`,[F.iana]:`iana`,[F.melusi]:`melusi`,[F.ace]:`ace`,[F.zero]:`zero`,[F.aruni]:`aruni`,[F.flores]:`flores`,[F.thunderbird]:`thunderbird`,[F.osa]:`osa`,[F.thorn]:`thorn`,[F.azami]:`azami`,[F.sens]:`sens`,[F.grim]:`grim`,[F.solis]:`solis`,[F.brava]:`brava`,[F.fenrir]:`fenrir`,[F.ram]:`ram`,[F.tubarao]:`tubarao`,[F.deimos]:`deimos`,[F.striker]:`striker`,[F.sentry]:`sentry`,[F.skopos]:`skopos`,[F.rauora]:`rauora`,[F.denari]:`denari`}),L=Object.freeze({[F.striker]:{name:`Striker`,role:`attacker`},[F.sledge]:{name:`Sledge`,role:`attacker`},[F.thatcher]:{name:`Thatcher`,role:`attacker`},[F.ash]:{name:`Ash`,role:`attacker`},[F.thermite]:{name:`Thermite`,role:`attacker`},[F.twitch]:{name:`Twitch`,role:`attacker`},[F.montagne]:{name:`Montagne`,role:`attacker`},[F.glaz]:{name:`Glaz`,role:`attacker`},[F.fuze]:{name:`Fuze`,role:`attacker`},[F.blitz]:{name:`Blitz`,role:`attacker`},[F.iq]:{name:`IQ`,role:`attacker`},[F.buck]:{name:`Buck`,role:`attacker`},[F.blackbeard]:{name:`Blackbeard`,role:`attacker`},[F.capitao]:{name:`Capitão`,role:`attacker`},[F.hibana]:{name:`Hibana`,role:`attacker`},[F.jackal]:{name:`Jackal`,role:`attacker`},[F.ying]:{name:`Ying`,role:`attacker`},[F.zofia]:{name:`Zofia`,role:`attacker`},[F.dokkaebi]:{name:`Dokkaebi`,role:`attacker`},[F.lion]:{name:`Lion`,role:`attacker`},[F.finka]:{name:`Finka`,role:`attacker`},[F.maverick]:{name:`Maverick`,role:`attacker`},[F.nomad]:{name:`Nomad`,role:`attacker`},[F.gridlock]:{name:`Gridlock`,role:`attacker`},[F.nokk]:{name:`Nøkk`,role:`attacker`},[F.amaru]:{name:`Amaru`,role:`attacker`},[F.kali]:{name:`Kali`,role:`attacker`},[F.iana]:{name:`Iana`,role:`attacker`},[F.ace]:{name:`Ace`,role:`attacker`},[F.zero]:{name:`Zero`,role:`attacker`},[F.flores]:{name:`Flores`,role:`attacker`},[F.osa]:{name:`Osa`,role:`attacker`},[F.sens]:{name:`Sens`,role:`attacker`},[F.grim]:{name:`Grim`,role:`attacker`},[F.brava]:{name:`Brava`,role:`attacker`},[F.ram]:{name:`Ram`,role:`attacker`},[F.deimos]:{name:`Deimos`,role:`attacker`},[F.rauora]:{name:`Rauora`,role:`attacker`},[F.sentry]:{name:`Sentry`,role:`defender`},[F.smoke]:{name:`Smoke`,role:`defender`},[F.mute]:{name:`Mute`,role:`defender`},[F.castle]:{name:`Castle`,role:`defender`},[F.pulse]:{name:`Pulse`,role:`defender`},[F.doc]:{name:`Doc`,role:`defender`},[F.rook]:{name:`Rook`,role:`defender`},[F.kapkan]:{name:`Kapkan`,role:`defender`},[F.tachanka]:{name:`Tachanka`,role:`defender`},[F.jager]:{name:`Jäger`,role:`defender`},[F.bandit]:{name:`Bandit`,role:`defender`},[F.frost]:{name:`Frost`,role:`defender`},[F.valkyrie]:{name:`Valkyrie`,role:`defender`},[F.caveira]:{name:`Caveira`,role:`defender`},[F.echo]:{name:`Echo`,role:`defender`},[F.mira]:{name:`Mira`,role:`defender`},[F.lesion]:{name:`Lesion`,role:`defender`},[F.ela]:{name:`Ela`,role:`defender`},[F.vigil]:{name:`Vigil`,role:`defender`},[F.alibi]:{name:`Alibi`,role:`defender`},[F.maestro]:{name:`Maestro`,role:`defender`},[F.clash]:{name:`Clash`,role:`defender`},[F.kaid]:{name:`Kaid`,role:`defender`},[F.mozzie]:{name:`Mozzie`,role:`defender`},[F.warden]:{name:`Warden`,role:`defender`},[F.goyo]:{name:`Goyo`,role:`defender`},[F.wamai]:{name:`Wamai`,role:`defender`},[F.oryx]:{name:`Oryx`,role:`defender`},[F.melusi]:{name:`Melusi`,role:`defender`},[F.aruni]:{name:`Aruni`,role:`defender`},[F.thunderbird]:{name:`Thunderbird`,role:`defender`},[F.thorn]:{name:`Thorn`,role:`defender`},[F.azami]:{name:`Azami`,role:`defender`},[F.solis]:{name:`Solis`,role:`defender`},[F.fenrir]:{name:`Fenrir`,role:`defender`},[F.tubarao]:{name:`Tubarao`,role:`defender`},[F.skopos]:{name:`Skopós`,role:`defender`},[F.denari]:{name:`Denari`,role:`defender`}}),R=Object.freeze({attacker:Object.entries(L).filter(([e,t])=>t.role===`attacker`).map(([e])=>({...L[s(Number(e))],id:s(Number(e))})),defender:Object.entries(L).filter(([e,t])=>t.role===`defender`).map(([e])=>({...L[s(Number(e))],id:s(Number(e))}))}),z=Object.freeze({favela:c(202283),fortress:c(293334),villa:c(286407),neighborhood:c(333785),themePark:c(229325),stadium:c(338641),outback:c(299534),yacht:c(62226),emeraldPlains:c(358871),chalet:c(62230),coastline:c(217482),bank:c(62228),consulate:c(62227),tower:c(255669),nighthavenLabs:c(375492),presidentialPlane:c(62225),house:c(62221),kafeDostoyevsky:c(62232),border:c(201746),closeQuarter:c(365400),lair:c(396234),herefordBase:c(62223),skyscraper:c(208094),cqbBasics:c(196157),oregon:c(62222),fortTruth:c(307723),kanal:c(62229),stadium2020:c(357300),clubhouse:c(62224),district:c(1193341205),shinden:c(359432),stadiumBravo:c(376421),muteCommTower:c(328922),doktorsLab:c(560244830)}),B=Object.freeze({[z.favela]:`Favela`,[z.fortress]:`Fortress`,[z.villa]:`Villa`,[z.neighborhood]:`Neighborhood`,[z.themePark]:`Theme Park`,[z.stadium]:`Stadium`,[z.outback]:`Outback`,[z.yacht]:`Yacht`,[z.emeraldPlains]:`Emerald Plains`,[z.chalet]:`Chalet`,[z.coastline]:`Coastline`,[z.bank]:`Bank`,[z.consulate]:`Consulate`,[z.tower]:`Tower`,[z.nighthavenLabs]:`Nighthaven Labs`,[z.presidentialPlane]:`Presidential Plane`,[z.house]:`House`,[z.kafeDostoyevsky]:`Kafe Dostoyevsky`,[z.border]:`Border`,[z.closeQuarter]:`Close Quarter`,[z.outback]:`Outback`,[z.lair]:`Lair`,[z.herefordBase]:`Hereford Base`,[z.skyscraper]:`Skyscraper`,[z.cqbBasics]:`CQB Basics`,[z.oregon]:`Oregon`,[z.outback]:`Outback`,318512:`Stadium`,[z.fortTruth]:`Fort Truth`,[z.kanal]:`Kanal`,[z.cqbBasics]:`CQB Basics`,[z.stadium2020]:`Stadium 2020`,[z.clubhouse]:`Clubhouse`,[z.district]:`District`,[z.shinden]:`Shinden`,[z.stadiumBravo]:`Stadium Bravo`,[z.muteCommTower]:`M.U.T.E Comm Tower`,[z.doktorsLab]:`Doktor's Lab`}),V=Object.freeze({notPlayed:l(0),inProgress:l(1),lost:l(2),enemiesEliminated:l(3),objectiveComplete:l(4),timeRanOut:l(5),enemiesSurrendered:l(6),unknownReason:l(7),matchCancelled:l(8)}),H=Object.freeze({[V.notPlayed]:`Not Played`,[V.inProgress]:`In Progress`,[V.lost]:`Lost`,[V.enemiesEliminated]:`Enemies Eliminated`,[V.objectiveComplete]:`Objective Complete`,[V.timeRanOut]:`Time ran out`,[V.enemiesSurrendered]:`Enemies Surrendered`,[V.unknownReason]:`Unknown Reason`,[V.matchCancelled]:`Match Cancelled`}),U=Object.freeze({day:g(177839),night:g(177840)}),W=Object.freeze({[U.day]:`Day`,[U.night]:`Night`}),G=()=>n({id:`number`,value:`string`}),K=n({kills:`number`,deaths:`number`,assists:`number`,game_mode_actions:`number`,score:`number`}),q=n({instigator_player_id:r(n.number),receiver_player_id:r(n.number),damage_amount:`number`,remaining_health:`number`,pre_damage_health:`number`,max_health:`number`,damage_type:E,damage_team_type:O,damage_hit_zone:k,damage_source_id:r(n.number).or(`null`),damage_item_id:r(n.number).or(`null`),damage_item_instance_id:r(n.number).or(`null`),damage_time:`number`}),J=n({index:`number`,rounds_until_next_segment:`number`,segment_size:`number`,segment_index:`number`,team_0:{role:S,state:r(n.number)},team_1:{role:S,state:r(n.number)}}),Y=n({name:G(),time_of_day:G()}),X=n({player_id:r(n.number),final_health:`number`,final_life_state:w,operator_name:G()}),ie=n({round_data:J,damage_events:q.array(),players:X.array()}),Z=n({game:`string`,type:`string`,creation_time:`number`}),ae=[V.enemiesEliminated,V.objectiveComplete,V.timeRanOut,V.enemiesSurrendered,V.unknownReason];function oe(e){return ae.includes(e)}const se=[V.notPlayed,V.inProgress];function ce(e){return!se.includes(e)}const Q=Z.and({game:`'siege'`}),le=Q.and({type:`'match_started'`,content:{game_mode:r(n.string),game_type:G(),match_type:r(n.string),match_id:r(n.string),map:Y,is_round_based:`boolean`,current_round_index:`number`,rounds:J.array()}}),ue=Q.and({type:`'started_queuing'`,content:{game_mode:r(n.string),game_type:G(),match_type:r(n.string)}}),de=Q.and({type:`'stopped_queuing'`}),fe=Q.and({type:`'match_ended'`}),pe=Q.and({type:`'map_changed'`,content:{map:Y}}),me=Q.and({type:`'operator_ban_voting_started'`,content:{team:b,index:`number`,side:S}}),he=Q.and({type:`'operator_banned'`,content:{team:b,index:`number`,side:S,operator_name:G().or(`null`)}}),ge=Q.and({type:`'operator_ban_cleared'`,content:{team:b,index:`number`}}),_e=Q.and({type:`'round_ended'`,content:ie}),ve=Q.and({type:`'phase_changed'`,content:{phase:v}}),ye=Q.and({type:`'player_joined'`,content:{player_id:r(n.number),profile_id:r(n.string),is_bot:`boolean`,is_enemy:`boolean`,is_squad_member:`boolean`,is_local_player:`boolean`,username:`string`,side:S,team:b,is_privacy_username:`boolean`,has_avatar_hidden:`boolean`,has_commend_streak:`boolean`,ping_id:`number`,match_stats:K,life_state:w,ping:`number`}}).pipe(e=>({...e,content:{...e.content,starting_side:e.content.side}})),be=Q.and({type:`'player_left'`,content:{player_id:r(n.number)}}),xe=Q.and({type:`'player_operator_changed'`,content:{player_id:r(n.number),operator_name:G()}}),Se=Q.and({type:`'player_location_changed'`,content:{player_id:r(n.number),location_name:`string`}}),Ce=Q.and({type:`'player_side_changed'`,content:{player_id:r(n.number),side:S}}),we=Q.and({type:`'player_score_changed'`,content:{player_id:r(n.number),score:`number`}}),Te=Q.and({type:`'player_kills_changed'`,content:{player_id:r(n.number),kills:`number`}}),Ee=Q.and({type:`'player_deaths_changed'`,content:{player_id:r(n.number),deaths:`number`}}),De=Q.and({type:`'player_assists_changed'`,content:{player_id:r(n.number),assists:`number`}}),$=Q.and({type:`'player_game_mode_actions_changed'`,content:{player_id:r(n.number),game_mode_actions:`number`}}),Oe=Q.and({type:`'player_ping_updated'`,content:{player_id:r(n.number),ping:`number`}}),ke=Q.and({type:`'defuser_planted'`,content:{player_id:r(n.number)}}),Ae=Q.and({type:`'defuser_sabotaged'`,content:{player_id:r(n.number)}}),je=Q.and({type:`'defuser_picked_up'`,content:{player_id:r(n.number),initial:`boolean`}}),Me=Q.and({type:`'defuser_dropped'`,content:{player_id:r(n.number)}}),Ne=Q.and({type:`'player_life_state_changed'`,content:{player_id:r(n.number),life_state:w}}),Pe=Q.and({type:`'player_died'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Fe=Q.and({type:`'player_downed'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Ie=Q.and({type:`'player_ping_id_changed'`,content:{player_id:r(n.number),ping_id:`number`}}),Le=Q.and({type:`'player_team_changed'`,content:{player_id:r(n.number),team:b}}),Re=t({"#event1":`started_queuing | stopped_queuing | match_started | match_ended | map_changed | operator_ban_voting_started | operator_banned | operator_ban_cleared | round_ended | phase_changed | player_joined | player_left | player_operator_changed`,"#event2":`player_location_changed | player_side_changed | player_score_changed | player_kills_changed | player_deaths_changed | player_assists_changed | player_game_mode_actions_changed | player_life_state_changed | player_died | player_downed | player_ping_id_changed | player_team_changed | defuser_planted | defuser_sabotaged | defuser_picked_up | defuser_dropped | player_ping_updated`,event:`event1 | event2`,started_queuing:ue,stopped_queuing:de,match_started:le,match_ended:fe,map_changed:pe,operator_ban_voting_started:me,operator_banned:he,operator_ban_cleared:ge,round_ended:_e,phase_changed:ve,player_joined:ye,player_left:be,player_operator_changed:xe,player_location_changed:Se,player_side_changed:Ce,player_score_changed:we,player_kills_changed:Te,player_deaths_changed:Ee,player_assists_changed:De,player_game_mode_actions_changed:$,defuser_planted:ke,defuser_sabotaged:Ae,defuser_picked_up:je,defuser_dropped:Me,player_ping_updated:Oe,player_life_state_changed:Ne,player_died:Pe,player_downed:Fe,player_ping_id_changed:Ie,player_team_changed:Le}).export();function ze(){return{key:`siege`,events:Re}}export{Z as BaseEvent,_ as SIEGE_BOT_ID,ne as SIEGE_DAMAGE_HIT_ZONES,D as SIEGE_DAMAGE_TEAM_TYPES,T as SIEGE_DAMAGE_TYPES,j as SIEGE_GAME_MODES_TO_ID,M as SIEGE_GAME_MODE_LABELS,te as SIEGE_GAME_MODE_PHASES,N as SIEGE_GAME_MODE_TYPES_TO_ID,P as SIEGE_GAME_MODE_TYPE_LABELS,B as SIEGE_MAP_LABELS,z as SIEGE_MAP_TO_ID,A as SIEGE_MATCH_TYPES_TO_ID,re as SIEGE_MATCH_TYPE_LABELS,I as SIEGE_OPERATOR_LABELS,L as SIEGE_OPERATOR_META,F as SIEGE_OPERATOR_TO_ID,C as SIEGE_PLAYER_LIFE_STATES,V as SIEGE_ROUND_STATES_TO_ID,H as SIEGE_ROUND_STATE_LABELS,x as SIEGE_SIDES,R as SIEGE_SIDE_OPERATORS,y as SIEGE_TEAMS,W as SIEGE_TIME_OF_DAY_LABELS,U as SIEGE_TIME_OF_DAY_TO_ID,k as SiegeDamageHitZoneSchema,p as SiegeDamageSourceId,O as SiegeDamageTeamTypeSchema,E as SiegeDamageTypeSchema,h as SiegeGameMode,v as SiegeGameModePhaseSchema,o as SiegeGameModeTypeNameId,f as SiegeItemObjectId,c as SiegeMapNameId,u as SiegeMatchId,m as SiegeMatchType,s as SiegeOperatorNameId,d as SiegePlayerId,w as SiegePlayerLifeStateSchema,ee as SiegeProfileId,l as SiegeRoundState,S as SiegeSideSchema,b as SiegeTeamSchema,g as SiegeTimeOfDay,ce as isSiegeRoundStateCompleted,oe as isSiegeRoundStateVictory,ze as module};
|
|
1
|
+
import{Type as e,scope as t,type as n}from"arktype";function r(e){return e}function i(e){return e}function a(e){return e?t=>(e(t),t):i}const o=a(),s=a(),c=a(),l=a(),u=a(),d=a(),ee=a(),f=a(),p=a(),m=a(),h=a(),g=a(),_=`00000000-0000-0000-0000-000000000000`,te=[`intro`,`planning`,`prep`,`action`,`results`,`invalid`,`first`],v=n(`string`),y=[0,1],b=n(`===`,...y),x=[`attacker`,`defender`,`both`,`invalid`],S=n(`string`),C=[`normal`,`overhealed`,`low_health`,`downed`,`dead`,`respawning`],w=n(`string`),T=`bullet.melee.explosive.falling.regeneration.unknown.debris.projectile.downed.gas.thermal_explosion.melee_gadget.barbed_wire.electric.reinforcement.frag.paralyzed.emp.break.cleanup.interrogation.melee-finisher.toxic.toxic-explosion.pneumatic.body-contact.contact-explosion.flash.parasite-spike.laser.concussion.blowtorch.taser-shield.reverse-friendly-fire.self-destroyed.area-control.fire.breach-kick.break-wall.blade-mine.melee-pushback.supressive-fire.gas-pipe-fire.invalid`.split(`.`),E=n(`string`),D=[`unknown`,`enemy`,`friendly`,`invalid`],O=n(`string`),ne=[`invalid`,`head`,`left_upper_arm`,`right_upper_arm`,`left_forearm`,`right_forearm`,`left_hand`,`right_hand`,`upper_torso`,`lower_torso`,`crotch`,`left_thigh`,`right_thigh`,`left_calf`,`right_calf`,`left_foot`,`right_foot`,`neck`,`clothing`],k=n(`string`),A=Object.freeze({quickPlay:m(`QUICK PLAY`),versusAi:m(`VERSUS AI`),standard:m(`STANDARD`),ranked:m(`RANKED`)}),re=Object.freeze({[A.quickPlay]:`Quick Play`,[A.versusAi]:`Versus AI`,[A.standard]:`Standard`,[A.ranked]:`Ranked`}),j=Object.freeze({teamDeathmatch:h(`TEAM DEATHMATCH`),goldenGun:h(`GOLDEN GUN`),freeForAll:h(`FREE FOR ALL`),weaponRoulette:h(`WEAPON ROULETTE`),dualFront:h(`DUAL FRONT`),bomb:h(`BOMB`),versusAi:h(`VERSUS AI`),hostage:h(`HOSTAGE`),threeVsThreeSecureArea:h(`3 VS 3 SECURE AREA`),targetDrill:h(`TARGET DRILL`),rengoku:h(`RENGOKU`),hideAndSeek:h(`HIDE AND SEEK`)}),M=Object.freeze({[j.teamDeathmatch]:`Team Deathmatch`,[j.goldenGun]:`Golden Gun`,[j.freeForAll]:`Free For All`,[j.weaponRoulette]:`Weapon Roulette`,[j.dualFront]:`Dual Front`,[j.bomb]:`Bomb`,[j.versusAi]:`Versus AI`,[j.hostage]:`Hostage`,[j.threeVsThreeSecureArea]:`3v3 Secure Area`,[j.targetDrill]:`Target Drill`,[j.rengoku]:`Rengoku`,[j.hideAndSeek]:`Hide and Seek`}),N=Object.freeze({ranked:o(205379),quickMatch:o(138115),customGame:o(62008),versusAi:o(397300),standard:o(393930),arcade:o(320109),siegeCup:o(414089),dualFront:o(420611),showdown:o(305544),trainingGrounds:o(-1),unranked:o(310813),deathmatch:o(420611),rengoku:o(359430),muteProtocol:o(368421),fieldTraining:o(423927),hideAndSeek:o(310854)}),P=Object.freeze({[N.quickMatch]:`Quick Match`,[N.ranked]:`Ranked`,[N.customGame]:`Custom Game`,[N.versusAi]:`Versus AI`,[N.standard]:`Standard`,[N.arcade]:`Arcade`,[N.siegeCup]:`Siege Cup`,[N.dualFront]:`Dual Front`,[N.showdown]:`Showdown`,[N.trainingGrounds]:`Training Grounds`,[N.unranked]:`Unranked`,[N.deathmatch]:`Deathmatch`,[N.rengoku]:`Rengoku`,[N.muteProtocol]:`M.U.T.E Protocol`,[N.fieldTraining]:`Field Training`,[N.hideAndSeek]:`Hide and Seek`}),F=Object.freeze({glaz:s(62242),blitz:s(62243),buck:s(62244),sledge:s(62245),ash:s(62246),thermite:s(62247),castle:s(62248),rook:s(62249),pulse:s(62250),doc:s(62251),mute:s(62252),smoke:s(62253),recruit:s(62555),thatcher:s(65143),twitch:s(65156),montagne:s(65159),bandit:s(65165),fuze:s(65168),kapkan:s(65171),tachanka:s(65174),jager:s(113049),iq:s(113052),frost:s(186159),blackbeard:s(187249),valkyrie:s(187252),caveira:s(207671),capitao:s(207674),echo:s(209180),hibana:s(209183),mira:s(222172),jackal:s(222182),ying:s(239334),lesion:s(239337),ela:s(254595),zofia:s(254606),dokkaebi:s(273652),vigil:s(273663),finka:s(281457),lion:s(281463),alibi:s(282399),maestro:s(285888),maverick:s(288504),clash:s(288526),nomad:s(293435),kaid:s(293436),gridlock:s(298589),mozzie:s(298616),nokk:s(299657),warden:s(299668),goyo:s(304196),amaru:s(308469),kali:s(310757),wamai:s(310768),oryx:s(317965),iana:s(317976),melusi:s(320062),ace:s(320073),zero:s(328927),aruni:s(328940),flores:s(334086),thunderbird:s(336466),osa:s(344493),thorn:s(349405),azami:s(354314),sens:s(357386),grim:s(365404),solis:s(376836),brava:s(382419),fenrir:s(386388),ram:s(392904),tubarao:s(395594),deimos:s(400504),striker:s(404278),sentry:s(404290),skopos:s(408405),rauora:s(421052),denari:s(2437779699)}),I=Object.freeze({[F.glaz]:`glaz`,[F.blitz]:`blitz`,[F.buck]:`buck`,[F.sledge]:`sledge`,[F.ash]:`ash`,[F.thermite]:`thermite`,[F.castle]:`castle`,[F.rook]:`rook`,[F.pulse]:`pulse`,[F.doc]:`doc`,[F.mute]:`mute`,[F.smoke]:`smoke`,[F.recruit]:`recruit`,[F.thatcher]:`thatcher`,[F.twitch]:`twitch`,[F.montagne]:`montagne`,[F.bandit]:`bandit`,[F.fuze]:`fuze`,[F.kapkan]:`kapkan`,[F.tachanka]:`tachanka`,[F.jager]:`jager`,[F.iq]:`iq`,[F.frost]:`frost`,[F.blackbeard]:`blackbeard`,[F.valkyrie]:`valkyrie`,[F.caveira]:`caveira`,[F.capitao]:`capitao`,[F.echo]:`echo`,[F.hibana]:`hibana`,[F.mira]:`mira`,[F.jackal]:`jackal`,[F.ying]:`ying`,[F.lesion]:`lesion`,[F.ela]:`ela`,[F.zofia]:`zofia`,[F.dokkaebi]:`dokkaebi`,[F.vigil]:`vigil`,[F.finka]:`finka`,[F.lion]:`lion`,[F.alibi]:`alibi`,[F.maestro]:`maestro`,[F.maverick]:`maverick`,[F.clash]:`clash`,[F.nomad]:`nomad`,[F.kaid]:`kaid`,[F.gridlock]:`gridlock`,[F.mozzie]:`mozzie`,[F.nokk]:`nokk`,[F.warden]:`warden`,[F.goyo]:`goyo`,[F.amaru]:`amaru`,[F.kali]:`kali`,[F.wamai]:`wamai`,[F.oryx]:`oryx`,[F.iana]:`iana`,[F.melusi]:`melusi`,[F.ace]:`ace`,[F.zero]:`zero`,[F.aruni]:`aruni`,[F.flores]:`flores`,[F.thunderbird]:`thunderbird`,[F.osa]:`osa`,[F.thorn]:`thorn`,[F.azami]:`azami`,[F.sens]:`sens`,[F.grim]:`grim`,[F.solis]:`solis`,[F.brava]:`brava`,[F.fenrir]:`fenrir`,[F.ram]:`ram`,[F.tubarao]:`tubarao`,[F.deimos]:`deimos`,[F.striker]:`striker`,[F.sentry]:`sentry`,[F.skopos]:`skopos`,[F.rauora]:`rauora`,[F.denari]:`denari`}),L=Object.freeze({[F.striker]:{name:`Striker`,role:`attacker`},[F.sledge]:{name:`Sledge`,role:`attacker`},[F.thatcher]:{name:`Thatcher`,role:`attacker`},[F.ash]:{name:`Ash`,role:`attacker`},[F.thermite]:{name:`Thermite`,role:`attacker`},[F.twitch]:{name:`Twitch`,role:`attacker`},[F.montagne]:{name:`Montagne`,role:`attacker`},[F.glaz]:{name:`Glaz`,role:`attacker`},[F.fuze]:{name:`Fuze`,role:`attacker`},[F.blitz]:{name:`Blitz`,role:`attacker`},[F.iq]:{name:`IQ`,role:`attacker`},[F.buck]:{name:`Buck`,role:`attacker`},[F.blackbeard]:{name:`Blackbeard`,role:`attacker`},[F.capitao]:{name:`Capitão`,role:`attacker`},[F.hibana]:{name:`Hibana`,role:`attacker`},[F.jackal]:{name:`Jackal`,role:`attacker`},[F.ying]:{name:`Ying`,role:`attacker`},[F.zofia]:{name:`Zofia`,role:`attacker`},[F.dokkaebi]:{name:`Dokkaebi`,role:`attacker`},[F.lion]:{name:`Lion`,role:`attacker`},[F.finka]:{name:`Finka`,role:`attacker`},[F.maverick]:{name:`Maverick`,role:`attacker`},[F.nomad]:{name:`Nomad`,role:`attacker`},[F.gridlock]:{name:`Gridlock`,role:`attacker`},[F.nokk]:{name:`Nøkk`,role:`attacker`},[F.amaru]:{name:`Amaru`,role:`attacker`},[F.kali]:{name:`Kali`,role:`attacker`},[F.iana]:{name:`Iana`,role:`attacker`},[F.ace]:{name:`Ace`,role:`attacker`},[F.zero]:{name:`Zero`,role:`attacker`},[F.flores]:{name:`Flores`,role:`attacker`},[F.osa]:{name:`Osa`,role:`attacker`},[F.sens]:{name:`Sens`,role:`attacker`},[F.grim]:{name:`Grim`,role:`attacker`},[F.brava]:{name:`Brava`,role:`attacker`},[F.ram]:{name:`Ram`,role:`attacker`},[F.deimos]:{name:`Deimos`,role:`attacker`},[F.rauora]:{name:`Rauora`,role:`attacker`},[F.sentry]:{name:`Sentry`,role:`defender`},[F.smoke]:{name:`Smoke`,role:`defender`},[F.mute]:{name:`Mute`,role:`defender`},[F.castle]:{name:`Castle`,role:`defender`},[F.pulse]:{name:`Pulse`,role:`defender`},[F.doc]:{name:`Doc`,role:`defender`},[F.rook]:{name:`Rook`,role:`defender`},[F.kapkan]:{name:`Kapkan`,role:`defender`},[F.tachanka]:{name:`Tachanka`,role:`defender`},[F.jager]:{name:`Jäger`,role:`defender`},[F.bandit]:{name:`Bandit`,role:`defender`},[F.frost]:{name:`Frost`,role:`defender`},[F.valkyrie]:{name:`Valkyrie`,role:`defender`},[F.caveira]:{name:`Caveira`,role:`defender`},[F.echo]:{name:`Echo`,role:`defender`},[F.mira]:{name:`Mira`,role:`defender`},[F.lesion]:{name:`Lesion`,role:`defender`},[F.ela]:{name:`Ela`,role:`defender`},[F.vigil]:{name:`Vigil`,role:`defender`},[F.alibi]:{name:`Alibi`,role:`defender`},[F.maestro]:{name:`Maestro`,role:`defender`},[F.clash]:{name:`Clash`,role:`defender`},[F.kaid]:{name:`Kaid`,role:`defender`},[F.mozzie]:{name:`Mozzie`,role:`defender`},[F.warden]:{name:`Warden`,role:`defender`},[F.goyo]:{name:`Goyo`,role:`defender`},[F.wamai]:{name:`Wamai`,role:`defender`},[F.oryx]:{name:`Oryx`,role:`defender`},[F.melusi]:{name:`Melusi`,role:`defender`},[F.aruni]:{name:`Aruni`,role:`defender`},[F.thunderbird]:{name:`Thunderbird`,role:`defender`},[F.thorn]:{name:`Thorn`,role:`defender`},[F.azami]:{name:`Azami`,role:`defender`},[F.solis]:{name:`Solis`,role:`defender`},[F.fenrir]:{name:`Fenrir`,role:`defender`},[F.tubarao]:{name:`Tubarao`,role:`defender`},[F.skopos]:{name:`Skopós`,role:`defender`},[F.denari]:{name:`Denari`,role:`defender`}}),R=Object.freeze({attacker:Object.entries(L).filter(([e,t])=>t.role===`attacker`).map(([e])=>({...L[s(Number(e))],id:s(Number(e))})),defender:Object.entries(L).filter(([e,t])=>t.role===`defender`).map(([e])=>({...L[s(Number(e))],id:s(Number(e))}))}),z=Object.freeze({favela:c(202283),fortress:c(293334),villa:c(286407),neighborhood:c(333785),themePark:c(229325),stadium:c(338641),outback:c(299534),yacht:c(62226),emeraldPlains:c(358871),chalet:c(62230),coastline:c(217482),bank:c(62228),consulate:c(62227),tower:c(255669),nighthavenLabs:c(375492),presidentialPlane:c(62225),house:c(62221),kafeDostoyevsky:c(62232),border:c(201746),closeQuarter:c(365400),lair:c(396234),herefordBase:c(62223),skyscraper:c(208094),cqbBasics:c(196157),oregon:c(62222),fortTruth:c(307723),kanal:c(62229),stadium2020:c(357300),clubhouse:c(62224),district:c(1193341205),shinden:c(359432),stadiumBravo:c(376421),muteCommTower:c(328922),doktorsLab:c(560244830)}),B=Object.freeze({[z.favela]:`Favela`,[z.fortress]:`Fortress`,[z.villa]:`Villa`,[z.neighborhood]:`Neighborhood`,[z.themePark]:`Theme Park`,[z.stadium]:`Stadium`,[z.outback]:`Outback`,[z.yacht]:`Yacht`,[z.emeraldPlains]:`Emerald Plains`,[z.chalet]:`Chalet`,[z.coastline]:`Coastline`,[z.bank]:`Bank`,[z.consulate]:`Consulate`,[z.tower]:`Tower`,[z.nighthavenLabs]:`Nighthaven Labs`,[z.presidentialPlane]:`Presidential Plane`,[z.house]:`House`,[z.kafeDostoyevsky]:`Kafe Dostoyevsky`,[z.border]:`Border`,[z.closeQuarter]:`Close Quarter`,[z.outback]:`Outback`,[z.lair]:`Lair`,[z.herefordBase]:`Hereford Base`,[z.skyscraper]:`Skyscraper`,[z.cqbBasics]:`CQB Basics`,[z.oregon]:`Oregon`,[z.outback]:`Outback`,318512:`Stadium`,[z.fortTruth]:`Fort Truth`,[z.kanal]:`Kanal`,[z.cqbBasics]:`CQB Basics`,[z.stadium2020]:`Stadium 2020`,[z.clubhouse]:`Clubhouse`,[z.district]:`District`,[z.shinden]:`Shinden`,[z.stadiumBravo]:`Stadium Bravo`,[z.muteCommTower]:`M.U.T.E Comm Tower`,[z.doktorsLab]:`Doktor's Lab`}),V=Object.freeze({notPlayed:l(0),inProgress:l(1),lost:l(2),enemiesEliminated:l(3),objectiveComplete:l(4),timeRanOut:l(5),enemiesSurrendered:l(6),unknownReason:l(7),matchCancelled:l(8)}),H=Object.freeze({[V.notPlayed]:`Not Played`,[V.inProgress]:`In Progress`,[V.lost]:`Lost`,[V.enemiesEliminated]:`Enemies Eliminated`,[V.objectiveComplete]:`Objective Complete`,[V.timeRanOut]:`Time ran out`,[V.enemiesSurrendered]:`Enemies Surrendered`,[V.unknownReason]:`Unknown Reason`,[V.matchCancelled]:`Match Cancelled`}),U=Object.freeze({day:g(177839),night:g(177840)}),W=Object.freeze({[U.day]:`Day`,[U.night]:`Night`}),G=()=>n({id:`number`,value:`string`}),K=n({kills:`number`,deaths:`number`,assists:`number`,game_mode_actions:`number`,score:`number`}),q=n({instigator_player_id:r(n.number),receiver_player_id:r(n.number),damage_amount:`number`,remaining_health:`number`,pre_damage_health:`number`,max_health:`number`,damage_type:E,damage_team_type:O,damage_hit_zone:k,damage_source_id:r(n.number).or(`null`),damage_item_id:r(n.number).or(`null`),damage_item_instance_id:r(n.number).or(`null`),damage_time:`number`}),J=n({index:`number`,rounds_until_next_segment:`number`,segment_size:`number`,segment_index:`number`,team_0:{role:S,state:r(n.number)},team_1:{role:S,state:r(n.number)}}),Y=n({name:G(),time_of_day:G()}),X=n({player_id:r(n.number),final_health:`number`,final_life_state:w,operator_name:G()}),ie=n({round_data:J,damage_events:q.array(),players:X.array()}),Z=n({game:`string`,type:`string`,creation_time:`number`}),ae=[V.enemiesEliminated,V.objectiveComplete,V.timeRanOut,V.enemiesSurrendered,V.unknownReason];function oe(e){return ae.includes(e)}const se=[V.notPlayed,V.inProgress];function ce(e){return!se.includes(e)}const Q=Z.and({game:`'siege'`}),le=Q.and({type:`'match_started'`,content:{game_mode:r(n.string),game_type:G(),match_type:r(n.string),match_id:r(n.string),map:Y,is_round_based:`boolean`,current_round_index:`number`,rounds:J.array()}}),ue=Q.and({type:`'started_queuing'`,content:{game_mode:r(n.string),game_type:G(),match_type:r(n.string)}}),de=Q.and({type:`'stopped_queuing'`}),fe=Q.and({type:`'match_ended'`}),pe=Q.and({type:`'map_changed'`,content:{map:Y}}),me=Q.and({type:`'operator_ban_voting_started'`,content:{team:b,index:`number`,side:S}}),he=Q.and({type:`'operator_banned'`,content:{team:b,index:`number`,side:S,operator_name:G().or(`null`)}}),ge=Q.and({type:`'operator_ban_cleared'`,content:{team:b,index:`number`}}),_e=Q.and({type:`'round_ended'`,content:ie}),ve=Q.and({type:`'phase_changed'`,content:{phase:v}}),ye=Q.and({type:`'player_joined'`,content:{player_id:r(n.number),profile_id:r(n.string),is_bot:`boolean`,is_enemy:`boolean`,is_squad_member:`boolean`,is_local_player:`boolean`,username:`string`,side:S,team:b,is_privacy_username:`boolean`,has_avatar_hidden:`boolean`,has_commend_streak:`boolean`,ping_id:`number`,match_stats:K,life_state:w,ping:`number`}}).pipe(e=>({...e,content:{...e.content,starting_side:e.content.side}})),be=Q.and({type:`'player_left'`,content:{player_id:r(n.number)}}),xe=Q.and({type:`'player_operator_changed'`,content:{player_id:r(n.number),operator_name:G()}}),Se=Q.and({type:`'player_location_changed'`,content:{player_id:r(n.number),location_name:`string`}}),Ce=Q.and({type:`'player_side_changed'`,content:{player_id:r(n.number),side:S}}),we=Q.and({type:`'player_score_changed'`,content:{player_id:r(n.number),score:`number`}}),Te=Q.and({type:`'player_kills_changed'`,content:{player_id:r(n.number),kills:`number`}}),Ee=Q.and({type:`'player_deaths_changed'`,content:{player_id:r(n.number),deaths:`number`}}),De=Q.and({type:`'player_assists_changed'`,content:{player_id:r(n.number),assists:`number`}}),$=Q.and({type:`'player_game_mode_actions_changed'`,content:{player_id:r(n.number),game_mode_actions:`number`}}),Oe=Q.and({type:`'player_ping_updated'`,content:{player_id:r(n.number),ping:`number`}}),ke=Q.and({type:`'defuser_planted'`,content:{player_id:r(n.number)}}),Ae=Q.and({type:`'defuser_sabotaged'`,content:{player_id:r(n.number)}}),je=Q.and({type:`'defuser_picked_up'`,content:{player_id:r(n.number),initial:`boolean`}}),Me=Q.and({type:`'defuser_dropped'`,content:{player_id:r(n.number)}}),Ne=Q.and({type:`'player_life_state_changed'`,content:{player_id:r(n.number),life_state:w}}),Pe=Q.and({type:`'player_died'`,content:{player_id:r(n.number),instigator_player_id:r(n.number),headshot:`boolean`}}),Fe=Q.and({type:`'player_downed'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Ie=Q.and({type:`'player_ping_id_changed'`,content:{player_id:r(n.number),ping_id:`number`}}),Le=Q.and({type:`'player_team_changed'`,content:{player_id:r(n.number),team:b}}),Re=t({"#event1":`started_queuing | stopped_queuing | match_started | match_ended | map_changed | operator_ban_voting_started | operator_banned | operator_ban_cleared | round_ended | phase_changed | player_joined | player_left | player_operator_changed`,"#event2":`player_location_changed | player_side_changed | player_score_changed | player_kills_changed | player_deaths_changed | player_assists_changed | player_game_mode_actions_changed | player_life_state_changed | player_died | player_downed | player_ping_id_changed | player_team_changed | defuser_planted | defuser_sabotaged | defuser_picked_up | defuser_dropped | player_ping_updated`,event:`event1 | event2`,started_queuing:ue,stopped_queuing:de,match_started:le,match_ended:fe,map_changed:pe,operator_ban_voting_started:me,operator_banned:he,operator_ban_cleared:ge,round_ended:_e,phase_changed:ve,player_joined:ye,player_left:be,player_operator_changed:xe,player_location_changed:Se,player_side_changed:Ce,player_score_changed:we,player_kills_changed:Te,player_deaths_changed:Ee,player_assists_changed:De,player_game_mode_actions_changed:$,defuser_planted:ke,defuser_sabotaged:Ae,defuser_picked_up:je,defuser_dropped:Me,player_ping_updated:Oe,player_life_state_changed:Ne,player_died:Pe,player_downed:Fe,player_ping_id_changed:Ie,player_team_changed:Le}).export();function ze(){return{key:`siege`,events:Re}}export{Z as BaseEvent,_ as SIEGE_BOT_ID,ne as SIEGE_DAMAGE_HIT_ZONES,D as SIEGE_DAMAGE_TEAM_TYPES,T as SIEGE_DAMAGE_TYPES,j as SIEGE_GAME_MODES_TO_ID,M as SIEGE_GAME_MODE_LABELS,te as SIEGE_GAME_MODE_PHASES,N as SIEGE_GAME_MODE_TYPES_TO_ID,P as SIEGE_GAME_MODE_TYPE_LABELS,B as SIEGE_MAP_LABELS,z as SIEGE_MAP_TO_ID,A as SIEGE_MATCH_TYPES_TO_ID,re as SIEGE_MATCH_TYPE_LABELS,I as SIEGE_OPERATOR_LABELS,L as SIEGE_OPERATOR_META,F as SIEGE_OPERATOR_TO_ID,C as SIEGE_PLAYER_LIFE_STATES,V as SIEGE_ROUND_STATES_TO_ID,H as SIEGE_ROUND_STATE_LABELS,x as SIEGE_SIDES,R as SIEGE_SIDE_OPERATORS,y as SIEGE_TEAMS,W as SIEGE_TIME_OF_DAY_LABELS,U as SIEGE_TIME_OF_DAY_TO_ID,k as SiegeDamageHitZoneSchema,p as SiegeDamageSourceId,O as SiegeDamageTeamTypeSchema,E as SiegeDamageTypeSchema,h as SiegeGameMode,v as SiegeGameModePhaseSchema,o as SiegeGameModeTypeNameId,f as SiegeItemObjectId,c as SiegeMapNameId,u as SiegeMatchId,m as SiegeMatchType,s as SiegeOperatorNameId,d as SiegePlayerId,w as SiegePlayerLifeStateSchema,ee as SiegeProfileId,l as SiegeRoundState,S as SiegeSideSchema,b as SiegeTeamSchema,g as SiegeTimeOfDay,ce as isSiegeRoundStateCompleted,oe as isSiegeRoundStateVictory,ze as module};
|