@gamebob/axon-surge 0.39.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/axon-surge.js +305 -280
- package/dist/core/GameEngineDebug.d.ts +5 -0
- package/dist/core/GameEngineDebug.d.ts.map +1 -0
- package/dist/core/GameEngineMethodsUi.d.ts.map +1 -1
- package/dist/core/GameEngineState.d.ts +2 -0
- package/dist/core/GameEngineState.d.ts.map +1 -1
- package/dist/i18n/locales.d.ts +1 -0
- package/dist/i18n/locales.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/ui/ChallengeCompletionCinematic.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/axon-surge.js
CHANGED
|
@@ -6771,6 +6771,7 @@ const C = {
|
|
|
6771
6771
|
objectivesSubtitle: "MISIÓN • DESAFÍO • LOGRO",
|
|
6772
6772
|
objectivesMissions: "MISIONES",
|
|
6773
6773
|
objectivesChallenges: "DESAFÍOS",
|
|
6774
|
+
challengeSingular: "DESAFÍO",
|
|
6774
6775
|
objectivesAchievements: "LOGROS",
|
|
6775
6776
|
objectiveSystemHint: "ELIGE TU PRÓXIMO PROPÓSITO",
|
|
6776
6777
|
objectiveNoObjectives: "SIN OBJETIVOS DISPONIBLES",
|
|
@@ -6797,6 +6798,7 @@ const C = {
|
|
|
6797
6798
|
objectivesSubtitle: "MISSION • CHALLENGE • ACHIEVEMENT",
|
|
6798
6799
|
objectivesMissions: "MISSIONS",
|
|
6799
6800
|
objectivesChallenges: "CHALLENGES",
|
|
6801
|
+
challengeSingular: "CHALLENGE",
|
|
6800
6802
|
objectivesAchievements: "ACHIEVEMENTS",
|
|
6801
6803
|
objectiveSystemHint: "CHOOSE YOUR NEXT PURPOSE",
|
|
6802
6804
|
objectiveNoObjectives: "NO OBJECTIVES AVAILABLE",
|
|
@@ -6823,6 +6825,7 @@ const C = {
|
|
|
6823
6825
|
objectivesSubtitle: "MISSION • DÉFI • SUCCÈS",
|
|
6824
6826
|
objectivesMissions: "MISSIONS",
|
|
6825
6827
|
objectivesChallenges: "DÉFIS",
|
|
6828
|
+
challengeSingular: "DÉFI",
|
|
6826
6829
|
objectivesAchievements: "SUCCÈS",
|
|
6827
6830
|
objectiveSystemHint: "CHOISISSEZ VOTRE PROCHAIN BUT",
|
|
6828
6831
|
objectiveNoObjectives: "AUCUN OBJECTIF DISPONIBLE",
|
|
@@ -6849,6 +6852,7 @@ const C = {
|
|
|
6849
6852
|
objectivesSubtitle: "MISSION • HERAUSFORDERUNG • ERFOLG",
|
|
6850
6853
|
objectivesMissions: "MISSIONEN",
|
|
6851
6854
|
objectivesChallenges: "HERAUSFORDERUNGEN",
|
|
6855
|
+
challengeSingular: "HERAUSFORDERUNG",
|
|
6852
6856
|
objectivesAchievements: "ERFOLGE",
|
|
6853
6857
|
objectiveSystemHint: "WÄHLE DEIN NÄCHSTES ZIEL",
|
|
6854
6858
|
objectiveNoObjectives: "KEINE ZIELE VERFÜGBAR",
|
|
@@ -6875,6 +6879,7 @@ const C = {
|
|
|
6875
6879
|
objectivesSubtitle: "MISSIONE • SFIDA • OBIETTIVO",
|
|
6876
6880
|
objectivesMissions: "MISSIONI",
|
|
6877
6881
|
objectivesChallenges: "SFIDE",
|
|
6882
|
+
challengeSingular: "SFIDA",
|
|
6878
6883
|
objectivesAchievements: "OBIETTIVI",
|
|
6879
6884
|
objectiveSystemHint: "SCEGLI IL TUO PROSSIMO SCOPO",
|
|
6880
6885
|
objectiveNoObjectives: "NESSUN OBIETTIVO DISPONIBILE",
|
|
@@ -6901,6 +6906,7 @@ const C = {
|
|
|
6901
6906
|
objectivesSubtitle: "MISSÃO • DESAFIO • CONQUISTA",
|
|
6902
6907
|
objectivesMissions: "MISSÕES",
|
|
6903
6908
|
objectivesChallenges: "DESAFIOS",
|
|
6909
|
+
challengeSingular: "DESAFIO",
|
|
6904
6910
|
objectivesAchievements: "CONQUISTAS",
|
|
6905
6911
|
objectiveSystemHint: "ESCOLHE O TEU PRÓXIMO PROPÓSITO",
|
|
6906
6912
|
objectiveNoObjectives: "SEM OBJETIVOS DISPONÍVEIS",
|
|
@@ -6927,6 +6933,7 @@ const C = {
|
|
|
6927
6933
|
objectivesSubtitle: "MISSIE • UITDAGING • PRESTATIE",
|
|
6928
6934
|
objectivesMissions: "MISSIES",
|
|
6929
6935
|
objectivesChallenges: "UITDAGINGEN",
|
|
6936
|
+
challengeSingular: "UITDAGING",
|
|
6930
6937
|
objectivesAchievements: "PRESTATIES",
|
|
6931
6938
|
objectiveSystemHint: "KIES JE VOLGENDE DOEL",
|
|
6932
6939
|
objectiveNoObjectives: "GEEN DOELEN BESCHIKBAAR",
|
|
@@ -6953,6 +6960,7 @@ const C = {
|
|
|
6953
6960
|
objectivesSubtitle: "UPPDRAG • UTMANING • PRESTATION",
|
|
6954
6961
|
objectivesMissions: "UPPDRAG",
|
|
6955
6962
|
objectivesChallenges: "UTMANINGAR",
|
|
6963
|
+
challengeSingular: "UTMANING",
|
|
6956
6964
|
objectivesAchievements: "PRESTATIONER",
|
|
6957
6965
|
objectiveSystemHint: "VÄLJ DITT NÄSTA MÅL",
|
|
6958
6966
|
objectiveNoObjectives: "INGA MÅL TILLGÄNGLIGA",
|
|
@@ -6979,6 +6987,7 @@ const C = {
|
|
|
6979
6987
|
objectivesSubtitle: "MISJA • WYZWANIE • OSIĄGNIĘCIE",
|
|
6980
6988
|
objectivesMissions: "MISJE",
|
|
6981
6989
|
objectivesChallenges: "WYZWANIA",
|
|
6990
|
+
challengeSingular: "WYZWANIE",
|
|
6982
6991
|
objectivesAchievements: "OSIĄGNIĘCIA",
|
|
6983
6992
|
objectiveSystemHint: "WYBIERZ NASTĘPNY CEL",
|
|
6984
6993
|
objectiveNoObjectives: "BRAK DOSTĘPNYCH CELÓW",
|
|
@@ -7005,6 +7014,7 @@ const C = {
|
|
|
7005
7014
|
objectivesSubtitle: "MISI • TANTANGAN • PENCAPAIAN",
|
|
7006
7015
|
objectivesMissions: "MISI",
|
|
7007
7016
|
objectivesChallenges: "TANTANGAN",
|
|
7017
|
+
challengeSingular: "TANTANGAN",
|
|
7008
7018
|
objectivesAchievements: "PENCAPAIAN",
|
|
7009
7019
|
objectiveSystemHint: "PILIH TUJUAN BERIKUTNYA",
|
|
7010
7020
|
objectiveNoObjectives: "TIDAK ADA TUJUAN",
|
|
@@ -7031,6 +7041,7 @@ const C = {
|
|
|
7031
7041
|
objectivesSubtitle: "GÖREV • MEYDAN OKUMA • BAŞARIM",
|
|
7032
7042
|
objectivesMissions: "GÖREVLER",
|
|
7033
7043
|
objectivesChallenges: "MEYDAN OKUMALAR",
|
|
7044
|
+
challengeSingular: "MEYDAN OKUMA",
|
|
7034
7045
|
objectivesAchievements: "BAŞARIMLAR",
|
|
7035
7046
|
objectiveSystemHint: "SONRAKİ AMACINI SEÇ",
|
|
7036
7047
|
objectiveNoObjectives: "KULLANILABİLİR HEDEF YOK",
|
|
@@ -7057,6 +7068,7 @@ const C = {
|
|
|
7057
7068
|
objectivesSubtitle: "МИССИЯ • ИСПЫТАНИЕ • ДОСТИЖЕНИЕ",
|
|
7058
7069
|
objectivesMissions: "МИССИИ",
|
|
7059
7070
|
objectivesChallenges: "ИСПЫТАНИЯ",
|
|
7071
|
+
challengeSingular: "ИСПЫТАНИЕ",
|
|
7060
7072
|
objectivesAchievements: "ДОСТИЖЕНИЯ",
|
|
7061
7073
|
objectiveSystemHint: "ВЫБЕРИТЕ СЛЕДУЮЩУЮ ЦЕЛЬ",
|
|
7062
7074
|
objectiveNoObjectives: "НЕТ ДОСТУПНЫХ ЦЕЛЕЙ",
|
|
@@ -7083,6 +7095,7 @@ const C = {
|
|
|
7083
7095
|
objectivesSubtitle: "ミッション • チャレンジ • 実績",
|
|
7084
7096
|
objectivesMissions: "ミッション",
|
|
7085
7097
|
objectivesChallenges: "チャレンジ",
|
|
7098
|
+
challengeSingular: "チャレンジ",
|
|
7086
7099
|
objectivesAchievements: "実績",
|
|
7087
7100
|
objectiveSystemHint: "次の目的を選択",
|
|
7088
7101
|
objectiveNoObjectives: "利用可能な目標はありません",
|
|
@@ -7109,6 +7122,7 @@ const C = {
|
|
|
7109
7122
|
objectivesSubtitle: "임무 • 도전 • 업적",
|
|
7110
7123
|
objectivesMissions: "임무",
|
|
7111
7124
|
objectivesChallenges: "도전",
|
|
7125
|
+
challengeSingular: "도전",
|
|
7112
7126
|
objectivesAchievements: "업적",
|
|
7113
7127
|
objectiveSystemHint: "다음 목적을 선택하세요",
|
|
7114
7128
|
objectiveNoObjectives: "사용 가능한 목표가 없습니다",
|
|
@@ -7135,6 +7149,7 @@ const C = {
|
|
|
7135
7149
|
objectivesSubtitle: "任务 • 挑战 • 成就",
|
|
7136
7150
|
objectivesMissions: "任务",
|
|
7137
7151
|
objectivesChallenges: "挑战",
|
|
7152
|
+
challengeSingular: "挑战",
|
|
7138
7153
|
objectivesAchievements: "成就",
|
|
7139
7154
|
objectiveSystemHint: "选择你的下一个目标",
|
|
7140
7155
|
objectiveNoObjectives: "没有可用目标",
|
|
@@ -10232,7 +10247,7 @@ class Va {
|
|
|
10232
10247
|
return `
|
|
10233
10248
|
<div class="axon-title-halo">
|
|
10234
10249
|
<h1 class="axon-title">${this.i18n.translate("title")}</h1>
|
|
10235
|
-
<p class="axon-version-mark">v0.
|
|
10250
|
+
<p class="axon-version-mark">v0.40.0</p>
|
|
10236
10251
|
<button id="axon-start-btn" class="axon-start-button">${this.i18n.translate("startButton")}</button>
|
|
10237
10252
|
${this.renderSecondaryActions()}
|
|
10238
10253
|
</div>
|
|
@@ -14954,8 +14969,8 @@ function Ps(r) {
|
|
|
14954
14969
|
}
|
|
14955
14970
|
});
|
|
14956
14971
|
}
|
|
14957
|
-
const Ms =
|
|
14958
|
-
class
|
|
14972
|
+
const Ms = 7600;
|
|
14973
|
+
class Ds {
|
|
14959
14974
|
container;
|
|
14960
14975
|
i18n;
|
|
14961
14976
|
onClose;
|
|
@@ -14969,9 +14984,7 @@ class Os {
|
|
|
14969
14984
|
}
|
|
14970
14985
|
show(e, t) {
|
|
14971
14986
|
this.stopTimer(), this.titleKey = e, this.descriptionKey = t, this.phase = "blackout", this.isOpen = !0, this.container.style.display = "flex", this.render(), this.timer = window.setTimeout(() => {
|
|
14972
|
-
this.phase = "
|
|
14973
|
-
this.phase = "final", this.render();
|
|
14974
|
-
}, Ds);
|
|
14987
|
+
this.phase = "final", this.render();
|
|
14975
14988
|
}, Ms);
|
|
14976
14989
|
}
|
|
14977
14990
|
hide() {
|
|
@@ -14987,20 +15000,10 @@ class Os {
|
|
|
14987
15000
|
!this.titleKey || !this.descriptionKey || (this.container.dataset.phase = this.phase, this.container.innerHTML = `<div class="axon-challenge-completion-scene">
|
|
14988
15001
|
<div class="axon-challenge-completion-void"></div>
|
|
14989
15002
|
<div class="axon-challenge-completion-stars" aria-hidden="true"></div>
|
|
14990
|
-
<div class="axon-challenge-completion-echo axon-challenge-echo-one" aria-hidden="true"></div>
|
|
14991
|
-
<div class="axon-challenge-completion-echo axon-challenge-echo-two" aria-hidden="true"></div>
|
|
14992
15003
|
<div class="axon-challenge-completion-announcement">
|
|
14993
|
-
<span class="axon-challenge-completion-kicker">${this.i18n.translate("
|
|
15004
|
+
<span class="axon-challenge-completion-kicker">${this.i18n.translate("challengeSingular")}</span>
|
|
14994
15005
|
<strong>${this.i18n.translate("objectiveCompleted")}</strong>
|
|
14995
15006
|
</div>
|
|
14996
|
-
<div class="axon-challenge-completion-relic" aria-hidden="true">
|
|
14997
|
-
<span class="axon-challenge-completion-orbit axon-challenge-orbit-one"></span>
|
|
14998
|
-
<span class="axon-challenge-completion-orbit axon-challenge-orbit-two"></span>
|
|
14999
|
-
<span class="axon-challenge-completion-core"></span>
|
|
15000
|
-
<span class="axon-challenge-completion-blade"></span>
|
|
15001
|
-
<span class="axon-challenge-completion-guard"></span>
|
|
15002
|
-
<span class="axon-challenge-completion-hilt"></span>
|
|
15003
|
-
</div>
|
|
15004
15007
|
<div class="axon-challenge-completion-card">
|
|
15005
15008
|
<span class="axon-challenge-completion-card-kicker">${this.i18n.translate("objectiveCompleted")}</span>
|
|
15006
15009
|
<h2>${this.i18n.translate(this.titleKey)}</h2>
|
|
@@ -15013,7 +15016,7 @@ class Os {
|
|
|
15013
15016
|
this.timer !== null && window.clearTimeout(this.timer), this.timer = null;
|
|
15014
15017
|
}
|
|
15015
15018
|
}
|
|
15016
|
-
class
|
|
15019
|
+
class Os {
|
|
15017
15020
|
container;
|
|
15018
15021
|
i18n;
|
|
15019
15022
|
onRetry;
|
|
@@ -15055,7 +15058,7 @@ class Ns {
|
|
|
15055
15058
|
}), this.container.querySelector("[data-challenge-exit]")?.addEventListener("click", this.onExit));
|
|
15056
15059
|
}
|
|
15057
15060
|
}
|
|
15058
|
-
class
|
|
15061
|
+
class Ns {
|
|
15059
15062
|
container;
|
|
15060
15063
|
i18n;
|
|
15061
15064
|
timeoutId = null;
|
|
@@ -15074,7 +15077,7 @@ class Ls {
|
|
|
15074
15077
|
this.timeoutId !== null && window.clearTimeout(this.timeoutId), this.container.remove();
|
|
15075
15078
|
}
|
|
15076
15079
|
}
|
|
15077
|
-
class
|
|
15080
|
+
class Ls {
|
|
15078
15081
|
container;
|
|
15079
15082
|
i18n;
|
|
15080
15083
|
roster;
|
|
@@ -15160,7 +15163,7 @@ class _s {
|
|
|
15160
15163
|
this.animationFrame !== null && window.cancelAnimationFrame(this.animationFrame), this.animationFrame = null;
|
|
15161
15164
|
}
|
|
15162
15165
|
}
|
|
15163
|
-
class
|
|
15166
|
+
class _s {
|
|
15164
15167
|
constructor(e) {
|
|
15165
15168
|
this.map = e, e.addEventListener("pointerdown", this.handlePointerDown), e.addEventListener("pointermove", this.handlePointerMove), e.addEventListener("pointerup", this.handlePointerUp), e.addEventListener("pointercancel", this.handlePointerUp);
|
|
15166
15169
|
}
|
|
@@ -15186,7 +15189,7 @@ class js {
|
|
|
15186
15189
|
};
|
|
15187
15190
|
}
|
|
15188
15191
|
const me = 22;
|
|
15189
|
-
class
|
|
15192
|
+
class js {
|
|
15190
15193
|
constructor(e, t, a, i) {
|
|
15191
15194
|
this.container = e, this.i18n = t, this.memory = a, this.onNodeSelected = i;
|
|
15192
15195
|
}
|
|
@@ -15253,7 +15256,7 @@ class Bs {
|
|
|
15253
15256
|
${i}`, a.addEventListener("click", () => this.onNodeSelected(e.id)), a;
|
|
15254
15257
|
}
|
|
15255
15258
|
}
|
|
15256
|
-
class
|
|
15259
|
+
class Bs {
|
|
15257
15260
|
container;
|
|
15258
15261
|
i18n;
|
|
15259
15262
|
memory;
|
|
@@ -15267,14 +15270,14 @@ class Hs {
|
|
|
15267
15270
|
this.isOpen && e.key === "Escape" && (e.preventDefault(), this.hide(), this.onClose());
|
|
15268
15271
|
};
|
|
15269
15272
|
constructor(e, t, a, i) {
|
|
15270
|
-
this.i18n = t, this.memory = a, this.onClose = i, this.container = document.createElement("section"), this.container.className = "axon-genetic-memory", this.container.setAttribute("aria-label", this.i18n.translate("geneticMemoryTitle")), this.mapRenderer = new
|
|
15273
|
+
this.i18n = t, this.memory = a, this.onClose = i, this.container = document.createElement("section"), this.container.className = "axon-genetic-memory", this.container.setAttribute("aria-label", this.i18n.translate("geneticMemoryTitle")), this.mapRenderer = new js(this.container, this.i18n, this.memory, (o) => {
|
|
15271
15274
|
this.selectedNodeId = o, this.renderDetail();
|
|
15272
15275
|
}), this.unsubscribe = a.subscribe(() => this.render()), e.appendChild(this.container), window.addEventListener("keydown", this.handleKeyDown), this.render();
|
|
15273
15276
|
}
|
|
15274
15277
|
render() {
|
|
15275
15278
|
this.mapPan?.destroy(), this.container.innerHTML = this.renderShell(), this.container.querySelector("#axon-genetic-close")?.addEventListener("click", this.onClose), this.mapRenderer.render(this.memory.getNodes(), this.isOpen);
|
|
15276
15279
|
const e = this.container.querySelector(".axon-genetic-map");
|
|
15277
|
-
this.mapPan = e ? new
|
|
15280
|
+
this.mapPan = e ? new _s(e) : null, this.renderDetail();
|
|
15278
15281
|
}
|
|
15279
15282
|
renderShell() {
|
|
15280
15283
|
return `<div class="axon-genetic-memory-shell">
|
|
@@ -15366,11 +15369,11 @@ class Hs {
|
|
|
15366
15369
|
return e === "powerup" ? this.i18n.translate("geneticTypePowerup") : e === "passive" ? this.i18n.translate("geneticTypePassive") : e === "enemy" ? this.i18n.translate("geneticTypeEnemy") : this.i18n.translate("geneticTypeCore");
|
|
15367
15370
|
}
|
|
15368
15371
|
}
|
|
15369
|
-
function
|
|
15370
|
-
r.coreRunSummaryOverlay =
|
|
15372
|
+
function Hs(r) {
|
|
15373
|
+
r.coreRunSummaryOverlay = Us(r), r.geneticMemoryOverlay = zs(r), r.codexToast = new Ns(r.container, r.i18n), r.challengeResultOverlay = Ks(r), r.challengeCompletionCinematic = Fs(r);
|
|
15371
15374
|
}
|
|
15372
|
-
function
|
|
15373
|
-
return new
|
|
15375
|
+
function Us(r) {
|
|
15376
|
+
return new Ls({
|
|
15374
15377
|
parent: r.container,
|
|
15375
15378
|
i18n: r.i18n,
|
|
15376
15379
|
roster: r.coreRoster,
|
|
@@ -15382,13 +15385,13 @@ function zs(r) {
|
|
|
15382
15385
|
}
|
|
15383
15386
|
});
|
|
15384
15387
|
}
|
|
15385
|
-
function
|
|
15386
|
-
return new
|
|
15388
|
+
function zs(r) {
|
|
15389
|
+
return new Bs(r.container, r.i18n, r.geneticMemory, () => {
|
|
15387
15390
|
r.geneticMemoryOverlay.hide(), r.showStartMenu();
|
|
15388
15391
|
});
|
|
15389
15392
|
}
|
|
15390
|
-
function
|
|
15391
|
-
return new
|
|
15393
|
+
function Ks(r) {
|
|
15394
|
+
return new Os({
|
|
15392
15395
|
parent: r.container,
|
|
15393
15396
|
i18n: r.i18n,
|
|
15394
15397
|
onRetry: (e) => {
|
|
@@ -15399,8 +15402,8 @@ function Fs(r) {
|
|
|
15399
15402
|
}
|
|
15400
15403
|
});
|
|
15401
15404
|
}
|
|
15402
|
-
function
|
|
15403
|
-
return new
|
|
15405
|
+
function Fs(r) {
|
|
15406
|
+
return new Ds({
|
|
15404
15407
|
parent: r.container,
|
|
15405
15408
|
i18n: r.i18n,
|
|
15406
15409
|
onClose: () => {
|
|
@@ -15408,23 +15411,23 @@ function Gs(r) {
|
|
|
15408
15411
|
}
|
|
15409
15412
|
});
|
|
15410
15413
|
}
|
|
15411
|
-
function
|
|
15414
|
+
function Gs(r, e) {
|
|
15412
15415
|
({
|
|
15413
|
-
"completed:achievement": () =>
|
|
15414
|
-
"completed:challenge": () =>
|
|
15415
|
-
"challenge-failed:challenge": () =>
|
|
15416
|
+
"completed:achievement": () => Vs(r, e.id),
|
|
15417
|
+
"completed:challenge": () => Ws(r, e.id),
|
|
15418
|
+
"challenge-failed:challenge": () => qs(r, e.id),
|
|
15416
15419
|
"claimed:mission": () => r.refreshGeneratedMission(!0)
|
|
15417
15420
|
})[`${e.type}:${e.kind}`]?.();
|
|
15418
15421
|
}
|
|
15419
|
-
function
|
|
15422
|
+
function Vs(r, e) {
|
|
15420
15423
|
const t = r.objectives.getSnapshot("achievement", e);
|
|
15421
15424
|
r.objectiveToast.show(t.titleKey, t.descriptionKey);
|
|
15422
15425
|
}
|
|
15423
|
-
function
|
|
15426
|
+
function Ws(r, e) {
|
|
15424
15427
|
const t = r.objectives.getSnapshot("challenge", e);
|
|
15425
15428
|
r.challengeRunId = null, r.isRunning = !1, r.isPaused = !0, r.inputManager.forceRelease(), r.tutorialOverlay.hide(), r.clearTransientRunEntities(), r.challengeCompletionCinematic.show(t.titleKey, t.descriptionKey);
|
|
15426
15429
|
}
|
|
15427
|
-
function
|
|
15430
|
+
function qs(r, e) {
|
|
15428
15431
|
const t = r.objectives.getSnapshot("challenge", e);
|
|
15429
15432
|
if (r.isDeathSequenceActive) {
|
|
15430
15433
|
r.pendingChallengeFailureId = e;
|
|
@@ -15432,20 +15435,20 @@ function $s(r, e) {
|
|
|
15432
15435
|
}
|
|
15433
15436
|
r.challengeResultOverlay.showFailed(e, t.titleKey);
|
|
15434
15437
|
}
|
|
15435
|
-
function
|
|
15436
|
-
|
|
15438
|
+
function $s(r, e) {
|
|
15439
|
+
Ys(r), Zs(r, e), Js(r), Xs(r), Qs(r), el(r), tl(r), Hs(r), ks(r), rl(r), Wa(r), al(r), $a(r);
|
|
15437
15440
|
}
|
|
15438
|
-
function
|
|
15441
|
+
function Ys(r) {
|
|
15439
15442
|
const e = Ti();
|
|
15440
15443
|
r.configManager = new N(), r.content = Se, r.corePreview = new Je(0, 0, r.configManager.getConfig().core), r.powerUpRegistry = new ai(r.configManager, Ii), r.geneticMemory = new W(Ri, new T(e)), r.coreRoster = new Zi(Di, r.geneticMemory, e), r.codex = new oo(po, e), r.missionGenerator = new vo(r.codex), r.bossCodex = new F(fo, e), r.objectives = new jo(Bo, e, (t) => r.applyObjectiveReward(t)), r.areaDirector = new Ho(Se), r.bossEncounter = new Ko(ht());
|
|
15441
15444
|
}
|
|
15442
|
-
function
|
|
15445
|
+
function Zs(r, e) {
|
|
15443
15446
|
r.container = e.root, r.container.classList.add("axon-game-root"), r.i18n = new Ya(e.language), r.themeManager = new pr(e.theme, r.container), r.platform = e.platform || new Za(), r.canvas = document.createElement("canvas"), r.canvas.className = "axon-canvas", r.container.appendChild(r.canvas), r.resizeCanvas(), window.addEventListener("resize", () => r.resizeCanvas());
|
|
15444
15447
|
}
|
|
15445
|
-
function
|
|
15448
|
+
function Js(r) {
|
|
15446
15449
|
r.eventBus = new At(), r.entityFactory = new ti(r.content), r.core = new Je(r.canvas.width / 2, r.canvas.height / 2, r.configManager.getConfig().core), r.inputManager = new Mt(r.canvas, r.configManager.getConfig()), r.physicsEngine = new ir(r.eventBus, r.i18n, r.entityFactory, r.configManager), r.waveDirector = new dr(r.entityFactory, new ur(r.content, r.geneticMemory), new ri(500)), r.waveDirector.setArea(r.areaDirector.getArea()), r.renderer = new ga(r.canvas, r.themeManager, r.configManager), r.juice = new ya();
|
|
15447
15450
|
}
|
|
15448
|
-
function
|
|
15451
|
+
function Xs(r) {
|
|
15449
15452
|
r.settingsModal = new Ia({
|
|
15450
15453
|
parent: r.container,
|
|
15451
15454
|
i18n: r.i18n,
|
|
@@ -15462,17 +15465,17 @@ function Qs(r) {
|
|
|
15462
15465
|
}
|
|
15463
15466
|
});
|
|
15464
15467
|
}
|
|
15465
|
-
function
|
|
15468
|
+
function Qs(r) {
|
|
15466
15469
|
r.coreInteraction = new It(r.inputManager, r.core), r.interactiveTutorial = new wa(r.entityFactory, new Ie(), null, at()), r.tutorialOverlay = new ka(r.container, r.i18n, r.interactiveTutorial), r.hud = new Pa(r.container, () => {
|
|
15467
15470
|
r.isPaused = !0, r.settingsModal.show();
|
|
15468
15471
|
}), r.hud.show();
|
|
15469
15472
|
}
|
|
15470
|
-
function
|
|
15473
|
+
function el(r) {
|
|
15471
15474
|
r.progressBar = new Ma((e) => {
|
|
15472
15475
|
r.waveDirector.wave = e, r.triggerLevelUp(e);
|
|
15473
15476
|
}), r.performanceAudit = new Da(r.container, r.debugPerformanceEnabled, r.i18n);
|
|
15474
15477
|
}
|
|
15475
|
-
function
|
|
15478
|
+
function tl(r) {
|
|
15476
15479
|
r.coreRosterOverlay = new Fa({
|
|
15477
15480
|
parent: r.container,
|
|
15478
15481
|
i18n: r.i18n,
|
|
@@ -15493,7 +15496,7 @@ function rl(r) {
|
|
|
15493
15496
|
environment: Re
|
|
15494
15497
|
});
|
|
15495
15498
|
}
|
|
15496
|
-
function
|
|
15499
|
+
function rl(r) {
|
|
15497
15500
|
r.challengesOverlay = new je({
|
|
15498
15501
|
parent: r.container,
|
|
15499
15502
|
i18n: r.i18n,
|
|
@@ -15519,7 +15522,7 @@ function al(r) {
|
|
|
15519
15522
|
getSelectedCoreId: () => r.coreRoster.getSelectedCoreId()
|
|
15520
15523
|
});
|
|
15521
15524
|
}
|
|
15522
|
-
function
|
|
15525
|
+
function al(r) {
|
|
15523
15526
|
r.unsubscribeCodex = r.codex.subscribe((e) => {
|
|
15524
15527
|
r.refreshGeneratedMission(), r.startMenu.renderContent(), e.length > 0 && r.codexToast.show();
|
|
15525
15528
|
}), r.unsubscribeBossCodex = r.bossCodex.subscribe(() => {
|
|
@@ -15527,14 +15530,35 @@ function il(r) {
|
|
|
15527
15530
|
}), r.unsubscribeCoreRoster = r.coreRoster.subscribe(() => {
|
|
15528
15531
|
r.syncSelectedCorePreview(), r.startMenu.renderContent();
|
|
15529
15532
|
}), r.unsubscribeObjectives = r.objectives.subscribe((e) => {
|
|
15530
|
-
|
|
15533
|
+
il(r), Gs(r, e);
|
|
15531
15534
|
});
|
|
15532
15535
|
}
|
|
15533
|
-
function
|
|
15536
|
+
function il(r) {
|
|
15534
15537
|
r.startMenu.renderContent(), r.missionsDrawer.render(), r.challengesOverlay.renderContent(), r.achievementsOverlay.renderContent();
|
|
15535
15538
|
}
|
|
15536
15539
|
const $e = 0.25, Q = 1.8;
|
|
15537
|
-
|
|
15540
|
+
function ol() {
|
|
15541
|
+
if (typeof window > "u" || !sl(window.location.hostname)) return null;
|
|
15542
|
+
const r = new URLSearchParams(window.location.search);
|
|
15543
|
+
return nl(r.get("debugChallengeEnd") ?? r.get("debugChallenge"));
|
|
15544
|
+
}
|
|
15545
|
+
function nl(r) {
|
|
15546
|
+
return r === "complete" || r === "completed" || r === "win" ? "complete" : r === "lost" || r === "failed" || r === "fail" ? "lost" : null;
|
|
15547
|
+
}
|
|
15548
|
+
function sl(r) {
|
|
15549
|
+
return r === "localhost" || r === "127.0.0.1";
|
|
15550
|
+
}
|
|
15551
|
+
function ll(r) {
|
|
15552
|
+
const e = r.debugChallengeResult, t = r.challengeRunId;
|
|
15553
|
+
if (!(!e || !t)) {
|
|
15554
|
+
if (e === "complete") {
|
|
15555
|
+
r.objectives.debugComplete("challenge", t);
|
|
15556
|
+
return;
|
|
15557
|
+
}
|
|
15558
|
+
r.isRunning = !1, r.isPaused = !0, r.inputManager.forceRelease(), r.tutorialOverlay.hide(), r.objectives.cancelActiveChallenge(), r.challengeRunId = null, r.clearTransientRunEntities();
|
|
15559
|
+
}
|
|
15560
|
+
}
|
|
15561
|
+
class cl {
|
|
15538
15562
|
container;
|
|
15539
15563
|
canvas;
|
|
15540
15564
|
i18n;
|
|
@@ -15607,6 +15631,7 @@ class nl {
|
|
|
15607
15631
|
debugPerformanceEnabled = typeof window < "u" && new URLSearchParams(window.location.search).has("debug");
|
|
15608
15632
|
debugBossEnabled = typeof window < "u" && (window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1") && new URLSearchParams(window.location.search).has("debugBoss");
|
|
15609
15633
|
debugAchievementEnabled = typeof window < "u" && (window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1") && new URLSearchParams(window.location.search).has("debugAchievement");
|
|
15634
|
+
debugChallengeResult = ol();
|
|
15610
15635
|
rerollsRemaining = 1;
|
|
15611
15636
|
score = { value: 0 };
|
|
15612
15637
|
combo = { value: 0 };
|
|
@@ -15676,25 +15701,25 @@ class nl {
|
|
|
15676
15701
|
clearTransientRunEntities() {
|
|
15677
15702
|
}
|
|
15678
15703
|
constructor(e) {
|
|
15679
|
-
|
|
15704
|
+
$s(this, e);
|
|
15680
15705
|
}
|
|
15681
15706
|
}
|
|
15682
|
-
function
|
|
15707
|
+
function dl(r, e) {
|
|
15683
15708
|
r.i18n.setLanguage(e), r.onLanguageChanged(e);
|
|
15684
15709
|
}
|
|
15685
|
-
function
|
|
15710
|
+
function ul(r, e) {
|
|
15686
15711
|
r.themeManager.setTheme(e);
|
|
15687
15712
|
}
|
|
15688
|
-
function
|
|
15713
|
+
function hl(r) {
|
|
15689
15714
|
return r.i18n.getLanguage();
|
|
15690
15715
|
}
|
|
15691
|
-
function
|
|
15716
|
+
function pl(r) {
|
|
15692
15717
|
return r.themeManager.getTheme();
|
|
15693
15718
|
}
|
|
15694
|
-
function
|
|
15719
|
+
function ml(r, e) {
|
|
15695
15720
|
r.startMenu.renderContent(), r.tutorialOverlay.updateLanguage(), r.coreRosterOverlay.updateLanguage(), r.geneticMemoryOverlay.updateLanguage(), r.coreRunSummaryOverlay.updateLanguage(), r.codexOverlay.updateLanguage(), r.codexToast.updateLanguage(), r.missionsDrawer.updateLanguage(), r.challengesOverlay.updateLanguage(), r.achievementsOverlay.updateLanguage(), r.objectiveToast.updateLanguage(), r.challengeResultOverlay.updateLanguage(), r.challengeCompletionCinematic.updateLanguage();
|
|
15696
15721
|
}
|
|
15697
|
-
function
|
|
15722
|
+
function gl(r) {
|
|
15698
15723
|
r.ambientEnemies = [];
|
|
15699
15724
|
for (let e = 0; e < 16; e++) {
|
|
15700
15725
|
const t = r.content.enemies.values().filter((l) => l.ambientSpawn && (!l.requiredUnlockId || r.geneticMemory.isUnlocked(l.requiredUnlockId))).map((l) => l.id);
|
|
@@ -15709,15 +15734,15 @@ function hl(r) {
|
|
|
15709
15734
|
r.ambientEnemies.push(s);
|
|
15710
15735
|
}
|
|
15711
15736
|
}
|
|
15712
|
-
function
|
|
15737
|
+
function yl(r) {
|
|
15713
15738
|
const e = r.coreRoster.getSelectedCore();
|
|
15714
15739
|
r.core.setMechanic(e.mechanic), r.core.setSkinId(r.coreRoster.getSelectedSkinId(e.id)), r.core.setElevationVisualLevel(r.coreRoster.getSelectedElevationVisualLevel(e.id)), r.coreInteraction.setMechanic(e.mechanic);
|
|
15715
15740
|
}
|
|
15716
|
-
function
|
|
15741
|
+
function El(r) {
|
|
15717
15742
|
const e = r.container.clientWidth || window.innerWidth, t = r.container.clientHeight || window.innerHeight, a = 1100, i = 750, o = e / Math.max(1, t);
|
|
15718
15743
|
o < 1 ? (r.canvas.width = a, r.canvas.height = Math.round(a / o)) : e < 1e3 || t < i ? (r.canvas.height = i, r.canvas.width = Math.round(i * o)) : (r.canvas.width = e, r.canvas.height = t), r.core && (r.core.position = { x: r.canvas.width / 2, y: r.canvas.height / 2 });
|
|
15719
15744
|
}
|
|
15720
|
-
class
|
|
15745
|
+
class vl {
|
|
15721
15746
|
origin;
|
|
15722
15747
|
position;
|
|
15723
15748
|
previousPosition;
|
|
@@ -15752,7 +15777,7 @@ class gl {
|
|
|
15752
15777
|
return this.origin;
|
|
15753
15778
|
}
|
|
15754
15779
|
}
|
|
15755
|
-
const
|
|
15780
|
+
const fl = {
|
|
15756
15781
|
"toxic-radius": (r) => {
|
|
15757
15782
|
const e = r.getConfig().toxicPool;
|
|
15758
15783
|
r.updateConfig({
|
|
@@ -15786,11 +15811,11 @@ const yl = {
|
|
|
15786
15811
|
r.addCoreRing(1);
|
|
15787
15812
|
}
|
|
15788
15813
|
};
|
|
15789
|
-
function
|
|
15814
|
+
function xl(r, e) {
|
|
15790
15815
|
for (const t of r.getActivePassiveEffectIds())
|
|
15791
|
-
|
|
15816
|
+
fl[t](e);
|
|
15792
15817
|
}
|
|
15793
|
-
const
|
|
15818
|
+
const Sl = {
|
|
15794
15819
|
"core-life-ring": (r) => r.addCoreRing(1),
|
|
15795
15820
|
"core-protection": (r, e) => {
|
|
15796
15821
|
const t = e.effectValue ?? 120, a = r.getConfig().core;
|
|
@@ -15831,21 +15856,21 @@ const vl = {
|
|
|
15831
15856
|
"core-skin": () => {
|
|
15832
15857
|
}
|
|
15833
15858
|
};
|
|
15834
|
-
function
|
|
15859
|
+
function bl(r, e) {
|
|
15835
15860
|
for (const t of r.getActiveWisdomEffects())
|
|
15836
|
-
t.effectId &&
|
|
15861
|
+
t.effectId && Sl[t.effectId](e, t);
|
|
15837
15862
|
}
|
|
15838
|
-
function
|
|
15839
|
-
|
|
15840
|
-
const e =
|
|
15841
|
-
|
|
15863
|
+
function Cl(r) {
|
|
15864
|
+
Al(r), Il(r);
|
|
15865
|
+
const e = Rl(r);
|
|
15866
|
+
Ml(r, e);
|
|
15842
15867
|
}
|
|
15843
|
-
function
|
|
15868
|
+
function Al(r) {
|
|
15844
15869
|
r.eventBus.on("onCoreDamaged", () => {
|
|
15845
15870
|
r.settingsModal.isHapticsEnabled() && r.platform.haptics.notification("error");
|
|
15846
15871
|
});
|
|
15847
15872
|
}
|
|
15848
|
-
function
|
|
15873
|
+
function Il(r) {
|
|
15849
15874
|
r.eventBus.on("onGameOver", () => {
|
|
15850
15875
|
if (!r.isDeathSequenceActive) {
|
|
15851
15876
|
if (r.isChallengeRun()) {
|
|
@@ -15859,27 +15884,27 @@ function bl(r) {
|
|
|
15859
15884
|
function Ye(r) {
|
|
15860
15885
|
r.isRunning = !1, r.isPaused = !1, r.isDeathSequenceActive = !0, r.deathSequenceElapsed = 0;
|
|
15861
15886
|
}
|
|
15862
|
-
function
|
|
15887
|
+
function Rl(r) {
|
|
15863
15888
|
return {
|
|
15864
|
-
pointerDown: (e = !1) =>
|
|
15865
|
-
pointerUp: () =>
|
|
15889
|
+
pointerDown: (e = !1) => Tl(r, e),
|
|
15890
|
+
pointerUp: () => Pl(r)
|
|
15866
15891
|
};
|
|
15867
15892
|
}
|
|
15868
|
-
function
|
|
15893
|
+
function Tl(r, e) {
|
|
15869
15894
|
if (!r.isRunning || r.isPaused || r.isLevelUpActive) return;
|
|
15870
15895
|
const t = r.coreInteraction.pointerDown(r.enemies, e);
|
|
15871
|
-
|
|
15896
|
+
wl(r, t), kl(r, t, e), t && r.settingsModal.isHapticsEnabled() && r.platform.haptics.impact("light");
|
|
15872
15897
|
}
|
|
15873
|
-
function
|
|
15898
|
+
function wl(r, e) {
|
|
15874
15899
|
!e?.enemy || e.mechanic !== "launcher" && e.mechanic !== "smasher" || (r.codex.recordControlled(e.enemy.type), r.coreRoster.recordSkillEvent("controlled"), r.objectives.record({
|
|
15875
15900
|
type: "enemy-controlled",
|
|
15876
15901
|
enemyId: e.enemy.type,
|
|
15877
15902
|
coreId: r.coreRoster.getSelectedCoreId()
|
|
15878
15903
|
}));
|
|
15879
15904
|
}
|
|
15880
|
-
function
|
|
15905
|
+
function kl(r, e, t) {
|
|
15881
15906
|
e?.mechanic !== "repellent" || !e.waveOrigin || r.repelProjectiles.push(
|
|
15882
|
-
new
|
|
15907
|
+
new vl({
|
|
15883
15908
|
origin: r.core.position,
|
|
15884
15909
|
target: e.waveOrigin,
|
|
15885
15910
|
color: r.core.getColorHex(),
|
|
@@ -15889,12 +15914,12 @@ function Rl(r, e, t) {
|
|
|
15889
15914
|
})
|
|
15890
15915
|
);
|
|
15891
15916
|
}
|
|
15892
|
-
function
|
|
15917
|
+
function Pl(r) {
|
|
15893
15918
|
if (!r.isRunning || r.isPaused || r.isLevelUpActive) return;
|
|
15894
15919
|
const e = r.coreInteraction.getMechanic(), t = r.coreInteraction.pointerUp();
|
|
15895
15920
|
e === "smasher" && t && (r.pendingSmasherRelease = t), t && r.settingsModal.isHapticsEnabled() && r.platform.haptics.impact("medium");
|
|
15896
15921
|
}
|
|
15897
|
-
function
|
|
15922
|
+
function Ml(r, e) {
|
|
15898
15923
|
r.canvas.addEventListener("mousedown", (t) => {
|
|
15899
15924
|
t.button === 0 && e.pointerDown(!1);
|
|
15900
15925
|
}), r.canvas.addEventListener("mouseup", (t) => {
|
|
@@ -15903,40 +15928,40 @@ function wl(r, e) {
|
|
|
15903
15928
|
passive: !0
|
|
15904
15929
|
}), r.canvas.addEventListener("touchend", e.pointerUp, { passive: !0 }), r.canvas.addEventListener("touchcancel", e.pointerUp, { passive: !0 });
|
|
15905
15930
|
}
|
|
15906
|
-
function
|
|
15931
|
+
function Dl(r) {
|
|
15907
15932
|
r.missionsDrawer.setAvailable(!1), r.configManager.resetToDefault();
|
|
15908
15933
|
const e = r.coreRoster.getSelectedCore(), t = r.challengeRunId ? r.objectives.getActiveChallenge() : void 0;
|
|
15909
|
-
|
|
15934
|
+
Ol(r, e, t), Ll(r, e.id, t);
|
|
15910
15935
|
}
|
|
15911
|
-
function
|
|
15912
|
-
r.core.setMechanic(e.mechanic), r.core.setSkinId(r.coreRoster.getSelectedSkinId(e.id)), r.core.setElevationVisualLevel(r.coreRoster.getSelectedElevationVisualLevel(e.id)), r.coreInteraction.setMechanic(e.mechanic),
|
|
15936
|
+
function Ol(r, e, t) {
|
|
15937
|
+
r.core.setMechanic(e.mechanic), r.core.setSkinId(r.coreRoster.getSelectedSkinId(e.id)), r.core.setElevationVisualLevel(r.coreRoster.getSelectedElevationVisualLevel(e.id)), r.coreInteraction.setMechanic(e.mechanic), xl(r.geneticMemory, r.configManager), r.coreRoster.startRun(), bl(r.coreRoster, r.configManager), r.core.setConfig(r.configManager.getConfig().core), r.objectives.record({ type: "run-started", coreId: e.id }), r.score.value = 0, r.combo.value = 0, r.pendingChallengeFailureId = null, r.clearTransientRunState(), r.isDeathSequenceActive = !1, r.deathSequenceElapsed = 0, r.enemies = [], r.ambientEnemies = [], r.experienceOrbs = [], r.ecosomaOrbs = [], r.bossCatalyst = null, r.resetBossExposureBurst(), r.orbitingOrbs = [], r.isLevelUpActive = !1, r.pendingLevelUps = [], r.rerollsRemaining = t?.preset?.disableRerolls ? 0 : r.getRerollLimit(), r.waveDirector.setChallengeSpawnProfile(t?.preset?.spawnProfile ?? null), Nl(r, t);
|
|
15913
15938
|
}
|
|
15914
|
-
function
|
|
15939
|
+
function Nl(r, e) {
|
|
15915
15940
|
r.core.reset(r.canvas.width / 2, r.canvas.height / 2), r.areaDirector.reset(e?.preset?.areaId ?? "area-caldo"), r.areaDirector.setBossesDisabled(e?.preset?.disableBosses === !0), r.waveDirector.setArea(r.areaDirector.getArea()), r.enemies.push(...r.waveDirector.spawnInitialChallengeEnemies(r.canvas.width, r.canvas.height, r.core.position)), r.recordEnemyObservations(r.enemies), r.debugBossEnabled && r.areaDirector.recordKill(r.areaDirector.getKillThreshold()), r.bossEncounter.reset(), r.areaTransitionElapsed = 0, r.areaIntroElapsed = r.debugBossEnabled ? Q : 0, r.waveDirector.reset(), r.inputManager.reset(), r.hud.show(), r.hud.update(0), r.progressBar.reset(), r.isPaused = !1, r.isRunning = !0;
|
|
15916
15941
|
}
|
|
15917
|
-
function
|
|
15918
|
-
const a = t?.preset?.tutorialId, i =
|
|
15919
|
-
r.interactiveTutorial.setDefinition(i),
|
|
15942
|
+
function Ll(r, e, t) {
|
|
15943
|
+
const a = t?.preset?.tutorialId, i = _l(r, e, a, !!t);
|
|
15944
|
+
r.interactiveTutorial.setDefinition(i), jl(r, a !== void 0) ? (r.interactiveTutorial.start(r.canvas.width, r.canvas.height, r.enemies), r.tutorialOverlay.show()) : (r.interactiveTutorial.isActive = !1, r.tutorialOverlay.hide());
|
|
15920
15945
|
}
|
|
15921
|
-
function
|
|
15946
|
+
function _l(r, e, t, a) {
|
|
15922
15947
|
return a ? t ? r.content.getTutorial(t) ?? null : null : r.content.getTutorialForCore(e) ?? null;
|
|
15923
15948
|
}
|
|
15924
|
-
function
|
|
15949
|
+
function jl(r, e) {
|
|
15925
15950
|
return !r.interactiveTutorial.hasDefinition() || r.debugBossEnabled ? !1 : e || r.interactiveTutorial.isTutorialEnabled();
|
|
15926
15951
|
}
|
|
15927
|
-
function
|
|
15952
|
+
function Bl(r) {
|
|
15928
15953
|
r.clearTransientRunEntities(), r.juice.reset();
|
|
15929
15954
|
}
|
|
15930
|
-
function
|
|
15955
|
+
function Hl(r, e) {
|
|
15931
15956
|
for (let t = r.repelProjectiles.length - 1; t >= 0; t--) {
|
|
15932
15957
|
const a = r.repelProjectiles[t];
|
|
15933
|
-
(!a ||
|
|
15958
|
+
(!a || Ul(r, a, e, t)) && r.repelProjectiles.splice(t, 1);
|
|
15934
15959
|
}
|
|
15935
15960
|
}
|
|
15936
|
-
function
|
|
15937
|
-
return e.update(t) === !1 ? !1 : (r.isRepelProjectileBlocked(e) || (Math.hypot(e.target.x - r.core.position.x, e.target.y - r.core.position.y) <= r.core.getHitboxRadius() ?
|
|
15961
|
+
function Ul(r, e, t, a) {
|
|
15962
|
+
return e.update(t) === !1 ? !1 : (r.isRepelProjectileBlocked(e) || (Math.hypot(e.target.x - r.core.position.x, e.target.y - r.core.position.y) <= r.core.getHitboxRadius() ? zl(r) : Kl(r, e, a)), !0);
|
|
15938
15963
|
}
|
|
15939
|
-
function
|
|
15964
|
+
function zl(r) {
|
|
15940
15965
|
Xe.damageCore({
|
|
15941
15966
|
core: r.core,
|
|
15942
15967
|
enemies: r.enemies,
|
|
@@ -15953,7 +15978,7 @@ function Bl(r) {
|
|
|
15953
15978
|
allowProtection: !1
|
|
15954
15979
|
});
|
|
15955
15980
|
}
|
|
15956
|
-
function
|
|
15981
|
+
function Kl(r, e, t) {
|
|
15957
15982
|
const a = r.coreInteraction.resolveRepelWave(r.enemies, e.target, e.isTouch);
|
|
15958
15983
|
for (const i of a)
|
|
15959
15984
|
r.codex.recordControlled(i.type), r.objectives.record({
|
|
@@ -15973,12 +15998,12 @@ function Hl(r, e, t) {
|
|
|
15973
15998
|
isSpectral: e.isSpectral
|
|
15974
15999
|
});
|
|
15975
16000
|
}
|
|
15976
|
-
function
|
|
16001
|
+
function Fl(r, e) {
|
|
15977
16002
|
const t = e.position.x - e.previousPosition.x, a = e.position.y - e.previousPosition.y, i = t * t + a * a;
|
|
15978
16003
|
if (i <= 1e-4) return !1;
|
|
15979
16004
|
const o = Math.atan2(-a, -t);
|
|
15980
16005
|
return r.enemies.some(
|
|
15981
|
-
(n) =>
|
|
16006
|
+
(n) => Gl({
|
|
15982
16007
|
enemy: n,
|
|
15983
16008
|
projectile: e,
|
|
15984
16009
|
movementX: t,
|
|
@@ -15988,16 +16013,16 @@ function Ul(r, e) {
|
|
|
15988
16013
|
})
|
|
15989
16014
|
);
|
|
15990
16015
|
}
|
|
15991
|
-
function
|
|
16016
|
+
function Gl(r) {
|
|
15992
16017
|
const { enemy: e, projectile: t, movementX: a, movementY: i, segmentLengthSquared: o, approachAngle: n } = r;
|
|
15993
16018
|
if (!e.active || e.isDying || e.isGrabbed || e.isThrown || !e.isFrontCoverageHit(n)) return !1;
|
|
15994
16019
|
const s = e.position.x - t.previousPosition.x, l = e.position.y - t.previousPosition.y, c = Math.max(0, Math.min(1, (s * a + l * i) / o)), d = t.previousPosition.x + a * c, u = t.previousPosition.y + i * c, h = e.position.x - d, m = e.position.y - u, g = e.getFrontCoverageRadius() + t.radius;
|
|
15995
16020
|
return h * h + m * m <= g * g;
|
|
15996
16021
|
}
|
|
15997
|
-
function
|
|
16022
|
+
function Vl(r) {
|
|
15998
16023
|
r.enemies = [], r.pools = [], r.vortices = [], r.shockwaves = [], r.repelProjectiles = [], r.pendingSmasherRelease = null, r.smasherBossImpactCooldown = 0, r.particles = [], r.floatingTexts = [], r.experienceOrbs = [], r.ecosomaOrbs = [], r.orbitingOrbs = [], r.pendingLevelUps = [], r.inputManager?.forceRelease();
|
|
15999
16024
|
}
|
|
16000
|
-
function
|
|
16025
|
+
function Wl(r, e) {
|
|
16001
16026
|
if (r.deathSequenceElapsed = Math.min(ye, r.deathSequenceElapsed + e), r.juice.update(e, r.floatingTexts, r.particles), !(r.deathSequenceElapsed < ye)) {
|
|
16002
16027
|
if (r.isDeathSequenceActive = !1, r.clearTransientRunState(), r.initAmbientArena(), r.pendingChallengeFailureId) {
|
|
16003
16028
|
const t = r.pendingChallengeFailureId;
|
|
@@ -16013,27 +16038,27 @@ function Fl(r, e) {
|
|
|
16013
16038
|
r.showStartMenu();
|
|
16014
16039
|
}
|
|
16015
16040
|
}
|
|
16016
|
-
function
|
|
16017
|
-
if (r.performanceAudit.beginFrame(),
|
|
16018
|
-
|
|
16019
|
-
const t =
|
|
16020
|
-
|
|
16041
|
+
function ql(r, e) {
|
|
16042
|
+
if (r.performanceAudit.beginFrame(), $l(r), Jl(r, e) || (r.core.update(e), r.smasherBossImpactCooldown = Math.max(0, r.smasherBossImpactCooldown - e), r.coreInteraction.updateHover(r.inputManager.pointerPosition, r.isRunning && r.inputManager.hasPointerPosition, r.inputManager.lastPointerWasTouch), Xl(r, e), Ql(r, e)) || (r.areaIntroElapsed = Math.min(Q, r.areaIntroElapsed + Math.max(0, e)), tc(r, e))) return;
|
|
16043
|
+
rc(r, e), ac(r, e);
|
|
16044
|
+
const t = sc(r, e);
|
|
16045
|
+
cc(r, e), r.spawnExperienceDrops(), r.isLevelUpActive || (r.updateExperienceOrbs(e), r.updateEcosomaOrbs(e)), r.progressBar.update(e), r.hud.update(r.combo.value, Zl(r)), r.juice.update(e, r.floatingTexts, r.particles), r.enemies = r.enemies.filter((a) => a.active), G(r, r.enemies.length, t);
|
|
16021
16046
|
}
|
|
16022
|
-
function
|
|
16023
|
-
const e = r.isPaused ? "PAUSED" :
|
|
16047
|
+
function $l(r) {
|
|
16048
|
+
const e = r.isPaused ? "PAUSED" : Yl(r);
|
|
16024
16049
|
r.performanceAudit.setState(e), r.performanceAudit.setEcosomaDropChance(r.getEcosomaDropPolicy().getChance(r.progressBar.getLevel()));
|
|
16025
16050
|
}
|
|
16026
|
-
function
|
|
16051
|
+
function Yl(r) {
|
|
16027
16052
|
return r.isRunning ? "GAME" : "MENU";
|
|
16028
16053
|
}
|
|
16029
|
-
function
|
|
16054
|
+
function Zl(r) {
|
|
16030
16055
|
const e = r.objectives.getActiveChallenge();
|
|
16031
16056
|
return !e || e.condition.event !== "enemy-defeated" ? null : e.condition.target - e.progress;
|
|
16032
16057
|
}
|
|
16033
|
-
function
|
|
16058
|
+
function Jl(r, e) {
|
|
16034
16059
|
return r.areaDirector.getPhase() !== "boss" || !r.bossEncounter.isIntroPaused() ? !1 : (r.bossEncounter.update(e, r.core.position), G(r, 0), !0);
|
|
16035
16060
|
}
|
|
16036
|
-
function
|
|
16061
|
+
function Xl(r, e) {
|
|
16037
16062
|
r.isRunning && !r.isPaused && r.updateRepelProjectiles(e);
|
|
16038
16063
|
}
|
|
16039
16064
|
function G(r, e, t = 0) {
|
|
@@ -16046,22 +16071,22 @@ function G(r, e, t = 0) {
|
|
|
16046
16071
|
floatingTexts: r.floatingTexts.length
|
|
16047
16072
|
});
|
|
16048
16073
|
}
|
|
16049
|
-
function
|
|
16074
|
+
function Ql(r, e) {
|
|
16050
16075
|
if (r.isDeathSequenceActive)
|
|
16051
16076
|
return r.updateDeathSequence(e), G(r, 0), !0;
|
|
16052
16077
|
if (r.isRunning && !r.isPaused) return !1;
|
|
16053
16078
|
for (const t of r.ambientEnemies)
|
|
16054
|
-
t.update(e),
|
|
16079
|
+
t.update(e), ec(r, t);
|
|
16055
16080
|
return r.recordEnemyObservations(r.ambientEnemies), G(r, r.ambientEnemies.length), !0;
|
|
16056
16081
|
}
|
|
16057
|
-
function
|
|
16082
|
+
function ec(r, e) {
|
|
16058
16083
|
e.position.x < -40 && (e.position.x = r.canvas.width + 40), e.position.x > r.canvas.width + 40 && (e.position.x = -40), e.position.y < -40 && (e.position.y = r.canvas.height + 40), e.position.y > r.canvas.height + 40 && (e.position.y = -40);
|
|
16059
16084
|
}
|
|
16060
|
-
function
|
|
16085
|
+
function tc(r, e) {
|
|
16061
16086
|
const t = r.areaDirector.getPhase();
|
|
16062
16087
|
return t !== "reward" && t !== "transition" ? !1 : (t === "reward" ? r.updateBossReward(e) : r.updateAreaTransition(e), r.progressBar.update(e), r.juice.update(e, r.floatingTexts, r.particles), G(r, 0), !0);
|
|
16063
16088
|
}
|
|
16064
|
-
function
|
|
16089
|
+
function rc(r, e) {
|
|
16065
16090
|
const t = r.areaDirector.getPhase();
|
|
16066
16091
|
if (r.interactiveTutorial.isActive) {
|
|
16067
16092
|
r.interactiveTutorial.update({
|
|
@@ -16082,20 +16107,20 @@ function Ql(r, e) {
|
|
|
16082
16107
|
const a = r.waveDirector.update({ dt: e, activeEnemies: r.enemies, width: r.canvas.width, height: r.canvas.height, corePos: r.core.position });
|
|
16083
16108
|
a && (r.enemies.push(a), r.recordEnemyObservation(a)), r.recordEnemyObservations(r.enemies);
|
|
16084
16109
|
}
|
|
16085
|
-
function
|
|
16110
|
+
function ac(r, e) {
|
|
16086
16111
|
if (!r.isLevelUpActive) return;
|
|
16087
16112
|
r.inputManager.tryGrabOrb(r.orbitingOrbs);
|
|
16088
16113
|
const t = r.inputManager.grabbedOrb;
|
|
16089
|
-
!r.inputManager.isPointerDown && t && (t.isGrabbed = !1, r.inputManager.grabbedOrb = null),
|
|
16114
|
+
!r.inputManager.isPointerDown && t && (t.isGrabbed = !1, r.inputManager.grabbedOrb = null), ic(r);
|
|
16090
16115
|
for (const a of r.orbitingOrbs)
|
|
16091
|
-
a.isHovered = Math.hypot(r.inputManager.pointerPosition.x - a.position.x, r.inputManager.pointerPosition.y - a.position.y) <= a.radius * 1.5, a === t && r.inputManager.isPointerDown ?
|
|
16116
|
+
a.isHovered = Math.hypot(r.inputManager.pointerPosition.x - a.position.x, r.inputManager.pointerPosition.y - a.position.y) <= a.radius * 1.5, a === t && r.inputManager.isPointerDown ? oc(r, a) : a.update(e, r.core.position);
|
|
16092
16117
|
}
|
|
16093
|
-
function
|
|
16118
|
+
function ic(r) {
|
|
16094
16119
|
if (!r.inputManager.isPointerDown || r.inputManager.grabbedOrb || r.rerollsRemaining <= 0) return;
|
|
16095
16120
|
const e = r.canvas.width / 2, t = r.canvas.height / 2 + 300;
|
|
16096
16121
|
Math.hypot(r.inputManager.pointerPosition.x - e, r.inputManager.pointerPosition.y - t) <= 80 && (r.triggerReroll(), r.inputManager.consumePointerDown());
|
|
16097
16122
|
}
|
|
16098
|
-
function
|
|
16123
|
+
function oc(r, e) {
|
|
16099
16124
|
e.position = { ...r.inputManager.pointerPosition };
|
|
16100
16125
|
const t = r.core.position.x - e.position.x, a = r.core.position.y - e.position.y;
|
|
16101
16126
|
if (!(Math.hypot(t, a) > r.core.radius + e.radius)) {
|
|
@@ -16110,11 +16135,11 @@ function rc(r, e) {
|
|
|
16110
16135
|
maxLifetime: 1.6,
|
|
16111
16136
|
size: 26
|
|
16112
16137
|
});
|
|
16113
|
-
for (let i = 0; i < 45; i++) r.particles.push(
|
|
16138
|
+
for (let i = 0; i < 45; i++) r.particles.push(nc(r, e.definition.color));
|
|
16114
16139
|
r.inputManager.forceRelease(), r.orbitingOrbs = [], r.presentNextLevelUp();
|
|
16115
16140
|
}
|
|
16116
16141
|
}
|
|
16117
|
-
function
|
|
16142
|
+
function nc(r, e) {
|
|
16118
16143
|
const t = Math.random() * Math.PI * 2, a = 200 + Math.random() * 400;
|
|
16119
16144
|
return {
|
|
16120
16145
|
id: Math.random().toString(),
|
|
@@ -16127,7 +16152,7 @@ function ac(r, e) {
|
|
|
16127
16152
|
maxLifetime: 0.7
|
|
16128
16153
|
};
|
|
16129
16154
|
}
|
|
16130
|
-
function
|
|
16155
|
+
function sc(r, e) {
|
|
16131
16156
|
if (r.isLevelUpActive) return 0;
|
|
16132
16157
|
const t = r.debugPerformanceEnabled ? performance.now() : 0;
|
|
16133
16158
|
return r.physicsEngine.update({
|
|
@@ -16149,13 +16174,13 @@ function ic(r, e) {
|
|
|
16149
16174
|
smasherRelease: r.pendingSmasherRelease,
|
|
16150
16175
|
onSmasherArmBreak: () => r.inputManager.forceRelease(),
|
|
16151
16176
|
preserveSmasherCapturedEnemy: r.objectives.getActiveChallenge()?.preset?.preserveSmasherCapturedEnemy === !0,
|
|
16152
|
-
onChallengeFailure: () =>
|
|
16177
|
+
onChallengeFailure: () => lc(r)
|
|
16153
16178
|
}), r.pendingSmasherRelease = null, r.debugPerformanceEnabled ? performance.now() - t : 0;
|
|
16154
16179
|
}
|
|
16155
|
-
function
|
|
16180
|
+
function lc(r) {
|
|
16156
16181
|
r.isChallengeRun() && (r.isRunning = !1, r.isPaused = !1, r.isDeathSequenceActive = !0, r.deathSequenceElapsed = 0, r.inputManager.forceRelease(), r.tutorialOverlay.hide(), r.objectives.cancelActiveChallenge(), r.challengeRunId = null);
|
|
16157
16182
|
}
|
|
16158
|
-
function
|
|
16183
|
+
function cc(r, e) {
|
|
16159
16184
|
if (r.areaDirector.getPhase() !== "boss") return;
|
|
16160
16185
|
const t = r.bossEncounter.update(e, r.core.position);
|
|
16161
16186
|
if (t) {
|
|
@@ -16164,7 +16189,7 @@ function nc(r, e) {
|
|
|
16164
16189
|
}
|
|
16165
16190
|
r.updateBossMinionReentryPaths(), r.updateBossExposureBurst(e), r.processSmasherBossImpact(), r.processBossImpacts(), r.finishBossIfDefeated();
|
|
16166
16191
|
}
|
|
16167
|
-
function
|
|
16192
|
+
function dc(r) {
|
|
16168
16193
|
r.coreRoster.recordSkillEvent("kill"), r.combo.value >= 2 && r.coreRoster.recordSkillEvent("combo", r.combo.value), r.combo.value >= 2 && r.objectives.record({
|
|
16169
16194
|
type: "combo",
|
|
16170
16195
|
amount: r.combo.value,
|
|
@@ -16181,7 +16206,7 @@ function sc(r) {
|
|
|
16181
16206
|
size: 22
|
|
16182
16207
|
}));
|
|
16183
16208
|
}
|
|
16184
|
-
function
|
|
16209
|
+
function uc(r) {
|
|
16185
16210
|
if (r.bossEncounter.getPhase() !== "inactive") return;
|
|
16186
16211
|
const e = r.areaDirector.getArea().bossId;
|
|
16187
16212
|
if (!e) return;
|
|
@@ -16197,20 +16222,20 @@ function lc(r) {
|
|
|
16197
16222
|
targetCandidates: r.waveDirector.getBossTentacleTargets()
|
|
16198
16223
|
}), r.bossCodex.recordEncounter(t.id), r.bossCodex.recordPhase(t.id, 1), r.juice.triggerFlash(0.85), r.juice.triggerScreenShake({ x: 0, y: 1 }, 26);
|
|
16199
16224
|
}
|
|
16200
|
-
function
|
|
16225
|
+
function hc(r) {
|
|
16201
16226
|
r.enemies = [], r.pools = [], r.vortices = [], r.shockwaves = [], r.experienceOrbs = [], r.inputManager.forceRelease();
|
|
16202
16227
|
}
|
|
16203
|
-
function
|
|
16228
|
+
function pc(r) {
|
|
16204
16229
|
if (r.bossEncounter.getPhase() === "inactive") return;
|
|
16205
16230
|
let e = !1;
|
|
16206
16231
|
for (const t of r.enemies) {
|
|
16207
|
-
if (!
|
|
16232
|
+
if (!mc(t)) continue;
|
|
16208
16233
|
const a = r.bossEncounter.hit(t.position, t.type, r.core.position);
|
|
16209
16234
|
a !== "none" && (vt(r, t.position, t.color, a), t.isThrown = !1, t.triggerDissolveDeath(!1), a === "tentacle-broken" && r.bossEncounter.getPhase() === "exposed" && (e = !0));
|
|
16210
16235
|
}
|
|
16211
16236
|
e && r.releaseBossExposureBurst();
|
|
16212
16237
|
}
|
|
16213
|
-
function
|
|
16238
|
+
function mc(r) {
|
|
16214
16239
|
return r.active && r.isThrown && !r.isDying;
|
|
16215
16240
|
}
|
|
16216
16241
|
function vt(r, e, t, a) {
|
|
@@ -16229,17 +16254,17 @@ function vt(r, e, t, a) {
|
|
|
16229
16254
|
}
|
|
16230
16255
|
a === "boss-damaged" && r.juice.triggerScreenShake({ x: 0, y: 1 }, 12), a === "defeated" && r.juice.triggerFlash(1);
|
|
16231
16256
|
}
|
|
16232
|
-
function
|
|
16233
|
-
if (!
|
|
16257
|
+
function gc(r) {
|
|
16258
|
+
if (!yc(r)) return;
|
|
16234
16259
|
const e = r.inputManager.grabbedEnemy;
|
|
16235
16260
|
if (!e || !e.active || e.isDying) return;
|
|
16236
16261
|
const t = r.bossEncounter.hit(e.position, e.type, r.core.position);
|
|
16237
|
-
t !== "none" && (r.smasherBossImpactCooldown = 0.28, vt(r, e.position, e.color, t),
|
|
16262
|
+
t !== "none" && (r.smasherBossImpactCooldown = 0.28, vt(r, e.position, e.color, t), Ec(r, e, t), vc(r, e, t));
|
|
16238
16263
|
}
|
|
16239
|
-
function
|
|
16264
|
+
function yc(r) {
|
|
16240
16265
|
return r.coreInteraction.getMechanic() === "smasher" && r.smasherBossImpactCooldown <= 0;
|
|
16241
16266
|
}
|
|
16242
|
-
function
|
|
16267
|
+
function Ec(r, e, t) {
|
|
16243
16268
|
r.juice.triggerHitstop(0.08), r.juice.triggerFlash(t === "area-impact" ? 0.25 : 0.5), r.juice.triggerScreenShake(
|
|
16244
16269
|
{
|
|
16245
16270
|
x: e.position.x - r.core.position.x,
|
|
@@ -16248,7 +16273,7 @@ function mc(r, e, t) {
|
|
|
16248
16273
|
t === "area-impact" ? 8 : 14
|
|
16249
16274
|
);
|
|
16250
16275
|
}
|
|
16251
|
-
function
|
|
16276
|
+
function vc(r, e, t) {
|
|
16252
16277
|
if (t === "tentacle-broken" && r.bossEncounter.getPhase() === "exposed" && r.releaseBossExposureBurst(), !r.core.consumeSmasherImpact()) return;
|
|
16253
16278
|
r.core.startSmasherRetraction(e.position, e.color);
|
|
16254
16279
|
const a = r.inputManager.releaseGrabbedEnemy();
|
|
@@ -16299,7 +16324,7 @@ class ft {
|
|
|
16299
16324
|
}, !0;
|
|
16300
16325
|
}
|
|
16301
16326
|
}
|
|
16302
|
-
class
|
|
16327
|
+
class fc {
|
|
16303
16328
|
id;
|
|
16304
16329
|
radius = 17;
|
|
16305
16330
|
interactionRadius = 132;
|
|
@@ -16335,10 +16360,10 @@ class yc {
|
|
|
16335
16360
|
}
|
|
16336
16361
|
}
|
|
16337
16362
|
}
|
|
16338
|
-
function
|
|
16363
|
+
function xc(r, e) {
|
|
16339
16364
|
return e === "area-impact" ? 290 : e === "defeated" ? 360 : 210;
|
|
16340
16365
|
}
|
|
16341
|
-
function
|
|
16366
|
+
function Sc(r) {
|
|
16342
16367
|
r.bossExposureBurstRemaining = 26, r.bossExposureBurstAccumulator = 0.22, r.bossExposureBurstSide = 1;
|
|
16343
16368
|
const e = r.bossEncounter.getBossPosition(r.core.position);
|
|
16344
16369
|
r.shockwaves.push({
|
|
@@ -16352,7 +16377,7 @@ function vc(r) {
|
|
|
16352
16377
|
maxLifetime: 1.2
|
|
16353
16378
|
}), r.juice.triggerFlash(0.75), r.juice.triggerScreenShake({ x: 0, y: 1 }, 42);
|
|
16354
16379
|
}
|
|
16355
|
-
function
|
|
16380
|
+
function bc(r, e) {
|
|
16356
16381
|
if (r.bossEncounter.getPhase() !== "exposed") {
|
|
16357
16382
|
r.resetBossExposureBurst();
|
|
16358
16383
|
return;
|
|
@@ -16368,30 +16393,30 @@ function fc(r, e) {
|
|
|
16368
16393
|
i && (r.enemies.push(i), r.recordEnemyObservation(i)), r.bossExposureBurstRemaining -= 1;
|
|
16369
16394
|
}
|
|
16370
16395
|
}
|
|
16371
|
-
function
|
|
16396
|
+
function Cc(r) {
|
|
16372
16397
|
for (const e of r.enemies)
|
|
16373
|
-
|
|
16398
|
+
Ac(r, e) && Tc(r, e);
|
|
16374
16399
|
}
|
|
16375
|
-
function
|
|
16376
|
-
return
|
|
16400
|
+
function Ac(r, e) {
|
|
16401
|
+
return Ic(e) && Rc(r, e);
|
|
16377
16402
|
}
|
|
16378
|
-
function
|
|
16403
|
+
function Ic(r) {
|
|
16379
16404
|
return r.active && r.bossLaunchPhase === "outbound" && !r.isGrabbed && !r.isThrown && !r.wasManipulated;
|
|
16380
16405
|
}
|
|
16381
|
-
function
|
|
16406
|
+
function Rc(r, e) {
|
|
16382
16407
|
return e.position.x < -90 || e.position.x > r.canvas.width + 90 || e.position.y < -90 || e.position.y > r.canvas.height + 90;
|
|
16383
16408
|
}
|
|
16384
|
-
function
|
|
16409
|
+
function Tc(r, e) {
|
|
16385
16410
|
const t = {
|
|
16386
16411
|
x: r.core.position.x + (Math.random() - 0.5) * 140,
|
|
16387
16412
|
y: r.core.position.y + (Math.random() - 0.5) * 140
|
|
16388
16413
|
}, a = Math.atan2(t.y - e.position.y, t.x - e.position.x), i = Math.max(260, e.maxSpeed * 1.8);
|
|
16389
16414
|
e.bossLaunchPhase = "reentry", e.velocity = { x: Math.cos(a) * i, y: Math.sin(a) * i }, e.launchDelay = 0.05;
|
|
16390
16415
|
}
|
|
16391
|
-
function
|
|
16416
|
+
function wc(r) {
|
|
16392
16417
|
r.bossExposureBurstRemaining = 0, r.bossExposureBurstAccumulator = 0, r.bossExposureBurstSide = 1;
|
|
16393
16418
|
}
|
|
16394
|
-
function
|
|
16419
|
+
function kc(r) {
|
|
16395
16420
|
if (r.bossEncounter.getPhase() !== "defeated") return;
|
|
16396
16421
|
const e = r.areaDirector.getArea().bossId;
|
|
16397
16422
|
if (!e) return;
|
|
@@ -16402,9 +16427,9 @@ function Rc(r) {
|
|
|
16402
16427
|
coreId: r.coreRoster.getSelectedCoreId()
|
|
16403
16428
|
}), r.areaDirector.beginReward(), r.bossCodex.recordVictory(e);
|
|
16404
16429
|
const a = r.getBossRewardPosition();
|
|
16405
|
-
r.bossCatalyst = new
|
|
16430
|
+
r.bossCatalyst = new fc(a), Pc(r, a, t.ecosomaDropMin, t.ecosomaDropMax), Mc(r);
|
|
16406
16431
|
}
|
|
16407
|
-
function
|
|
16432
|
+
function Pc(r, e, t, a) {
|
|
16408
16433
|
const i = Math.max(3, Math.floor(t ?? 3)), o = Math.max(i, Math.floor(a ?? 5)), n = i + Math.floor(Math.random() * (o - i + 1));
|
|
16409
16434
|
for (let s = 0; s < n; s++) {
|
|
16410
16435
|
const l = s * Math.PI * 2 / n, c = 24 + Math.random() * 28;
|
|
@@ -16416,30 +16441,30 @@ function Tc(r, e, t, a) {
|
|
|
16416
16441
|
);
|
|
16417
16442
|
}
|
|
16418
16443
|
}
|
|
16419
|
-
function
|
|
16444
|
+
function Mc(r) {
|
|
16420
16445
|
r.enemies = [], r.pools = [], r.vortices = [], r.shockwaves = [], r.repelProjectiles = [], r.bossEncounter.reset(), r.resetBossExposureBurst(), r.juice.triggerFlash(1);
|
|
16421
16446
|
}
|
|
16422
|
-
function
|
|
16447
|
+
function Dc(r) {
|
|
16423
16448
|
const e = r.bossEncounter.getBossPosition(r.core.position), t = e.x - r.core.position.x, a = e.y - r.core.position.y, i = Math.hypot(t, a), o = Math.min(r.canvas.width, r.canvas.height) * 0.3, n = i > o ? o / i : 1, s = 28;
|
|
16424
16449
|
return {
|
|
16425
16450
|
x: Math.max(s, Math.min(r.canvas.width - s, r.core.position.x + t * n)),
|
|
16426
16451
|
y: Math.max(s, Math.min(r.canvas.height - s, r.core.position.y + a * n))
|
|
16427
16452
|
};
|
|
16428
16453
|
}
|
|
16429
|
-
function
|
|
16454
|
+
function Oc(r, e) {
|
|
16430
16455
|
if (r.bossCatalyst?.active && (r.tryCollectCatalyst(), r.bossCatalyst.update(e, r.core.position, r.core.getHitboxRadius()), !r.bossCatalyst.active && r.bossCatalyst.absorbedByCore)) {
|
|
16431
16456
|
const t = r.areaDirector.getArea().bossId;
|
|
16432
16457
|
t && r.bossCodex.recordDropCollected(t), r.areaDirector.beginTransition(), r.areaTransitionElapsed = 0, r.juice.triggerFlash(0.75);
|
|
16433
16458
|
}
|
|
16434
16459
|
r.updateEcosomaOrbs(e), r.juice.update(e, r.floatingTexts, r.particles);
|
|
16435
16460
|
}
|
|
16436
|
-
function
|
|
16461
|
+
function Nc(r) {
|
|
16437
16462
|
const e = r.bossCatalyst;
|
|
16438
16463
|
if (!e || !e.active || e.isAbsorbing) return;
|
|
16439
16464
|
const t = r.configManager.getConfig().magnet, a = Math.hypot(r.core.position.x - e.position.x, r.core.position.y - e.position.y), i = Math.hypot(r.inputManager.pointerPosition.x - e.position.x, r.inputManager.pointerPosition.y - e.position.y);
|
|
16440
16465
|
(a <= r.core.getHitboxRadius() + t.corePickupRadius || i <= Math.max(t.psionicRadius + t.pickupRadius + e.radius, e.interactionRadius)) && e.beginAbsorption();
|
|
16441
16466
|
}
|
|
16442
|
-
function
|
|
16467
|
+
function Lc(r, e) {
|
|
16443
16468
|
if (r.areaTransitionElapsed = Math.min(r.areaTransitionDuration, r.areaTransitionElapsed + Math.max(0, e)), r.updateEcosomaOrbs(e), !(r.areaTransitionElapsed < r.areaTransitionDuration) && r.areaDirector.completeTransition()) {
|
|
16444
16469
|
const t = r.areaDirector.getArea();
|
|
16445
16470
|
r.coreRoster.setRunArea(t.areaNumber ?? 1, t.experienceMultiplier), r.coreRoster.recordSkillEvent("area"), r.objectives.record({
|
|
@@ -16449,15 +16474,15 @@ function Dc(r, e) {
|
|
|
16449
16474
|
}), r.waveDirector.setArea(t), r.areaIntroElapsed = 0, r.bossEncounter.reset(), r.bossCatalyst = null, r.clearArenaForBoss(), r.juice.triggerFlash(0.65);
|
|
16450
16475
|
}
|
|
16451
16476
|
}
|
|
16452
|
-
const
|
|
16477
|
+
const _c = (r, e, t) => `${Math.floor(r / t)}:${Math.floor(e / t)}`, xt = (r, e) => {
|
|
16453
16478
|
const t = /* @__PURE__ */ new Map();
|
|
16454
16479
|
for (const a of r) {
|
|
16455
16480
|
if (!a.active || a.isAbsorbing || a.isMerging) continue;
|
|
16456
|
-
const i =
|
|
16481
|
+
const i = _c(a.position.x, a.position.y, e), o = t.get(i);
|
|
16457
16482
|
o ? o.push(a) : t.set(i, [a]);
|
|
16458
16483
|
}
|
|
16459
16484
|
return t;
|
|
16460
|
-
}, ee = (r) => !r.active || r.isAbsorbing || r.isMerging,
|
|
16485
|
+
}, ee = (r) => !r.active || r.isAbsorbing || r.isMerging, jc = (r, e) => {
|
|
16461
16486
|
if (r.length < 2 || e <= 0) return;
|
|
16462
16487
|
const t = xt(r, e);
|
|
16463
16488
|
for (const a of r) {
|
|
@@ -16466,18 +16491,18 @@ const Oc = (r, e, t) => `${Math.floor(r / t)}:${Math.floor(e / t)}`, xt = (r, e)
|
|
|
16466
16491
|
for (let n = -1; n <= 1; n++)
|
|
16467
16492
|
for (let s = -1; s <= 1; s++) {
|
|
16468
16493
|
const l = t.get(`${i + n}:${o + s}`);
|
|
16469
|
-
l &&
|
|
16494
|
+
l && Bc(a, l, e);
|
|
16470
16495
|
}
|
|
16471
16496
|
}
|
|
16472
|
-
},
|
|
16497
|
+
}, Bc = (r, e, t) => {
|
|
16473
16498
|
for (const a of e) {
|
|
16474
16499
|
if (a === r || ee(a)) continue;
|
|
16475
16500
|
const i = Math.hypot(a.position.x - r.position.x, a.position.y - r.position.y), o = Math.min(12, Math.max(0, Math.max(r.radius, a.radius) - r.getBaseRadius()));
|
|
16476
16501
|
i <= t + o && r.mergeWith(a);
|
|
16477
16502
|
}
|
|
16478
|
-
},
|
|
16503
|
+
}, Hc = (r, e, t) => {
|
|
16479
16504
|
const a = e.magneticAttractionDistance;
|
|
16480
|
-
if (!
|
|
16505
|
+
if (!Uc(r, e)) return;
|
|
16481
16506
|
const i = xt(r, a);
|
|
16482
16507
|
for (const o of r) {
|
|
16483
16508
|
if (ee(o)) continue;
|
|
@@ -16485,7 +16510,7 @@ const Oc = (r, e, t) => `${Math.floor(r / t)}:${Math.floor(e / t)}`, xt = (r, e)
|
|
|
16485
16510
|
for (let l = -1; l <= 1; l++)
|
|
16486
16511
|
for (let c = -1; c <= 1; c++) {
|
|
16487
16512
|
const d = i.get(`${n + l}:${s + c}`);
|
|
16488
|
-
d &&
|
|
16513
|
+
d && zc({
|
|
16489
16514
|
orb: o,
|
|
16490
16515
|
bucket: d,
|
|
16491
16516
|
distanceLimit: a,
|
|
@@ -16494,7 +16519,7 @@ const Oc = (r, e, t) => `${Math.floor(r / t)}:${Math.floor(e / t)}`, xt = (r, e)
|
|
|
16494
16519
|
});
|
|
16495
16520
|
}
|
|
16496
16521
|
}
|
|
16497
|
-
},
|
|
16522
|
+
}, Uc = (r, e) => r.length >= 2 && e.magneticAttractionDistance > 0 && e.magneticAttractionStrength > 0, zc = (r) => {
|
|
16498
16523
|
const { orb: e, bucket: t, distanceLimit: a, strength: i, dt: o } = r;
|
|
16499
16524
|
for (const n of t) {
|
|
16500
16525
|
if (n === e || ee(n) || n.id <= e.id) continue;
|
|
@@ -16503,12 +16528,12 @@ const Oc = (r, e, t) => `${Math.floor(r / t)}:${Math.floor(e / t)}`, xt = (r, e)
|
|
|
16503
16528
|
const d = i * (1 - c / a) ** 2 * o, u = s / c, h = l / c;
|
|
16504
16529
|
e.velocity.x += u * d, e.velocity.y += h * d, n.velocity.x -= u * d, n.velocity.y -= h * d;
|
|
16505
16530
|
}
|
|
16506
|
-
},
|
|
16531
|
+
}, Kc = (r, e) => {
|
|
16507
16532
|
const t = Math.log2(r), a = Math.min(e.maxRadius, e.baseRadius + t * e.radiusGrowthPerLevel);
|
|
16508
16533
|
let i = p.experience;
|
|
16509
16534
|
return r >= e.blueThreshold && (i = p.experienceBlue), r >= e.yellowThreshold && (i = p.experienceYellow), r >= e.redThreshold && (i = p.experienceRed), { radius: a, color: i };
|
|
16510
16535
|
};
|
|
16511
|
-
class
|
|
16536
|
+
class Fc {
|
|
16512
16537
|
constructor(e) {
|
|
16513
16538
|
this.config = e;
|
|
16514
16539
|
}
|
|
@@ -16539,7 +16564,7 @@ class Uc {
|
|
|
16539
16564
|
return e.velocity = { x: o / s * l, y: n / s * l }, !1;
|
|
16540
16565
|
}
|
|
16541
16566
|
}
|
|
16542
|
-
const
|
|
16567
|
+
const Gc = {
|
|
16543
16568
|
mergeDistance: 34,
|
|
16544
16569
|
magneticAttractionDistance: 190,
|
|
16545
16570
|
magneticAttractionStrength: 900,
|
|
@@ -16566,8 +16591,8 @@ class be {
|
|
|
16566
16591
|
absorbedByCore = !1;
|
|
16567
16592
|
config;
|
|
16568
16593
|
lifecycle;
|
|
16569
|
-
constructor(e, t = 1, a =
|
|
16570
|
-
this.id = `xp_${Date.now()}_${Math.random()}`, this.position = { ...e }, this.value = Math.max(1, t), this.config = a, this.lifecycle = new
|
|
16594
|
+
constructor(e, t = 1, a = Gc) {
|
|
16595
|
+
this.id = `xp_${Date.now()}_${Math.random()}`, this.position = { ...e }, this.value = Math.max(1, t), this.config = a, this.lifecycle = new Fc(a), this.radius = a.baseRadius, this.color = p.experience, this.updateAppearance();
|
|
16571
16596
|
const i = Math.random() * Math.PI * 2, o = 25 + Math.random() * 45;
|
|
16572
16597
|
this.velocity = {
|
|
16573
16598
|
x: Math.cos(i) * o,
|
|
@@ -16575,10 +16600,10 @@ class be {
|
|
|
16575
16600
|
};
|
|
16576
16601
|
}
|
|
16577
16602
|
static mergeNearby(e, t) {
|
|
16578
|
-
|
|
16603
|
+
jc(e, t);
|
|
16579
16604
|
}
|
|
16580
16605
|
static attractNearby(e, t, a) {
|
|
16581
|
-
|
|
16606
|
+
Hc(e, t, a);
|
|
16582
16607
|
}
|
|
16583
16608
|
beginAbsorption() {
|
|
16584
16609
|
this.active && (this.isAbsorbing = !0);
|
|
@@ -16611,7 +16636,7 @@ class be {
|
|
|
16611
16636
|
}
|
|
16612
16637
|
}
|
|
16613
16638
|
updateAppearance() {
|
|
16614
|
-
const e =
|
|
16639
|
+
const e = Kc(this.value, this.config);
|
|
16615
16640
|
this.radius = e.radius, this.color = e.color;
|
|
16616
16641
|
}
|
|
16617
16642
|
getBaseRadius() {
|
|
@@ -16638,22 +16663,22 @@ class St {
|
|
|
16638
16663
|
this.active && !this.isGrabbed && !this.isHovered && (this.orbitAngle += e * 0.25, this.position.x = t.x + Math.cos(this.orbitAngle) * this.orbitDistance, this.position.y = t.y + Math.sin(this.orbitAngle) * this.orbitDistance);
|
|
16639
16664
|
}
|
|
16640
16665
|
}
|
|
16641
|
-
function
|
|
16666
|
+
function Vc(r, e) {
|
|
16642
16667
|
r.objectives.record({
|
|
16643
16668
|
type: "level-reached",
|
|
16644
16669
|
amount: e,
|
|
16645
16670
|
coreId: r.coreRoster.getSelectedCoreId()
|
|
16646
16671
|
}), r.pendingLevelUps.push(e), r.isLevelUpActive || r.presentNextLevelUp();
|
|
16647
16672
|
}
|
|
16648
|
-
function
|
|
16673
|
+
function Wc(r) {
|
|
16649
16674
|
const e = r.pendingLevelUps.shift();
|
|
16650
16675
|
if (e === void 0) {
|
|
16651
16676
|
r.isLevelUpActive = !1;
|
|
16652
16677
|
return;
|
|
16653
16678
|
}
|
|
16654
|
-
r.isLevelUpActive = !0, r.inputManager.forceRelease(), r.juice.triggerFlash(0.3), r.juice.triggerScreenShake({ x: 0, y: 1 }, 8),
|
|
16679
|
+
r.isLevelUpActive = !0, r.inputManager.forceRelease(), r.juice.triggerFlash(0.3), r.juice.triggerScreenShake({ x: 0, y: 1 }, 8), qc(r, e), r.orbitingOrbs = $c(r), r.rerollsRemaining = r.isChallengeRun() ? 0 : r.getRerollLimit();
|
|
16655
16680
|
}
|
|
16656
|
-
function
|
|
16681
|
+
function qc(r, e) {
|
|
16657
16682
|
r.floatingTexts.push({
|
|
16658
16683
|
id: Math.random().toString(),
|
|
16659
16684
|
text: r.i18n.translate("levelUpChoose", { level: e }),
|
|
@@ -16679,11 +16704,11 @@ function Gc(r, e) {
|
|
|
16679
16704
|
});
|
|
16680
16705
|
}
|
|
16681
16706
|
}
|
|
16682
|
-
function
|
|
16707
|
+
function $c(r) {
|
|
16683
16708
|
const e = r.powerUpRegistry.getRandomOptions(3, r.geneticMemory, r.waveDirector.getAvailableEnemyIds(), r.coreRoster.getSelectedCoreId());
|
|
16684
16709
|
return e.map((t, a) => new St("orb_" + Date.now() + "_" + a, t, a * Math.PI * 2 / e.length));
|
|
16685
16710
|
}
|
|
16686
|
-
function
|
|
16711
|
+
function Yc(r) {
|
|
16687
16712
|
for (const e of r.enemies)
|
|
16688
16713
|
e.experienceDropPending && (e.experienceDropPending = !1, r.codex.recordKill(e.type, e.codexDeathSourceType), r.objectives.record({
|
|
16689
16714
|
type: "enemy-defeated",
|
|
@@ -16692,13 +16717,13 @@ function Wc(r) {
|
|
|
16692
16717
|
coreId: r.coreRoster.getSelectedCoreId()
|
|
16693
16718
|
}), r.experienceOrbs.push(new be(e.position, 1, r.configManager.getConfig().experience)), r.getEcosomaDropPolicy().shouldDrop(r.progressBar.getLevel()) && r.ecosomaOrbs.push(new ft(e.position)));
|
|
16694
16719
|
}
|
|
16695
|
-
function
|
|
16720
|
+
function Zc(r, e) {
|
|
16696
16721
|
r.codex.recordSeen(e.type), e.variantId && r.isEnemyVisible(e) && r.codex.recordVariant(e.type, e.variantId);
|
|
16697
16722
|
}
|
|
16698
|
-
function
|
|
16723
|
+
function Jc(r, e) {
|
|
16699
16724
|
for (const t of e) t.active && !t.isDying && r.recordEnemyObservation(t);
|
|
16700
16725
|
}
|
|
16701
|
-
function
|
|
16726
|
+
function Xc(r, e) {
|
|
16702
16727
|
const t = e.getHitRadius();
|
|
16703
16728
|
return e.position.x >= -t && e.position.x <= r.canvas.width + t && e.position.y >= -t && e.position.y <= r.canvas.height + t;
|
|
16704
16729
|
}
|
|
@@ -16714,26 +16739,26 @@ class Ze {
|
|
|
16714
16739
|
return t >= 0 && t < this.getChance(e);
|
|
16715
16740
|
}
|
|
16716
16741
|
}
|
|
16717
|
-
function
|
|
16742
|
+
function Qc(r, e) {
|
|
16718
16743
|
const t = r.configManager.getConfig();
|
|
16719
16744
|
be.attractNearby(r.experienceOrbs, t.experience, e), be.mergeNearby(r.experienceOrbs, t.experience.mergeDistance);
|
|
16720
|
-
for (const a of r.experienceOrbs)
|
|
16745
|
+
for (const a of r.experienceOrbs) ed(r, a, e, t.magnet);
|
|
16721
16746
|
r.experienceOrbs = r.experienceOrbs.filter((a) => a.active);
|
|
16722
16747
|
}
|
|
16723
|
-
function
|
|
16748
|
+
function ed(r, e, t, a) {
|
|
16724
16749
|
if (e.active) {
|
|
16725
16750
|
if (e.isMerging) {
|
|
16726
16751
|
e.update(t, r.core.position, r.core.getHitboxRadius(), a.absorptionSpeed);
|
|
16727
16752
|
return;
|
|
16728
16753
|
}
|
|
16729
|
-
|
|
16754
|
+
td(r, e, a) && e.beginAbsorption(), e.update(t, r.core.position, r.core.getHitboxRadius(), a.absorptionSpeed), !e.active && e.absorbedByCore && rd(r, e);
|
|
16730
16755
|
}
|
|
16731
16756
|
}
|
|
16732
|
-
function
|
|
16757
|
+
function td(r, e, t) {
|
|
16733
16758
|
const a = Math.hypot(r.core.position.x - e.position.x, r.core.position.y - e.position.y), i = Math.hypot(r.inputManager.pointerPosition.x - e.position.x, r.inputManager.pointerPosition.y - e.position.y);
|
|
16734
16759
|
return a <= r.core.getHitboxRadius() + t.corePickupRadius || i <= t.psionicRadius + t.pickupRadius + e.radius;
|
|
16735
16760
|
}
|
|
16736
|
-
function
|
|
16761
|
+
function rd(r, e) {
|
|
16737
16762
|
r.progressBar.addExperience(e.value), r.juice.triggerFlash(0.12), r.floatingTexts.push({
|
|
16738
16763
|
id: Math.random().toString(),
|
|
16739
16764
|
text: r.i18n.translate("experienceCollected", { amount: e.value }),
|
|
@@ -16746,14 +16771,14 @@ function Qc(r, e) {
|
|
|
16746
16771
|
size: 18
|
|
16747
16772
|
});
|
|
16748
16773
|
}
|
|
16749
|
-
function
|
|
16774
|
+
function ad(r, e) {
|
|
16750
16775
|
const { magnet: t, ecosoma: a } = r.configManager.getConfig();
|
|
16751
|
-
for (const i of r.ecosomaOrbs)
|
|
16776
|
+
for (const i of r.ecosomaOrbs) id({ engine: r, orb: i, dt: e, magnet: t, ecosoma: a });
|
|
16752
16777
|
r.ecosomaOrbs = r.ecosomaOrbs.filter((i) => i.active);
|
|
16753
16778
|
}
|
|
16754
|
-
function
|
|
16779
|
+
function id(r) {
|
|
16755
16780
|
const { engine: e, orb: t, dt: a, magnet: i, ecosoma: o } = r;
|
|
16756
|
-
t.active && (
|
|
16781
|
+
t.active && (od(e, t, i) && t.beginAbsorption(), t.update(a, e.core.position, e.core.getHitboxRadius(), o), !t.active && t.absorbedByCore && (e.geneticMemory.collectEcosoma(t.value), e.objectives.record({ type: "ecosoma-collected", amount: t.value }), e.juice.triggerFlash(0.18), e.floatingTexts.push({
|
|
16757
16782
|
id: Math.random().toString(),
|
|
16758
16783
|
text: e.i18n.translate("ecosomaCollected", { amount: t.value }),
|
|
16759
16784
|
position: { ...e.core.position },
|
|
@@ -16765,11 +16790,11 @@ function td(r) {
|
|
|
16765
16790
|
size: 17
|
|
16766
16791
|
})));
|
|
16767
16792
|
}
|
|
16768
|
-
function
|
|
16793
|
+
function od(r, e, t) {
|
|
16769
16794
|
const a = Math.hypot(r.core.position.x - e.position.x, r.core.position.y - e.position.y), i = Math.hypot(r.inputManager.pointerPosition.x - e.position.x, r.inputManager.pointerPosition.y - e.position.y);
|
|
16770
16795
|
return a <= r.core.getHitboxRadius() + t.corePickupRadius || i <= t.psionicRadius + t.pickupRadius + e.radius;
|
|
16771
16796
|
}
|
|
16772
|
-
function
|
|
16797
|
+
function nd(r) {
|
|
16773
16798
|
const e = r.configManager.getConfig().ecosoma;
|
|
16774
16799
|
return r.debugPerformanceEnabled ? new Ze({
|
|
16775
16800
|
...e,
|
|
@@ -16778,7 +16803,7 @@ function ad(r) {
|
|
|
16778
16803
|
maxDropChance: $e
|
|
16779
16804
|
}) : new Ze(e);
|
|
16780
16805
|
}
|
|
16781
|
-
function
|
|
16806
|
+
function sd(r) {
|
|
16782
16807
|
if (r.rerollsRemaining <= 0) return;
|
|
16783
16808
|
r.rerollsRemaining -= 1, r.juice.triggerFlash(0.4);
|
|
16784
16809
|
const e = r.powerUpRegistry.getRandomOptions(3, r.geneticMemory, r.waveDirector.getAvailableEnemyIds(), r.coreRoster.getSelectedCoreId());
|
|
@@ -16787,11 +16812,11 @@ function id(r) {
|
|
|
16787
16812
|
return new St(`orb_${Date.now()}_${a}`, t, i);
|
|
16788
16813
|
});
|
|
16789
16814
|
}
|
|
16790
|
-
function
|
|
16815
|
+
function ld(r) {
|
|
16791
16816
|
const e = r.debugPerformanceEnabled ? performance.now() : 0;
|
|
16792
|
-
r.renderer.render(
|
|
16817
|
+
r.renderer.render(cd(r)), ud(r), r.performanceAudit.finishRender(e);
|
|
16793
16818
|
}
|
|
16794
|
-
function
|
|
16819
|
+
function cd(r) {
|
|
16795
16820
|
const e = {
|
|
16796
16821
|
core: r.core,
|
|
16797
16822
|
enemies: r.getRenderList(),
|
|
@@ -16810,13 +16835,13 @@ function nd(r) {
|
|
|
16810
16835
|
experienceProgress: r.progressBar.getProgress(),
|
|
16811
16836
|
levelUpPulse: r.progressBar.getLevelUpPulse(),
|
|
16812
16837
|
levelUpActive: r.isLevelUpActive,
|
|
16813
|
-
areaVisual:
|
|
16838
|
+
areaVisual: dd(r),
|
|
16814
16839
|
boss: r.bossEncounter.getSnapshot(r.core.position),
|
|
16815
16840
|
bossCatalyst: r.bossCatalyst
|
|
16816
16841
|
};
|
|
16817
16842
|
return r.isRunning && r.interactiveTutorial.isActive && (e.tutorial = r.interactiveTutorial), r.isDeathSequenceActive && (e.deathSequenceProgress = r.deathSequenceElapsed / ye), e;
|
|
16818
16843
|
}
|
|
16819
|
-
function
|
|
16844
|
+
function dd(r) {
|
|
16820
16845
|
const e = r.areaDirector.getPhase();
|
|
16821
16846
|
return {
|
|
16822
16847
|
areaId: r.areaDirector.getAreaId(),
|
|
@@ -16828,7 +16853,7 @@ function sd(r) {
|
|
|
16828
16853
|
entryProgress: r.isRunning && e === "area" ? Math.min(1, r.areaIntroElapsed / Q) : 1
|
|
16829
16854
|
};
|
|
16830
16855
|
}
|
|
16831
|
-
function
|
|
16856
|
+
function ud(r) {
|
|
16832
16857
|
r.isLevelUpActive && r.orbitingOrbs.length > 0 && r.renderer.drawings.drawOrbitingModifierOrbs({
|
|
16833
16858
|
orbs: r.orbitingOrbs,
|
|
16834
16859
|
time: r.core.pulsePhase,
|
|
@@ -16837,207 +16862,207 @@ function ld(r) {
|
|
|
16837
16862
|
rerollsRemaining: r.rerollsRemaining
|
|
16838
16863
|
});
|
|
16839
16864
|
}
|
|
16840
|
-
function
|
|
16865
|
+
function hd(r) {
|
|
16841
16866
|
return r.isRunning ? r.enemies : r.isDeathSequenceActive ? [] : r.ambientEnemies;
|
|
16842
16867
|
}
|
|
16843
|
-
function
|
|
16868
|
+
function pd(r) {
|
|
16844
16869
|
return r.debugRerollsEnabled ? 99 : 1;
|
|
16845
16870
|
}
|
|
16846
|
-
function
|
|
16871
|
+
function md(r, e = !1) {
|
|
16847
16872
|
if (!e && r.objectives.getSnapshots("mission").length > 0) return;
|
|
16848
16873
|
const t = r.missionGenerator.generate();
|
|
16849
16874
|
t && r.objectives.installMission(t);
|
|
16850
16875
|
}
|
|
16851
|
-
function
|
|
16876
|
+
function gd(r) {
|
|
16852
16877
|
if (!r.objectives.canRerollMission()) return;
|
|
16853
16878
|
const e = r.missionGenerator.generate();
|
|
16854
16879
|
e && r.objectives.rerollMission(e);
|
|
16855
16880
|
}
|
|
16856
|
-
function
|
|
16881
|
+
function yd(r) {
|
|
16857
16882
|
r.missionsDrawer.setAvailable(!0), r.startMenu.show();
|
|
16858
16883
|
}
|
|
16859
|
-
function
|
|
16860
|
-
r.objectives.startChallenge(e, r.coreRoster.getSelectedCoreId()) && (r.challengeRunId = e, r.challengesOverlay.hide(), r.startGame());
|
|
16884
|
+
function Ed(r, e) {
|
|
16885
|
+
r.objectives.startChallenge(e, r.coreRoster.getSelectedCoreId()) && (r.challengeRunId = e, r.challengesOverlay.hide(), r.startGame(), ll(r));
|
|
16861
16886
|
}
|
|
16862
|
-
function
|
|
16887
|
+
function vd(r) {
|
|
16863
16888
|
return r.challengeRunId !== null;
|
|
16864
16889
|
}
|
|
16865
|
-
function
|
|
16890
|
+
function fd(r, e) {
|
|
16866
16891
|
if (e.type === "ecosoma") {
|
|
16867
16892
|
r.geneticMemory.collectEcosoma(e.amount);
|
|
16868
16893
|
return;
|
|
16869
16894
|
}
|
|
16870
16895
|
e.type === "powerup" && r.geneticMemory.grantUnlock(e.unlockId);
|
|
16871
16896
|
}
|
|
16872
|
-
function
|
|
16897
|
+
function xd(r) {
|
|
16873
16898
|
r.gameLoop.stop(), r.performanceAudit.destroy(), r.coreRosterOverlay.destroy(), r.geneticMemoryOverlay.destroy(), r.coreRunSummaryOverlay.destroy(), r.challengeResultOverlay.destroy(), r.challengeCompletionCinematic.destroy(), r.unsubscribeCodex?.(), r.unsubscribeBossCodex?.(), r.unsubscribeCoreRoster?.(), r.codexOverlay.destroy(), r.codexToast.destroy(), r.missionsDrawer.destroy(), r.challengesOverlay.destroy(), r.achievementsOverlay.destroy(), r.objectiveToast.destroy(), r.unsubscribeObjectives?.(), window.removeEventListener("keydown", r.handleLanguageHold), window.removeEventListener("keydown", r.handleDebugAchievement), window.removeEventListener("keyup", r.handleLanguageRelease), r.canvas.remove();
|
|
16874
16899
|
}
|
|
16875
|
-
class
|
|
16900
|
+
class Sd extends cl {
|
|
16876
16901
|
constructor(e) {
|
|
16877
16902
|
super(e);
|
|
16878
16903
|
}
|
|
16879
16904
|
setLanguage(e) {
|
|
16880
|
-
|
|
16905
|
+
dl(this, e);
|
|
16881
16906
|
}
|
|
16882
16907
|
setTheme(e) {
|
|
16883
|
-
|
|
16908
|
+
ul(this, e);
|
|
16884
16909
|
}
|
|
16885
16910
|
getLanguage() {
|
|
16886
|
-
return
|
|
16911
|
+
return hl(this);
|
|
16887
16912
|
}
|
|
16888
16913
|
getTheme() {
|
|
16889
|
-
return
|
|
16914
|
+
return pl(this);
|
|
16890
16915
|
}
|
|
16891
16916
|
onLanguageChanged(e) {
|
|
16892
|
-
|
|
16917
|
+
ml(this);
|
|
16893
16918
|
}
|
|
16894
16919
|
initAmbientArena() {
|
|
16895
|
-
|
|
16920
|
+
gl(this);
|
|
16896
16921
|
}
|
|
16897
16922
|
syncSelectedCorePreview() {
|
|
16898
|
-
|
|
16923
|
+
yl(this);
|
|
16899
16924
|
}
|
|
16900
16925
|
resizeCanvas() {
|
|
16901
|
-
|
|
16926
|
+
El(this);
|
|
16902
16927
|
}
|
|
16903
16928
|
setupEvents() {
|
|
16904
|
-
|
|
16929
|
+
Cl(this);
|
|
16905
16930
|
}
|
|
16906
16931
|
startGame() {
|
|
16907
|
-
|
|
16932
|
+
Dl(this);
|
|
16908
16933
|
}
|
|
16909
16934
|
clearTransientRunState() {
|
|
16910
|
-
|
|
16935
|
+
Bl(this);
|
|
16911
16936
|
}
|
|
16912
16937
|
updateRepelProjectiles(e) {
|
|
16913
|
-
|
|
16938
|
+
Hl(this, e);
|
|
16914
16939
|
}
|
|
16915
16940
|
isRepelProjectileBlocked(e) {
|
|
16916
|
-
return
|
|
16941
|
+
return Fl(this, e);
|
|
16917
16942
|
}
|
|
16918
16943
|
clearTransientRunEntities() {
|
|
16919
|
-
|
|
16944
|
+
Vl(this);
|
|
16920
16945
|
}
|
|
16921
16946
|
updateDeathSequence(e) {
|
|
16922
|
-
|
|
16947
|
+
Wl(this, e);
|
|
16923
16948
|
}
|
|
16924
16949
|
update(e) {
|
|
16925
|
-
|
|
16950
|
+
ql(this, e);
|
|
16926
16951
|
}
|
|
16927
16952
|
handleEnemyKill() {
|
|
16928
|
-
|
|
16953
|
+
dc(this);
|
|
16929
16954
|
}
|
|
16930
16955
|
startBossIfReady() {
|
|
16931
|
-
|
|
16956
|
+
uc(this);
|
|
16932
16957
|
}
|
|
16933
16958
|
clearArenaForBoss() {
|
|
16934
|
-
|
|
16959
|
+
hc(this);
|
|
16935
16960
|
}
|
|
16936
16961
|
processBossImpacts() {
|
|
16937
|
-
|
|
16962
|
+
pc(this);
|
|
16938
16963
|
}
|
|
16939
16964
|
processSmasherBossImpact() {
|
|
16940
|
-
|
|
16965
|
+
gc(this);
|
|
16941
16966
|
}
|
|
16942
16967
|
getBossImpactRadius(e) {
|
|
16943
|
-
return
|
|
16968
|
+
return xc(this, e);
|
|
16944
16969
|
}
|
|
16945
16970
|
releaseBossExposureBurst() {
|
|
16946
|
-
|
|
16971
|
+
Sc(this);
|
|
16947
16972
|
}
|
|
16948
16973
|
updateBossExposureBurst(e) {
|
|
16949
|
-
|
|
16974
|
+
bc(this, e);
|
|
16950
16975
|
}
|
|
16951
16976
|
updateBossMinionReentryPaths() {
|
|
16952
|
-
|
|
16977
|
+
Cc(this);
|
|
16953
16978
|
}
|
|
16954
16979
|
resetBossExposureBurst() {
|
|
16955
|
-
|
|
16980
|
+
wc(this);
|
|
16956
16981
|
}
|
|
16957
16982
|
finishBossIfDefeated() {
|
|
16958
|
-
|
|
16983
|
+
kc(this);
|
|
16959
16984
|
}
|
|
16960
16985
|
getBossRewardPosition() {
|
|
16961
|
-
return
|
|
16986
|
+
return Dc(this);
|
|
16962
16987
|
}
|
|
16963
16988
|
updateBossReward(e) {
|
|
16964
|
-
|
|
16989
|
+
Oc(this, e);
|
|
16965
16990
|
}
|
|
16966
16991
|
tryCollectCatalyst() {
|
|
16967
|
-
|
|
16992
|
+
Nc(this);
|
|
16968
16993
|
}
|
|
16969
16994
|
updateAreaTransition(e) {
|
|
16970
|
-
|
|
16995
|
+
Lc(this, e);
|
|
16971
16996
|
}
|
|
16972
16997
|
triggerLevelUp(e) {
|
|
16973
|
-
|
|
16998
|
+
Vc(this, e);
|
|
16974
16999
|
}
|
|
16975
17000
|
presentNextLevelUp() {
|
|
16976
|
-
|
|
17001
|
+
Wc(this);
|
|
16977
17002
|
}
|
|
16978
17003
|
spawnExperienceDrops() {
|
|
16979
|
-
|
|
17004
|
+
Yc(this);
|
|
16980
17005
|
}
|
|
16981
17006
|
recordEnemyObservation(e) {
|
|
16982
|
-
|
|
17007
|
+
Zc(this, e);
|
|
16983
17008
|
}
|
|
16984
17009
|
recordEnemyObservations(e) {
|
|
16985
|
-
|
|
17010
|
+
Jc(this, e);
|
|
16986
17011
|
}
|
|
16987
17012
|
isEnemyVisible(e) {
|
|
16988
|
-
return
|
|
17013
|
+
return Xc(this, e);
|
|
16989
17014
|
}
|
|
16990
17015
|
updateExperienceOrbs(e) {
|
|
16991
|
-
|
|
17016
|
+
Qc(this, e);
|
|
16992
17017
|
}
|
|
16993
17018
|
updateEcosomaOrbs(e) {
|
|
16994
|
-
|
|
17019
|
+
ad(this, e);
|
|
16995
17020
|
}
|
|
16996
17021
|
getEcosomaDropPolicy() {
|
|
16997
|
-
return
|
|
17022
|
+
return nd(this);
|
|
16998
17023
|
}
|
|
16999
17024
|
triggerReroll() {
|
|
17000
|
-
|
|
17025
|
+
sd(this);
|
|
17001
17026
|
}
|
|
17002
17027
|
render() {
|
|
17003
|
-
|
|
17028
|
+
ld(this);
|
|
17004
17029
|
}
|
|
17005
17030
|
getRenderList() {
|
|
17006
|
-
return
|
|
17031
|
+
return hd(this);
|
|
17007
17032
|
}
|
|
17008
17033
|
getRerollLimit() {
|
|
17009
|
-
return
|
|
17034
|
+
return pd(this);
|
|
17010
17035
|
}
|
|
17011
17036
|
refreshGeneratedMission(e = !1) {
|
|
17012
|
-
|
|
17037
|
+
md(this, e);
|
|
17013
17038
|
}
|
|
17014
17039
|
rerollMission() {
|
|
17015
|
-
|
|
17040
|
+
gd(this);
|
|
17016
17041
|
}
|
|
17017
17042
|
showStartMenu() {
|
|
17018
|
-
|
|
17043
|
+
yd(this);
|
|
17019
17044
|
}
|
|
17020
17045
|
startChallenge(e) {
|
|
17021
|
-
|
|
17046
|
+
Ed(this, e);
|
|
17022
17047
|
}
|
|
17023
17048
|
isChallengeRun() {
|
|
17024
|
-
return
|
|
17049
|
+
return vd(this);
|
|
17025
17050
|
}
|
|
17026
17051
|
applyObjectiveReward(e) {
|
|
17027
|
-
|
|
17052
|
+
fd(this, e);
|
|
17028
17053
|
}
|
|
17029
17054
|
destroy() {
|
|
17030
|
-
|
|
17055
|
+
xd(this);
|
|
17031
17056
|
}
|
|
17032
17057
|
}
|
|
17033
|
-
function
|
|
17034
|
-
return new
|
|
17058
|
+
function bd(r) {
|
|
17059
|
+
return new Sd(r);
|
|
17035
17060
|
}
|
|
17036
17061
|
export {
|
|
17037
17062
|
Za as BrowserPlatform,
|
|
17038
|
-
|
|
17063
|
+
Sd as GameEngine,
|
|
17039
17064
|
Ca as LANGUAGES,
|
|
17040
17065
|
pr as ThemeManager,
|
|
17041
|
-
|
|
17066
|
+
bd as createAxonSurge,
|
|
17042
17067
|
re as isLanguage
|
|
17043
17068
|
};
|