@gamebob/axon-surge 0.10.0 → 0.12.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.
@@ -292,7 +292,8 @@ class $ {
292
292
  for (const s of t) {
293
293
  if (!s.active || s.isGrabbed || s.isThrown || s.wasManipulated) continue;
294
294
  const a = this.pointerPosition.x - s.position.x, l = this.pointerPosition.y - s.position.y;
295
- Math.hypot(a, l) <= s.getHitRadius() + i && (s.isGrabbed = !0, this.grabbedEnemy = s, this.dragStart = { ...this.pointerPosition }, this.pointerHistory = []);
295
+ if (Math.hypot(a, l) <= s.getHitRadius() + i)
296
+ return s.isGrabbed = !0, this.grabbedEnemy = s, this.dragStart = { ...this.pointerPosition }, this.pointerHistory = [], s;
296
297
  }
297
298
  return null;
298
299
  }
@@ -417,7 +418,7 @@ class q {
417
418
  };
418
419
  }
419
420
  }
420
- const P = {
421
+ const N = {
421
422
  es: {
422
423
  title: "AXON SURGE",
423
424
  startButton: "INICIAR ENLACE",
@@ -1260,7 +1261,7 @@ const P = {
1260
1261
  "ko",
1261
1262
  "zh"
1262
1263
  ];
1263
- function w(E) {
1264
+ function P(E) {
1264
1265
  return Y.includes(E);
1265
1266
  }
1266
1267
  const V = "axon_surge_language";
@@ -1272,17 +1273,17 @@ class Q {
1272
1273
  detectLanguage(t) {
1273
1274
  try {
1274
1275
  const e = localStorage.getItem(V);
1275
- if (e && w(e))
1276
+ if (e && P(e))
1276
1277
  return e;
1277
1278
  } catch {
1278
1279
  }
1279
- if (t && w(t))
1280
+ if (t && P(t))
1280
1281
  return t;
1281
1282
  try {
1282
1283
  const e = (document.documentElement.lang || document.body?.getAttribute("lang") || document.documentElement.getAttribute("data-lang") || "").toLowerCase();
1283
1284
  if (e) {
1284
1285
  const i = e.split("-")[0];
1285
- if (i && w(i))
1286
+ if (i && P(i))
1286
1287
  return i;
1287
1288
  }
1288
1289
  } catch {
@@ -1291,7 +1292,7 @@ class Q {
1291
1292
  const e = (navigator.language || navigator.languages && navigator.languages[0] || "").toLowerCase();
1292
1293
  if (e) {
1293
1294
  const i = e.split("-")[0];
1294
- if (i && w(i))
1295
+ if (i && P(i))
1295
1296
  return i;
1296
1297
  }
1297
1298
  } catch {
@@ -1299,7 +1300,7 @@ class Q {
1299
1300
  return "en";
1300
1301
  }
1301
1302
  setLanguage(t) {
1302
- if (P[t]) {
1303
+ if (N[t]) {
1303
1304
  this.currentLanguage = t;
1304
1305
  try {
1305
1306
  localStorage.setItem(V, t);
@@ -1311,7 +1312,7 @@ class Q {
1311
1312
  return this.currentLanguage;
1312
1313
  }
1313
1314
  translate(t, e) {
1314
- let s = (P[this.currentLanguage] || P.en)[t] || P.en[t] || String(t);
1315
+ let s = (N[this.currentLanguage] || N.en)[t] || N.en[t] || String(t);
1315
1316
  return e && Object.entries(e).forEach(([a, l]) => {
1316
1317
  s = s.replace(`{${a}}`, String(l));
1317
1318
  }), s;
@@ -1509,14 +1510,14 @@ class at {
1509
1510
  let g = p;
1510
1511
  if (h) {
1511
1512
  let x = null, b = 1 / 0;
1512
- for (const v of s) {
1513
- if (v === e || v === i || !v.active || v.isGrabbed || v.isDying) continue;
1514
- const I = Math.hypot(v.position.x - d.x, v.position.y - d.y);
1515
- I < b && (b = I, x = v);
1513
+ for (const S of s) {
1514
+ if (S === e || S === i || !S.active || S.isGrabbed || S.isDying) continue;
1515
+ const I = Math.hypot(S.position.x - d.x, S.position.y - d.y);
1516
+ I < b && (b = I, x = S);
1516
1517
  }
1517
1518
  x && (g = Math.atan2(x.position.y - d.y, x.position.x - d.x));
1518
1519
  }
1519
- const f = T.createEnemy("micro", d, {
1520
+ const f = M.createEnemy("micro", d, {
1520
1521
  x: d.x + Math.cos(g) * 500,
1521
1522
  y: d.y + Math.sin(g) * 500
1522
1523
  });
@@ -1578,18 +1579,21 @@ class ot {
1578
1579
  }
1579
1580
  class nt {
1580
1581
  execute(t) {
1581
- const { thrownEnemy: e, targetEnemy: i, allEnemies: s, shockwaves: a, particles: l, floatingTexts: n } = t, o = e.shieldAngle || e.rotation, r = A.getInstance().getConfig().shield, c = r.blastSpeed;
1582
- if (e.isStationaryShield = !1, e.isThrown = !0, e.rotation = o, e.velocity = {
1583
- x: Math.cos(o) * c,
1584
- y: Math.sin(o) * c
1585
- }, r.isFanBlast) {
1586
- const h = [-Math.PI / 6, Math.PI / 6];
1587
- for (const u of h) {
1588
- const p = o + u, _ = T.createEnemy("heavy", { ...e.position }, { x: 0, y: 0 });
1589
- _.isStationaryShield = !1, _.isThrown = !0, _.wasManipulated = !0, _.shieldAngle = p, _.rotation = p, _.velocity = {
1590
- x: Math.cos(p) * c,
1591
- y: Math.sin(p) * c
1592
- }, s.push(_);
1582
+ const { thrownEnemy: e, targetEnemy: i, allEnemies: s, shockwaves: a, particles: l, floatingTexts: n } = t, o = i.position.x - e.position.x, r = i.position.y - e.position.y, c = Math.atan2(r, o), h = A.getInstance().getConfig().shield, u = h.blastSpeed || 1400;
1583
+ if (e.isStationaryShield = !1, e.isThrown = !0, e.wasManipulated = !0, e.rotation = c, e.velocity = {
1584
+ x: Math.cos(c) * u,
1585
+ y: Math.sin(c) * u
1586
+ }, h.isFanBlast) {
1587
+ const p = [-Math.PI / 4, Math.PI / 4];
1588
+ for (const _ of p) {
1589
+ const d = c + _, g = M.createEnemy("heavy", {
1590
+ x: e.position.x + Math.cos(d) * 30,
1591
+ y: e.position.y + Math.sin(d) * 30
1592
+ }, { x: 0, y: 0 });
1593
+ g.isStationaryShield = !1, g.isThrown = !0, g.wasManipulated = !0, g.shieldAngle = d, g.rotation = d, g.velocity = {
1594
+ x: Math.cos(d) * u,
1595
+ y: Math.sin(d) * u
1596
+ }, s.push(g);
1593
1597
  }
1594
1598
  }
1595
1599
  i.active = !1, i.triggerDissolveDeath(), n.push({
@@ -1603,12 +1607,12 @@ class nt {
1603
1607
  maxLifetime: 0.9,
1604
1608
  size: 24
1605
1609
  });
1606
- for (let h = 0; h < 50; h++) {
1607
- const u = (Math.random() - 0.5) * 1.5, p = o + u, _ = 300 + Math.random() * 500;
1610
+ for (let p = 0; p < 50; p++) {
1611
+ const _ = (Math.random() - 0.5) * 1.5, d = c + _, g = 300 + Math.random() * 500;
1608
1612
  l.push({
1609
1613
  id: Math.random().toString(),
1610
1614
  position: { ...e.position },
1611
- velocity: { x: Math.cos(p) * _, y: Math.sin(p) * _ },
1615
+ velocity: { x: Math.cos(d) * g, y: Math.sin(d) * g },
1612
1616
  color: "#00f5ff",
1613
1617
  radius: 4 + Math.random() * 6,
1614
1618
  alpha: 1,
@@ -1629,7 +1633,7 @@ class nt {
1629
1633
  });
1630
1634
  }
1631
1635
  }
1632
- class T {
1636
+ class M {
1633
1637
  static createEnemy(t, e, i) {
1634
1638
  const s = `enemy_${Date.now()}_${Math.random()}`, a = new H(s);
1635
1639
  return this.configureEnemy(a, t, e, i), a;
@@ -1644,7 +1648,7 @@ class T {
1644
1648
  };
1645
1649
  }
1646
1650
  }
1647
- class R {
1651
+ class L {
1648
1652
  static killEnemy(t, e, i, s, a, l) {
1649
1653
  if (!t.active || t.isDying) return;
1650
1654
  const n = A.getInstance().getConfig();
@@ -1684,7 +1688,7 @@ class R {
1684
1688
  }
1685
1689
  g && (_ = Math.atan2(g.position.y - p.y, g.position.x - p.x));
1686
1690
  }
1687
- const d = T.createEnemy("micro", p, {
1691
+ const d = M.createEnemy("micro", p, {
1688
1692
  x: p.x + Math.cos(_) * 500,
1689
1693
  y: p.y + Math.sin(_) * 500
1690
1694
  });
@@ -1749,8 +1753,8 @@ class rt {
1749
1753
  });
1750
1754
  for (const x of t) {
1751
1755
  if (!x.active || x.isGrabbed || x.isDying) continue;
1752
- const b = x.position.x - d.position.x, v = x.position.y - d.position.y;
1753
- Math.hypot(b, v) <= f && R.killEnemy(x, Math.atan2(v, b), e, i, s, t);
1756
+ const b = x.position.x - d.position.x, S = x.position.y - d.position.y;
1757
+ Math.hypot(b, S) <= f && L.killEnemy(x, Math.atan2(S, b), e, i, s, t);
1754
1758
  }
1755
1759
  }
1756
1760
  }
@@ -1762,15 +1766,15 @@ class rt {
1762
1766
  const f = g.position.x - d.position.x, x = g.position.y - d.position.y;
1763
1767
  if (Math.hypot(f, x) <= d.getHitRadius() + g.getHitRadius()) {
1764
1768
  u.pos = { x: d.position.x, y: d.position.y };
1765
- const v = Math.atan2(d.velocity.y, d.velocity.x);
1769
+ const S = Math.atan2(d.velocity.y, d.velocity.x);
1766
1770
  if (d.type === "heavy") {
1767
- u.kills++, R.killEnemy(g, d.rotation, e, i, s, t), n.triggerHitstop(0.04), n.triggerScreenShake({ x: f, y: x }, 8);
1771
+ u.kills++, L.killEnemy(g, d.rotation, e, i, s, t), n.triggerHitstop(0.04), n.triggerScreenShake({ x: f, y: x }, 8);
1768
1772
  for (let I = 0; I < 8; I++) {
1769
- const S = d.rotation + (Math.random() - 0.5), m = 200 + Math.random() * 350;
1773
+ const v = d.rotation + (Math.random() - 0.5), m = 200 + Math.random() * 350;
1770
1774
  a.push({
1771
1775
  id: Math.random().toString(),
1772
1776
  position: { ...g.position },
1773
- velocity: { x: Math.cos(S) * m, y: Math.sin(S) * m },
1777
+ velocity: { x: Math.cos(v) * m, y: Math.sin(v) * m },
1774
1778
  color: "#00f5ff",
1775
1779
  radius: 3 + Math.random() * 4,
1776
1780
  alpha: 1,
@@ -1780,7 +1784,7 @@ class rt {
1780
1784
  }
1781
1785
  p && p();
1782
1786
  } else if (d.type === "piercer") {
1783
- u.kills++, R.killEnemy(g, v, e, i, s, t), n.triggerHitstop(0.05), n.triggerScreenShake({ x: f, y: x }, 7), s.push({
1787
+ u.kills++, L.killEnemy(g, S, e, i, s, t), n.triggerHitstop(0.05), n.triggerScreenShake({ x: f, y: x }, 7), s.push({
1784
1788
  id: Math.random().toString(),
1785
1789
  position: { ...g.position },
1786
1790
  radius: 10,
@@ -1791,11 +1795,11 @@ class rt {
1791
1795
  maxLifetime: 0.45
1792
1796
  });
1793
1797
  for (let I = 0; I < 16; I++) {
1794
- const S = Math.random() * Math.PI * 2, m = 150 + Math.random() * 300;
1798
+ const v = Math.random() * Math.PI * 2, m = 150 + Math.random() * 300;
1795
1799
  a.push({
1796
1800
  id: Math.random().toString(),
1797
1801
  position: { ...g.position },
1798
- velocity: { x: Math.cos(S) * m, y: Math.sin(S) * m },
1802
+ velocity: { x: Math.cos(v) * m, y: Math.sin(v) * m },
1799
1803
  color: "#ff2a5f",
1800
1804
  radius: 3 + Math.random() * 3,
1801
1805
  alpha: 1,
@@ -1805,11 +1809,11 @@ class rt {
1805
1809
  }
1806
1810
  if (d.remainingHomingKills > 0) {
1807
1811
  d.remainingHomingKills--;
1808
- let I = null, S = 1 / 0;
1812
+ let I = null, v = 1 / 0;
1809
1813
  for (const m of t) {
1810
1814
  if (m === d || m === g || !m.active || m.isGrabbed || m.isDying) continue;
1811
- const y = m.position.x - d.position.x, M = m.position.y - d.position.y, L = Math.hypot(y, M);
1812
- L < S && (S = L, I = m);
1815
+ const y = m.position.x - d.position.x, T = m.position.y - d.position.y, R = Math.hypot(y, T);
1816
+ R < v && (v = R, I = m);
1813
1817
  }
1814
1818
  if (I) {
1815
1819
  const m = Math.atan2(I.position.y - d.position.y, I.position.x - d.position.x), y = Math.hypot(d.velocity.x, d.velocity.y) || 1200;
@@ -1821,23 +1825,23 @@ class rt {
1821
1825
  }
1822
1826
  p && p();
1823
1827
  } else {
1824
- const I = d.type === g.type, S = I ? 360 : 250;
1828
+ const I = d.type === g.type, v = I ? 360 : 250;
1825
1829
  s.push({
1826
1830
  id: Math.random().toString(),
1827
1831
  position: { ...u.pos },
1828
1832
  radius: 15,
1829
- maxRadius: S,
1833
+ maxRadius: v,
1830
1834
  color: d.color,
1831
1835
  alpha: 1,
1832
1836
  lifetime: 0,
1833
1837
  maxLifetime: 0.55
1834
1838
  });
1835
1839
  for (let m = 0; m < 45; m++) {
1836
- const y = Math.random() * Math.PI * 2, M = 200 + Math.random() * 450;
1840
+ const y = Math.random() * Math.PI * 2, T = 200 + Math.random() * 450;
1837
1841
  a.push({
1838
1842
  id: Math.random().toString(),
1839
1843
  position: { ...u.pos },
1840
- velocity: { x: Math.cos(y) * M, y: Math.sin(y) * M },
1844
+ velocity: { x: Math.cos(y) * T, y: Math.sin(y) * T },
1841
1845
  color: d.color,
1842
1846
  radius: 4 + Math.random() * 6,
1843
1847
  alpha: 1,
@@ -1845,6 +1849,22 @@ class rt {
1845
1849
  maxLifetime: 0.7
1846
1850
  });
1847
1851
  }
1852
+ if (d.strategy) {
1853
+ d.strategy.execute({
1854
+ thrownEnemy: d,
1855
+ targetEnemy: g,
1856
+ allEnemies: t,
1857
+ pools: e,
1858
+ vortices: i,
1859
+ shockwaves: s,
1860
+ particles: a,
1861
+ floatingTexts: l,
1862
+ eventBus: o,
1863
+ width: c,
1864
+ height: h
1865
+ }), u.kills += 2, p && p();
1866
+ break;
1867
+ }
1848
1868
  if (I) {
1849
1869
  u.kills += 2, n.triggerHitstop(0.14), n.triggerFlash(0.5), n.triggerScreenShake({ x: f, y: x }, 16), l.push({
1850
1870
  id: Math.random().toString(),
@@ -1858,42 +1878,27 @@ class rt {
1858
1878
  size: 26
1859
1879
  });
1860
1880
  const m = A.getInstance().getConfig();
1861
- if (d.type === "spore")
1862
- e.push({
1863
- id: Math.random().toString(),
1864
- position: { ...u.pos },
1865
- radius: m.toxicPool.synergyRadius,
1866
- duration: 0,
1867
- maxDuration: m.toxicPool.synergyDuration,
1868
- damage: m.toxicPool.damage * 2
1869
- });
1870
- else if (d.type === "parasite")
1871
- i.push({
1872
- id: Math.random().toString(),
1873
- position: { ...u.pos },
1874
- radius: m.gravityVortex.synergyRadius,
1875
- duration: 0,
1876
- maxDuration: m.gravityVortex.synergyDuration,
1877
- pullForce: m.gravityVortex.synergyPullForce
1878
- });
1879
- else if (d.type === "cluster")
1880
- for (let y = 0; y < 8; y++) {
1881
- const M = y * Math.PI * 2 / 8, L = {
1882
- x: u.pos.x + Math.cos(M) * 15,
1883
- y: u.pos.y + Math.sin(M) * 15
1884
- }, C = T.createEnemy("micro", L, {
1885
- x: L.x + Math.cos(M) * 220,
1886
- y: L.y + Math.sin(M) * 220
1887
- });
1888
- C.isThrown = !0, t.push(C);
1889
- }
1890
- R.killEnemy(d, v, e, i, s, t), R.killEnemy(g, v, e, i, s, t);
1881
+ d.type === "spore" ? e.push({
1882
+ id: Math.random().toString(),
1883
+ position: { ...u.pos },
1884
+ radius: m.toxicPool.synergyRadius,
1885
+ duration: 0,
1886
+ maxDuration: m.toxicPool.synergyDuration,
1887
+ damage: m.toxicPool.damage * 2
1888
+ }) : d.type === "parasite" && i.push({
1889
+ id: Math.random().toString(),
1890
+ position: { ...u.pos },
1891
+ radius: m.gravityVortex.synergyRadius,
1892
+ duration: 0,
1893
+ maxDuration: m.gravityVortex.synergyDuration,
1894
+ pullForce: m.gravityVortex.synergyPullForce
1895
+ }), L.killEnemy(d, S, e, i, s, t), L.killEnemy(g, S, e, i, s, t);
1891
1896
  } else
1892
- u.kills += 2, n.triggerHitstop(0.08), n.triggerFlash(0.35), n.triggerScreenShake({ x: f, y: x }, 10), R.killEnemy(d, v, e, i, s, t), R.killEnemy(g, v, e, i, s, t);
1897
+ u.kills += 2, n.triggerHitstop(0.08), n.triggerFlash(0.35), n.triggerScreenShake({ x: f, y: x }, 10), L.killEnemy(d, S, e, i, s, t), L.killEnemy(g, S, e, i, s, t);
1893
1898
  for (const m of t) {
1894
1899
  if (m === d || m === g || !m.active || m.isGrabbed || m.isDying) continue;
1895
- const y = m.position.x - u.pos.x, M = m.position.y - u.pos.y;
1896
- Math.hypot(y, M) <= S && (R.killEnemy(m, v, e, i, s, t), u.kills++);
1900
+ const y = m.position.x - u.pos.x, T = m.position.y - u.pos.y;
1901
+ Math.hypot(y, T) <= v && m.type !== "micro" && (L.killEnemy(m, S, e, i, s, t), u.kills++);
1897
1902
  }
1898
1903
  p && p();
1899
1904
  break;
@@ -1923,7 +1928,7 @@ class lt {
1923
1928
  for (const h of e) {
1924
1929
  if (!h.active || h.isGrabbed || h.isDying || h.isThrown && h.type === "piercer") continue;
1925
1930
  const u = h.position.x - c.position.x, p = h.position.y - c.position.y;
1926
- Math.hypot(u, p) <= c.radius && (R.killEnemy(h, 0, t, i, s, e), n.kills++, o && o());
1931
+ Math.hypot(u, p) <= c.radius && (L.killEnemy(h, 0, t, i, s, e), n.kills++, o && o());
1927
1932
  }
1928
1933
  c.duration >= c.maxDuration && t.splice(r, 1);
1929
1934
  }
@@ -1973,18 +1978,18 @@ class ht {
1973
1978
  let f = null, x = 1 / 0;
1974
1979
  for (const b of i) {
1975
1980
  if (b === g || !b.active || b.isGrabbed || b.isDying) continue;
1976
- const v = b.position.x - g.position.x, I = b.position.y - g.position.y, S = Math.hypot(v, I);
1977
- S < x && (x = S, f = b);
1981
+ const S = b.position.x - g.position.x, I = b.position.y - g.position.y, v = Math.hypot(S, I);
1982
+ v < x && (x = v, f = b);
1978
1983
  }
1979
1984
  if (f) {
1980
- const b = Math.atan2(f.position.y - g.position.y, f.position.x - g.position.x), v = Math.max(Math.hypot(g.velocity.x, g.velocity.y), 1e3), I = 25 * t, S = Math.atan2(g.velocity.y, g.velocity.x);
1981
- let m = b - S;
1985
+ const b = Math.atan2(f.position.y - g.position.y, f.position.x - g.position.x), S = Math.max(Math.hypot(g.velocity.x, g.velocity.y), 1e3), I = 25 * t, v = Math.atan2(g.velocity.y, g.velocity.x);
1986
+ let m = b - v;
1982
1987
  for (; m < -Math.PI; ) m += Math.PI * 2;
1983
1988
  for (; m > Math.PI; ) m -= Math.PI * 2;
1984
- const y = S + Math.sign(m) * Math.min(Math.abs(m), I);
1989
+ const y = v + Math.sign(m) * Math.min(Math.abs(m), I);
1985
1990
  g.rotation = y, g.velocity = {
1986
- x: Math.cos(y) * v,
1987
- y: Math.sin(y) * v
1991
+ x: Math.cos(y) * S,
1992
+ y: Math.sin(y) * S
1988
1993
  };
1989
1994
  }
1990
1995
  }
@@ -2067,7 +2072,7 @@ class ut {
2067
2072
  t.reset();
2068
2073
  }
2069
2074
  }
2070
- class O {
2075
+ class C {
2071
2076
  static getOffscreenPosition(t, e) {
2072
2077
  const i = Math.floor(Math.random() * 4), s = 70;
2073
2078
  return i === 0 ? { x: Math.random() * t, y: -s } : i === 1 ? { x: t + s, y: Math.random() * e } : i === 2 ? { x: Math.random() * t, y: e + s } : { x: -s, y: Math.random() * e };
@@ -2079,7 +2084,7 @@ class O {
2079
2084
  x: e.x + Math.cos(r) * n,
2080
2085
  y: e.y + Math.sin(r) * n
2081
2086
  }, h = t.get(), u = ["piercer", "spore", "cluster", "parasite"], p = u[o % u.length];
2082
- T.configureEnemy(h, p, c, e), h.velocity = {
2087
+ M.configureEnemy(h, p, c, e), h.velocity = {
2083
2088
  x: Math.cos(r + Math.PI) * 55,
2084
2089
  y: Math.sin(r + Math.PI) * 55
2085
2090
  }, a.push(h);
@@ -2095,7 +2100,7 @@ class O {
2095
2100
  x: (Math.random() - 0.5) * 60,
2096
2101
  y: (Math.random() - 0.5) * 60
2097
2102
  }, h = { x: o.x + c.x, y: o.y + c.y }, u = t.get();
2098
- T.configureEnemy(u, "spore", h, s);
2103
+ M.configureEnemy(u, "spore", h, s);
2099
2104
  const p = s.x - h.x, _ = s.y - h.y, d = Math.atan2(_, p);
2100
2105
  u.velocity = {
2101
2106
  x: Math.cos(d) * (50 + Math.random() * 20),
@@ -2111,7 +2116,7 @@ class O {
2111
2116
  x: -60 - o * 40,
2112
2117
  y: n + Math.sin(o * 0.45) * 70
2113
2118
  }, c = t.get();
2114
- T.configureEnemy(c, "cluster", r, s), c.velocity = { x: 75, y: Math.cos(o * 0.45) * 30 }, a.push(c);
2119
+ M.configureEnemy(c, "cluster", r, s), c.velocity = { x: 75, y: Math.cos(o * 0.45) * 30 }, a.push(c);
2115
2120
  }
2116
2121
  return a;
2117
2122
  }
@@ -2122,7 +2127,7 @@ class O {
2122
2127
  x: e + Math.cos(r) * c,
2123
2128
  y: -60 + Math.sin(r) * c
2124
2129
  }, u = t.get();
2125
- T.configureEnemy(u, "parasite", h, s), a.push(u);
2130
+ M.configureEnemy(u, "parasite", h, s), a.push(u);
2126
2131
  }
2127
2132
  return a;
2128
2133
  }
@@ -2133,7 +2138,7 @@ class O {
2133
2138
  x: n ? -60 : e + 60,
2134
2139
  y: r
2135
2140
  }, h = t.get();
2136
- T.configureEnemy(h, "piercer", c, s), h.velocity = {
2141
+ M.configureEnemy(h, "piercer", c, s), h.velocity = {
2137
2142
  x: n ? 70 : -70,
2138
2143
  y: 0
2139
2144
  }, a.push(h);
@@ -2144,9 +2149,9 @@ class O {
2144
2149
  const a = [];
2145
2150
  for (let n = 0; n < 10; n++) {
2146
2151
  const o = { x: -50 - n * 35, y: -50 - n * 35 }, r = t.get();
2147
- T.configureEnemy(r, "spore", o, s), a.push(r);
2152
+ M.configureEnemy(r, "spore", o, s), a.push(r);
2148
2153
  const c = { x: e + 50 + n * 35, y: i + 50 + n * 35 }, h = t.get();
2149
- T.configureEnemy(h, "cluster", c, s), a.push(h);
2154
+ M.configureEnemy(h, "cluster", c, s), a.push(h);
2150
2155
  }
2151
2156
  return a;
2152
2157
  }
@@ -2177,15 +2182,15 @@ class pt {
2177
2182
  return this.spawnTimer >= n && l < o ? (this.spawnTimer = 0, this.spawnSingleEnemy(i, s, a)) : null;
2178
2183
  }
2179
2184
  spawnSingleEnemy(t, e, i) {
2180
- const s = O.getOffscreenPosition(t, e), a = Math.random();
2185
+ const s = C.getOffscreenPosition(t, e), a = Math.random();
2181
2186
  let l = "piercer";
2182
2187
  a > 0.75 ? l = "heavy" : a > 0.55 ? l = "parasite" : a > 0.35 ? l = "cluster" : a > 0.15 && (l = "spore");
2183
2188
  const n = this.pool.get();
2184
- return T.configureEnemy(n, l, s, i), n;
2189
+ return M.configureEnemy(n, l, s, i), n;
2185
2190
  }
2186
2191
  spawnPatternFormation(t, e, i) {
2187
2192
  const s = Math.random();
2188
- return s < 0.25 ? O.spawnCircleOfDeath(this.pool, i, t, e) : s < 0.5 ? O.spawnDenseCluster(this.pool, t, e, i) : s < 0.75 ? O.spawnSineSnake(this.pool, t, e, i) : O.spawnMarchingWall(this.pool, t, e, i);
2193
+ return s < 0.25 ? C.spawnCircleOfDeath(this.pool, i, t, e) : s < 0.5 ? C.spawnDenseCluster(this.pool, t, e, i) : s < 0.75 ? C.spawnSineSnake(this.pool, t, e, i) : C.spawnMarchingWall(this.pool, t, e, i);
2189
2194
  }
2190
2195
  applyFlockingBehaviors(t, e, i) {
2191
2196
  for (let a = 0; a < t.length; a++) {
@@ -2215,7 +2220,7 @@ class pt {
2215
2220
  }
2216
2221
  }
2217
2222
  }
2218
- const N = {
2223
+ const O = {
2219
2224
  bioluminescent: {
2220
2225
  bgInner: "#081220",
2221
2226
  bgMid: "#050b16",
@@ -2273,13 +2278,13 @@ class dt {
2273
2278
  e !== void 0 && (this.targetElement = e);
2274
2279
  try {
2275
2280
  const i = localStorage.getItem(U);
2276
- if (i && N[i]) {
2281
+ if (i && O[i]) {
2277
2282
  this.currentTheme = i, this.isExplicit = !0, this.applyThemeToDOM();
2278
2283
  return;
2279
2284
  }
2280
2285
  } catch {
2281
2286
  }
2282
- if (t && N[t]) {
2287
+ if (t && O[t]) {
2283
2288
  this.currentTheme = t, this.isExplicit = !0, this.applyThemeToDOM();
2284
2289
  return;
2285
2290
  }
@@ -2289,7 +2294,7 @@ class dt {
2289
2294
  this.targetElement = t, this.isExplicit ? this.applyThemeToDOM() : this.currentTheme = this.detectParentOrSystemTheme();
2290
2295
  }
2291
2296
  setTheme(t) {
2292
- if (N[t]) {
2297
+ if (O[t]) {
2293
2298
  this.currentTheme = t, this.isExplicit = !0, this.applyThemeToDOM();
2294
2299
  try {
2295
2300
  localStorage.setItem(U, t);
@@ -2309,7 +2314,7 @@ class dt {
2309
2314
  return this.isExplicit || (this.currentTheme = this.detectParentOrSystemTheme()), this.currentTheme;
2310
2315
  }
2311
2316
  getPalette() {
2312
- return N[this.getTheme()] || N.dark;
2317
+ return O[this.getTheme()] || O.dark;
2313
2318
  }
2314
2319
  detectParentOrSystemTheme() {
2315
2320
  try {
@@ -2376,12 +2381,12 @@ class _t {
2376
2381
  render(t, e, i, s, a, l = !1) {
2377
2382
  const n = (210 + (a - 1) * 38 + Math.sin(s * 0.12) * 15) % 360;
2378
2383
  if (l) {
2379
- const v = `hsl(${n}, 50%, 94%)`, I = `hsl(${(n + 25) % 360}, 45%, 89%)`, S = `hsl(${(n + 50) % 360}, 40%, 82%)`, m = t.createRadialGradient(e / 2, i / 2, 40, e / 2, i / 2, Math.max(e, i));
2380
- m.addColorStop(0, v), m.addColorStop(0.55, I), m.addColorStop(1, S), t.fillStyle = m, t.fillRect(0, 0, e, i);
2381
- const y = (n + 75) % 360, M = e * 0.35 + Math.sin(s * 0.25) * 70, L = i * 0.45 + Math.cos(s * 0.2) * 60, C = t.createRadialGradient(M, L, 20, M, L, 400);
2382
- C.addColorStop(0, `hsla(${y}, 65%, 78%, 0.35)`), C.addColorStop(1, "rgba(255, 255, 255, 0)"), t.fillStyle = C, t.beginPath(), t.arc(M, L, 400, 0, Math.PI * 2), t.fill();
2383
- const Z = (n + 160) % 360, D = e * 0.68 + Math.cos(s * 0.28) * 60, k = i * 0.55 + Math.sin(s * 0.22) * 55, G = t.createRadialGradient(D, k, 20, D, k, 440);
2384
- G.addColorStop(0, `hsla(${Z}, 60%, 75%, 0.3)`), G.addColorStop(1, "rgba(255, 255, 255, 0)"), t.fillStyle = G, t.beginPath(), t.arc(D, k, 440, 0, Math.PI * 2), t.fill();
2384
+ const S = `hsl(${n}, 50%, 94%)`, I = `hsl(${(n + 25) % 360}, 45%, 89%)`, v = `hsl(${(n + 50) % 360}, 40%, 82%)`, m = t.createRadialGradient(e / 2, i / 2, 40, e / 2, i / 2, Math.max(e, i));
2385
+ m.addColorStop(0, S), m.addColorStop(0.55, I), m.addColorStop(1, v), t.fillStyle = m, t.fillRect(0, 0, e, i);
2386
+ const y = (n + 75) % 360, T = e * 0.35 + Math.sin(s * 0.25) * 70, R = i * 0.45 + Math.cos(s * 0.2) * 60, D = t.createRadialGradient(T, R, 20, T, R, 400);
2387
+ D.addColorStop(0, `hsla(${y}, 65%, 78%, 0.35)`), D.addColorStop(1, "rgba(255, 255, 255, 0)"), t.fillStyle = D, t.beginPath(), t.arc(T, R, 400, 0, Math.PI * 2), t.fill();
2388
+ const Z = (n + 160) % 360, w = e * 0.68 + Math.cos(s * 0.28) * 60, k = i * 0.55 + Math.sin(s * 0.22) * 55, G = t.createRadialGradient(w, k, 20, w, k, 440);
2389
+ G.addColorStop(0, `hsla(${Z}, 60%, 75%, 0.3)`), G.addColorStop(1, "rgba(255, 255, 255, 0)"), t.fillStyle = G, t.beginPath(), t.arc(w, k, 440, 0, Math.PI * 2), t.fill();
2385
2390
  return;
2386
2391
  }
2387
2392
  const o = `hsl(${n}, 45%, 8%)`, r = `hsl(${(n + 30) % 360}, 40%, 4%)`, c = `hsl(${(n + 60) % 360}, 50%, 2%)`, h = t.createRadialGradient(e / 2, i / 2, 40, e / 2, i / 2, Math.max(e, i));
@@ -2836,11 +2841,11 @@ class yt {
2836
2841
  f.textContent = this.i18n.translate("tutorialSettingLabel");
2837
2842
  const x = document.createElement("div");
2838
2843
  x.className = "axon-toggle-group";
2839
- const b = localStorage.getItem("axon_surge_show_tutorial") !== "false", v = [
2844
+ const b = localStorage.getItem("axon_surge_show_tutorial") !== "false", S = [
2840
2845
  { enabled: !0, label: this.i18n.translate("hapticsOn") },
2841
2846
  { enabled: !1, label: this.i18n.translate("hapticsOff") }
2842
2847
  ];
2843
- for (const m of v) {
2848
+ for (const m of S) {
2844
2849
  const y = document.createElement("button");
2845
2850
  y.type = "button", y.className = `axon-toggle-btn ${b === m.enabled ? "active" : ""}`, y.textContent = m.label, y.addEventListener("click", () => {
2846
2851
  localStorage.setItem("axon_surge_show_tutorial", String(m.enabled)), this.renderContent();
@@ -2849,10 +2854,10 @@ class yt {
2849
2854
  g.appendChild(f), g.appendChild(x);
2850
2855
  const I = document.createElement("div");
2851
2856
  I.className = "axon-settings-credits", I.textContent = this.i18n.translate("creditsJam");
2852
- const S = document.createElement("button");
2853
- S.type = "button", S.className = "axon-start-button", S.style.padding = "12px 36px", S.style.fontSize = "14px", S.textContent = this.i18n.translate("closeButton"), S.addEventListener("click", () => {
2857
+ const v = document.createElement("button");
2858
+ v.type = "button", v.className = "axon-start-button", v.style.padding = "12px 36px", v.style.fontSize = "14px", v.textContent = this.i18n.translate("closeButton"), v.addEventListener("click", () => {
2854
2859
  this.modal.close();
2855
- }), this.card.appendChild(t), this.card.appendChild(e), this.card.appendChild(o), this.card.appendChild(u), this.card.appendChild(g), this.card.appendChild(I), this.card.appendChild(S);
2860
+ }), this.card.appendChild(t), this.card.appendChild(e), this.card.appendChild(o), this.card.appendChild(u), this.card.appendChild(g), this.card.appendChild(I), this.card.appendChild(v);
2856
2861
  }
2857
2862
  isHapticsEnabled() {
2858
2863
  return this.hapticsEnabled;
@@ -2899,11 +2904,11 @@ class At {
2899
2904
  this.isActive = !1;
2900
2905
  return;
2901
2906
  }
2902
- this.isActive = !0, this.showWarning = !1, i.length = 0, this.initialLauncherPos = { x: t * 0.28, y: e * 0.28 }, this.initialTargetPos = { x: t * 0.72, y: e * 0.28 }, this.dummyLauncher = T.createEnemy(
2907
+ this.isActive = !0, this.showWarning = !1, i.length = 0, this.initialLauncherPos = { x: t * 0.28, y: e * 0.28 }, this.initialTargetPos = { x: t * 0.72, y: e * 0.28 }, this.dummyLauncher = M.createEnemy(
2903
2908
  "piercer",
2904
2909
  this.initialLauncherPos,
2905
2910
  this.initialTargetPos
2906
- ), this.dummyLauncher.velocity = { x: 0, y: 0 }, this.dummyTarget = T.createEnemy(
2911
+ ), this.dummyLauncher.velocity = { x: 0, y: 0 }, this.dummyTarget = M.createEnemy(
2907
2912
  "spore",
2908
2913
  this.initialTargetPos,
2909
2914
  this.initialLauncherPos
@@ -2977,7 +2982,7 @@ class bt {
2977
2982
  this.container.style.display = "none";
2978
2983
  }
2979
2984
  }
2980
- class vt {
2985
+ class St {
2981
2986
  fillElement;
2982
2987
  killsCount = 0;
2983
2988
  currentLevel = 1;
@@ -3314,7 +3319,7 @@ class F {
3314
3319
  this.powerUps.push(t);
3315
3320
  }
3316
3321
  }
3317
- class St {
3322
+ class vt {
3318
3323
  haptics = {
3319
3324
  impact: async (t) => {
3320
3325
  if ("vibrate" in navigator) {
@@ -3389,7 +3394,7 @@ class It {
3389
3394
  isRunning = !1;
3390
3395
  isPaused = !1;
3391
3396
  constructor(t) {
3392
- this.container = t.root, this.container.classList.add("axon-game-root"), this.i18n = new Q(t.language), this.themeManager = new dt(t.theme, this.container), this.platform = t.platform || new St(), this.canvas = document.createElement("canvas"), this.canvas.className = "axon-canvas", this.container.appendChild(this.canvas), this.resizeCanvas(), window.addEventListener("resize", () => this.resizeCanvas()), this.eventBus = new J(), this.core = new z(this.canvas.width / 2, this.canvas.height / 2), this.inputManager = new $(this.canvas), this.physicsEngine = new ht(this.eventBus, this.i18n), this.waveDirector = new pt(), this.renderer = new ft(this.canvas, this.themeManager), this.juice = new q(), this.settingsModal = new yt(
3397
+ this.container = t.root, this.container.classList.add("axon-game-root"), this.i18n = new Q(t.language), this.themeManager = new dt(t.theme, this.container), this.platform = t.platform || new vt(), this.canvas = document.createElement("canvas"), this.canvas.className = "axon-canvas", this.container.appendChild(this.canvas), this.resizeCanvas(), window.addEventListener("resize", () => this.resizeCanvas()), this.eventBus = new J(), this.core = new z(this.canvas.width / 2, this.canvas.height / 2), this.inputManager = new $(this.canvas), this.physicsEngine = new ht(this.eventBus, this.i18n), this.waveDirector = new pt(), this.renderer = new ft(this.canvas, this.themeManager), this.juice = new q(), this.settingsModal = new yt(
3393
3398
  this.container,
3394
3399
  this.i18n,
3395
3400
  this.themeManager,
@@ -3400,7 +3405,7 @@ class It {
3400
3405
  }
3401
3406
  ), this.interactiveTutorial = new At(), this.tutorialOverlay = new bt(this.container, this.i18n, this.interactiveTutorial), this.hud = new xt(this.container, this.i18n, () => {
3402
3407
  this.isPaused = !0, this.settingsModal.show();
3403
- }), this.hud.show(), this.progressBar = new vt(this.hud.progressSlot, (e) => {
3408
+ }), this.hud.show(), this.progressBar = new St(this.hud.progressSlot, (e) => {
3404
3409
  this.waveDirector.wave = e, this.triggerLevelUp(e);
3405
3410
  }), this.startMenu = new Et(this.container, this.i18n, () => this.startGame()), this.initAmbientArena(), this.gameLoop = new X(
3406
3411
  (e) => this.update(e),
@@ -3429,7 +3434,7 @@ class It {
3429
3434
  const i = t[e % t.length], s = e * Math.PI * 2 / 16, a = 180 + Math.random() * 220, l = {
3430
3435
  x: this.canvas.width / 2 + Math.cos(s) * a,
3431
3436
  y: this.canvas.height / 2 + Math.sin(s) * a
3432
- }, n = T.createEnemy(i, l, {
3437
+ }, n = M.createEnemy(i, l, {
3433
3438
  x: l.x + Math.sin(s) * 100,
3434
3439
  y: l.y - Math.cos(s) * 100
3435
3440
  });
@@ -3644,10 +3649,10 @@ function Mt(E) {
3644
3649
  return new It(E);
3645
3650
  }
3646
3651
  export {
3647
- St as BrowserPlatform,
3652
+ vt as BrowserPlatform,
3648
3653
  It as GameEngine,
3649
3654
  Y as LANGUAGES,
3650
3655
  dt as ThemeManager,
3651
3656
  Mt as createAxonSurge,
3652
- w as isLanguage
3657
+ P as isLanguage
3653
3658
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAStE,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC9C,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,UAAU;IAwDX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IAoB7E,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,mBAAmB,GAAG,IAAI;IAmB7F,eAAe,IAAI,WAAW,GAAG,IAAI;IAuErC,YAAY,IAAI,IAAI;IAepB,KAAK,IAAI,IAAI;CAOvB"}
1
+ {"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAStE,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC9C,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,UAAU;IAwDX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IAqB7E,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,mBAAmB,GAAG,IAAI;IAmB7F,eAAe,IAAI,WAAW,GAAG,IAAI;IAuErC,YAAY,IAAI,IAAI;IAepB,KAAK,IAAI,IAAI;CAOvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThrownCollisionHandler.d.ts","sourceRoot":"","sources":["../../../src/physics/handlers/ThrownCollisionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,qBAAa,sBAAsB;WACjB,MAAM,CAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,EAC1D,MAAM,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI;CAySV"}
1
+ {"version":3,"file":"ThrownCollisionHandler.d.ts","sourceRoot":"","sources":["../../../src/physics/handlers/ThrownCollisionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,qBAAa,sBAAsB;WACjB,MAAM,CAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,EAC1D,MAAM,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI;CAgTV"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeavyShieldStrategy.d.ts","sourceRoot":"","sources":["../../src/strategies/HeavyShieldStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,qBAAa,mBAAoB,YAAW,eAAe;IAChD,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;CA4E3C"}
1
+ {"version":3,"file":"HeavyShieldStrategy.d.ts","sourceRoot":"","sources":["../../src/strategies/HeavyShieldStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,qBAAa,mBAAoB,YAAW,eAAe;IAChD,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;CAmF3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamebob/axon-surge",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "main": "./dist/axon-surge.js",
6
6
  "module": "./dist/axon-surge.js",