// ==UserScript==
// @name Alpha-Ware 40 bot mod! (Patched)
// @namespace D_Alpha
// @match *://moomoo.io/*
// @match *://dev.moomoo.io/*
// @match *://sandbox.moomoo.io/*
// @description Up to 40 bots hack (more with VPN), autoheal, macros, and command keys!
// @author D_Alpha
// @grant none
// @licence MIT
// @version 0.0.1.20240222210506
// ==/UserScript==
let AutoAim = false;
let mouseX;
let mouseY;
let width;
let height;
let Hacks = true;
setInterval(() => {
if(clanToggle == 1 && Hacks) {
doNewSend(["9", [null]]);
doNewSend(["8", [animate(false, 5)]])
}
}, 200);
setInterval(() => {
if(messageToggle == 1 && Hacks) {
doNewSend(["ch", [animate(true, 5)]])
}
}, 200);
setInterval(() => {
if(hatToggle && Hacks) {
if(oldHat != normalHat) {
armor(normalHat);
}
if(oldAcc != normalAcc) {
acc(normalAcc);
}
oldHat = normalHat;
oldAcc = normalAcc
}
}, 25);
function normal() {
hat(normalHat, normalAcc);
}
let coreURL = new URL(window.location.href);
window.sessionStorage.force = coreURL.searchParams.get("fc");
var nearestEnemy;
var nearestEnemyAngle;
var isEnemyNear;
var instaSpeed = 190;
var primary;
var secondary;
var foodType;
var wallType;
var spikeType;
var millType;
var mineType;
var OGClan = [];
var boostType;
var turretType;
var spawnpadType;
var tick = 1;
var oldHat;
var oldAcc;
var enemiesNear;
var normalHat;
var normalAcc;
var ws;
var MSG = false;
var msgpack5 = msgpack;
var boostDir;
var PremiumMap = false;
let myPlayer = {
id: null,
x: null,
y: null,
dir: null,
object: null,
weapon: null,
clan: null,
isLeader: null,
hat: null,
accessory: null,
isSkull: null
};
var MHat = false;
var allMooMooObjects = {};
let healSpeed = 73;
var messageToggle = 0;
var clanToggle = 0;
let healToggle = 1;
let hatToggle = 1;
var log = true;
var heal = false;
var HealthToggle = 1;
var names = [];
var buildings = [];
var theirPrimary = [], theirSecondary = [];
document.msgpack = msgpack;
function n(){
this.buffer = new Uint8Array([0]);
this.buffer.__proto__ = new Uint8Array;
this.type = 0;
}
WebSocket.prototype.oldSend = WebSocket.prototype.send;
WebSocket.prototype.send = function(m){
if (!ws){
document.ws = this;
ws = this;
socketFound(this);
}
this.oldSend(m);
};
function socketFound(socket){
socket.addEventListener('message', function(message){
handleMessage(message);
});
}
function handleMessage(m){
let temp = msgpack5.decode(new Uint8Array(m.data));
let moduel;
if(temp.length > 1) {
moduel = [temp[0], ...temp[1]];
if (moduel[1] instanceof Array){
moduel = moduel;
}
} else {
moduel = temp;
}
let FunctionID = moduel[0];
if(!moduel) {return};
if(FunctionID === "io-init") {
let cvs = document.getElementById("gameCanvas");
width = cvs.clientWidth;
height = cvs.clientHeight;
(window).resize(function() {
width = cvs.clientWidth;
height = cvs.clientHeight;
});
cvs.addEventListener("mousemove", e => {
mouseX = e.clientX;
mouseY = e.clientY;
});
}
if (FunctionID == "1" && myPlayer.id == null){
myPlayer.id = moduel[1];
}
if(FunctionID == "ch" && moduel[1] == myPlayer.id) {
if ("/join " == moduel[2].substring(0, 6)) {
var w = moduel[2].substring(6);
doNewSend(["10", [w]]);
setTimeout(function () {
chat("Requested : " + w)
}, 500)
}
if ("/clan " == moduel[2].substring(0, 6)) {
var t = moduel[2].substring(6);
doNewSend(["8", [t]]);
setTimeout(function () {
chat("Created : " + t)
}, 500)
}
if ("/unclan" == moduel[2].substring(0, 7)) {
if(myPlayer.clan == undefined) return setTimeout(chat("You are not in a clan"), 500);
if(myPlayer.clan == null) return setTimeout(chat("You are not in a clan"), 500);
OGClan = myPlayer.clan;
doNewSend(["9", [null]]);
setTimeout(function () {
chat("Left : " + OGClan)
OGClan = [];
}, 500)
}
if ("/track" == moduel[2].substring(0, 6)) {
log = !log;
setTimeout(function () {
chat("Player Tracker : " + log)
}, 500)
}
if ("/log" == moduel[2].substring(0, 4)) {
log = !log;
setTimeout(function () {
chat("Player Tracker : " + log)
}, 500)
}
}
if(FunctionID == "2" && moduel[1] != myPlayer.id && Hacks && log) {// supermod stuff
if(null != names[moduel[1][1]]){
if(names[moduel[1][1]] != moduel[1][2]){
console.log("{", names[moduel[1][1]], "} => {", moduel[1][2], "} [", moduel[1][1], "]");
chat("{" + names[moduel[1][1]] + "} => {" + moduel[1][2] + "}");
}else{
console.log("{", names[moduel[1][1]], "} SubtoD_Alpha");
chat("{" + names[moduel[1][1]] + "} SubtoD_Alpha");
}
}else{
console.log("{", moduel[1][2], "} [", moduel[1][1], "]");
chat("{" + moduel[1][2] + "} [" + moduel[1][1] + "]");
names[moduel[1][1]] = moduel[1][2];
theirPrimary[moduel[1][1]] = 0;
theirSecondary[moduel[1][1]] = void 0;
}
}
if(FunctionID == "13" && moduel[1] != myPlayer.id && Hacks && log) { // supermod stuff
for (var r = 0; r < buildings.length; r++) buildings[r][7] == moduel[1] && (buildings.splice(r, 1), r--);
if(names[moduel[1]]) {
console.log("{", names[moduel[1]], "} DidnotsubtoD_Alpha");
chat("{" + names[moduel[1]] + "} DidnotsubtoD_Alpha");
names[moduel[1]] = void 0;
}else{
console.log("[", moduel[1], "] DidnotsubtoD_Alpha");
theirPrimary[moduel[1]] = 0;
theirSecondary[moduel[1]] = void 0;
}
}
if(FunctionID == "6") {
for (var a = 0; a < moduel[1].length / 8; a++) {
var i = moduel[1].slice(8 * a, 8 * a + 8);
buildings.push(i)
}
}
if (FunctionID == "33") {
enemiesNear = [];
for(let i = 0; i < moduel[1].length / 13; i++) {
let playerInfo = moduel[1].slice(13*i, 13*i+13);
if(playerInfo[0] == myPlayer.id) {
myPlayer.x = playerInfo[1];
myPlayer.y = playerInfo[2];
myPlayer.dir = playerInfo[3];
myPlayer.object = playerInfo[4];
myPlayer.weapon = playerInfo[5];
myPlayer.clan = playerInfo[7];
myPlayer.isLeader = playerInfo[8];
myPlayer.hat = playerInfo[9];
myPlayer.accessory = playerInfo[10];
myPlayer.isSkull = playerInfo[11];
} else if(playerInfo[7] != myPlayer.clan || playerInfo[7] === null) {
enemiesNear.push(playerInfo);
}
}
}
isEnemyNear = false;
if (enemiesNear) {
nearestEnemy = enemiesNear.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
}
if (nearestEnemy) {
nearestEnemyAngle = Math.atan2(nearestEnemy[2] - myPlayer.y, nearestEnemy[1] - myPlayer.x);
if (Math.sqrt(Math.pow((myPlayer.y - nearestEnemy[2]), 2) + Math.pow((myPlayer.x - nearestEnemy[1]), 2)) < 300) {
isEnemyNear = true;
if(AutoAim == false && myPlayer.hat != 7 && myPlayer.hat != 53) {
normalHat = 6;
if(primary != 8) {
normalAcc = 21;
}
};
}
}
if(isEnemyNear == false && AutoAim == false) {
normalAcc = 11;
if (myPlayer.y < 2400){
normalHat = 15;
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
normalHat = 31;
} else {
normalHat = 12;
}
}
if (!nearestEnemy) {
nearestEnemyAngle = myPlayer.dir;
}
update();
}
function doNewSend(sender){
ws.send(new Uint8Array(Array.from(msgpack5.encode(sender))));
}
function storeBuy(newHat, newAcc) {
doNewSend(["13c", [1, newHat, 0]]);
doNewSend(["13c", [1, newAcc, 1]]);
}
function storeEquip(newHat, newAcc) {
doNewSend(["13c", [0, newHat, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, newAcc, 1]]);
}
function armor(id) {
doNewSend(["13c", [0, id, 0]]);
}
function acc(id) {
doNewSend(["13c", [0, id, 1]]);
}
function chat(string) {
doNewSend(["ch", [string]]);
}
function hat(newHat, newAcc) {
if(Hacks) {
if (window.location.host == "sandbox.moomoo.io") {
storeBuy(newHat, newAcc);
}
storeEquip(newHat, newAcc);
}
}
function _place(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) {
if(Hacks) {
doNewSend(["5", [id, null]]);
doNewSend(["c", [1, angle]]);
doNewSend(["c", [0, angle]]);
doNewSend(["5", [myPlayer.weapon, true]]);
}
}
function boostSpike() {
if(Hacks) {
if(boostDir == null) {
boostDir = nearestEnemyAngle;
}
_place(spikeType, boostDir + toRad(90));
_place(spikeType, boostDir - toRad(90));
_place(boostType, boostDir);
doNewSend(["33", [boostDir]]);
}
}
var repeater = function(key, action, interval) {
let _isKeyDown = false;
let _intervalId = undefined;
return {
start(keycode) {
if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
_isKeyDown = true;
if(_intervalId === undefined) {
_intervalId = setInterval(() => {
action();
if(!_isKeyDown){
clearInterval(_intervalId);
_intervalId = undefined;
console.log("claered");
}
}, interval);
}
}
},
stop(keycode) {
if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
_isKeyDown = false;
}
}
};
}
const foodPlacer = repeater(81, () => {_place(foodType)}, 0);
const spawnPlacer = repeater(48, () => {_place(spawnpadType)}, 0);
const wallPlacer = repeater(52, () => {_place(wallType)}, 0);
const boostSpiker = repeater(71, boostSpike, 0);
document.addEventListener('keydown', (e)=>{
foodPlacer.start(e.keyCode);
wallPlacer.start(e.keyCode);
spawnPlacer.start(e.keyCode);
boostSpiker.start(e.keyCode);
function quad(type, amount, ang) {
for (let i = 0; i < amount; i++){
let angle = myPlayer.dir + toRad(i * ang);
_place(type, angle)
}
}
function double(id) {
_place(id, myPlayer.dir + toRad(45));
_place(id, myPlayer.dir - toRad(45));
}
if (e.keyCode == 77 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (myPlayer.y < 2400){
hat(15, 11);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
hat(31, 11);
} else {
hat(12, 11);
}
}
if(e.keyCode == 38 && document.activeElement.id.toLowerCase() !== 'chatbox') {
messageToggle = !messageToggle;
message.count = 0;
}
if(e.keyCode == 40 && document.activeElement.id.toLowerCase() !== 'chatbox') {
clanToggle = !clanToggle;
clan.count = 0;
}
})
document.addEventListener('keyup', (e)=>{
foodPlacer.stop(e.keyCode);
spawnPlacer.stop(e.keyCode);
wallPlacer.stop(e.keyCode);
boostSpiker.stop(e.keyCode);
if(e.keyCode == 71 && document.activeElement.id.toLowerCase() !== 'chatbox') {
setTimeout( () => {
doNewSend(["33", [null]]);
boostDir = null;
}, 10);
}
})
function isElementVisible(e) {
return (e.offsetParent !== null);
}
function toRad(angle) {
return angle * 0.01745329251;
}
function dist(a, b){
return Math.sqrt( Math.pow((b.y-a[2]), 2) + Math.pow((b.x-a[1]), 2) );
}
let message = {
count: 0,
max: 55,
speed: 1000,
chats: [
'You need to subscribe to D_Alpha',
'you need to subscribe to D_Omega',
'like and subscribe to D_Alpha',
'like and sunscribe to D_Omega',
'Sub to D_Alpha YT',
'Sub to D_Omega YT',
]
};
setInterval(() => {
if(messageToggle) {
message.count++
if(message.count == message.max){
message.count = 0;
}
}
}, message.speed);
function makeClan(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
let clan = {
count: 0,
max: 5,
speed: 0,
chats: [makeClan(7)]
};
/*
setInterval(() => {
if(clanToggle) {
clan.count++
if(clan.count == clan.max){
clan.count = 0;
}
}
});
*/
function animate(space, chance) {
let result = '';
let characters;
if(space) {
characters = message.chats[message.count];
} else {
characters = makeClan(7);
}
if(space) {
characters = characters.padStart((30 - characters.length) / 2 + characters.length)
characters = characters.padEnd(30);
}
let count = 0;
for (let i = 0; i < characters.length; i++ ) {
if(Math.floor(Math.random() * chance) == 0 && characters.charAt(i) != "_" && count < 0 && characters.charAt(i) != "_") {
result += "_";
count++
} else {
result += characters.charAt(i);
}
}
return result;
}
function update() {
for (let i=0;i<9;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
primary = i;
}
}
for (let i=9;i<16;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
secondary = i;
}
}
for (let i=16;i<19;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
foodType = i - 16;
}
}
for (let i=19;i<22;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
wallType = i - 16;
}
}
for (let i=22;i<26;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
spikeType = i - 16;
}
}
for (let i=26;i<29;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
millType = i - 16;
}
}
for (let i=29;i<31;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
mineType = i - 16;
}
}
for (let i=31;i<33;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
boostType = i - 16;
}
}
for (let i=33;i<39;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString())) && i != 36){
turretType = i - 16;
}
}
spawnpadType = 36;
for (let i=36;i<37;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
spawnpadType = i - 16;
}
}
}
var Progress = 0;
function loading() {
setInterval(() => {
if(Progress != 99) {
Progress++
}else{
setTimeout(() => {
Progress++
},100);
}
$(".loadingBar").val(Progress)
},19);
document.getElementById("loadingText").innerHTML = '<progress id="loadingText" value="0" max="100" class="loadingBar"></progress>'
}
loading()
let AntiInvis = {}
let { rotate } = CanvasRenderingContext2D.prototype
AntiInvis.init = function() {
AntiInvis.toggler = true
AntiInvis.opacity = 0.7// 0.7 opacity to check for invis
AntiInvis.invisibleAngle = 38e38
}
AntiInvis.init()
AntiInvis.getFixedDir = function(angle) {
return Math.atan2(Math.sin(angle), Math.cos(angle))
}
AntiInvis.isAbnormalDir = function(angle) {
if (angle <= -AntiInvis.invisibleAngle || angle >= AntiInvis.invisibleAngle) {
return true
}
return false
}
AntiInvis.setOpacity = function(opacity) {
this.globalAlpha = opacity
}
CanvasRenderingContext2D.prototype.rotate = function(angle) {
if (AntiInvis.isAbnormalDir(angle) && AntiInvis.toggler) {
angle = AntiInvis.getFixedDir(angle)
AntiInvis.setOpacity.call(this, AntiInvis.opacity)
return rotate.call(this, angle)
}
return rotate.apply(this, arguments)
}
var testing;
function afk(src, cb=()=>{}) {
let s = document.createElement("SCRIPT");
s.src = src;
document.body.appendChild(s);
s.onload = cb;
}
/*
afk("https://eight-evening-slug.glitch.me/moomoo.js", () => {
//ScriptWorker();
});*/
var DisableKeys = false;
document.title = "a";
let Wish = 0;
let Fixed = [];
document.rarar = 15;
let CPS = 1;
let Nighte = 0;
let Spinner = true;
let AutoPlace = false;
let AutoHeal = true
let InvisProj = true;
let InvisItem = true;
let AssassinGear = false;
let AutoBreak = true;
let Aim360 = false;
let HatLoop = false;
let Mill = {x: null, y: null, z: false, k: null};
let UI = true;
let qMode = false;
!(function(e) {
var t = {};
function n(i) {
if (t[i]) return t[i].exports;
var r = (t[i] = {
i: i,
l: !1,
exports: {}
});
return e[i].call(r.exports, r, r.exports, n), (r.l = !0), r.exports;
}
(n.m = e),
(n.c = t),
(n.d = function(e, t, i) {
n.o(e, t) || Object.defineProperty(e, t, {
enumerable: !0,
get: i
});
}),
(n.r = function(e) {
"undefined" != typeof Symbol &&
Symbol.toStringTag &&
Object.defineProperty(e, Symbol.toStringTag, {
value: "Module"
}),
Object.defineProperty(e, "__esModule", {
value: !0
});
}),
(n.t = function(e, t) {
if ((1 & t && (e = n(e)), 8 & t)) return e;
if (4 & t && "object" == typeof e && e && e.__esModule) return e;
var i = Object.create(null);
if (
(n.r(i),
Object.defineProperty(i, "default", {
enumerable: !0,
value: e
}),
2 & t && "string" != typeof e)
)
for (var r in e)
n.d(
i,
r,
function(t) {
return e[t];
}.bind(null, r),
);
return i;
}),
(n.n = function(e) {
var t =
e && e.__esModule ?
function() {
return e.default;
} :
function() {
return e;
};
return n.d(t, "a", t), t;
}),
(n.o = function(e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}),
(n.p = ""),
n((n.s = 21));
})([
function(e, t, n) {
var i = (t.global = n(25)),
r = (t.hasBuffer = i && !!i.isBuffer),
s = (t.hasArrayBuffer = "undefined" != typeof ArrayBuffer),
a = (t.isArray = n(5));
t.isArrayBuffer = s ?
function(e) {
return e instanceof ArrayBuffer || p(e);
} :
m;
var o = (t.isBuffer = r ? i.isBuffer : m),
c = (t.isView = s ? ArrayBuffer.isView || y("ArrayBuffer", "buffer") : m);
(t.alloc = d),
(t.concat = function(e, n) {
n ||
((n = 0),
Array.prototype.forEach.call(e, function(e) {
n += e.length;
}));
var i = (this !== t && this) || e[0],
r = d.call(i, n),
s = 0;
return (
Array.prototype.forEach.call(e, function(e) {
s += f.copy.call(e, r, s);
}),
r
);
}),
(t.from = function(e) {
return "string" == typeof e ?
function(e) {
var t = 3 * e.length,
n = d.call(this, t),
i = f.write.call(n, e);
return t !== i && (n = f.slice.call(n, 0, i)), n;
}.call(this, e) :
g(this).from(e);
});
var l = (t.Array = n(28)),
h = (t.Buffer = n(29)),
u = (t.Uint8Array = n(30)),
f = (t.prototype = n(6));
function d(e) {
return g(this).alloc(e);
}
var p = y("ArrayBuffer");
function g(e) {
return o(e) ? h : c(e) ? u : a(e) ? l : r ? h : s ? u : l;
}
function m() {
return !1;
}
function y(e, t) {
return (
(e = "[object " + e + "]"),
function(n) {
return null != n && {}.toString.call(t ? n[t] : n) === e;
}
);
}
},
function(e, t, n) {
var i = n(5);
(t.createCodec = o),
(t.install = function(e) {
for (var t in e) s.prototype[t] = a(s.prototype[t], e[t]);
}),
(t.filter = function(e) {
return i(e) ?
(function(e) {
return (
(e = e.slice()),
function(n) {
return e.reduce(t, n);
}
);
function t(e, t) {
return t(e);
}
})(e) :
e;
});
var r = n(0);
function s(e) {
if (!(this instanceof s)) return new s(e);
(this.options = e), this.init();
}
function a(e, t) {
return e && t ?
function() {
return e.apply(this, arguments), t.apply(this, arguments);
} :
e || t;
}
function o(e) {
return new s(e);
}
(s.prototype.init = function() {
var e = this.options;
return e && e.uint8array && (this.bufferish = r.Uint8Array), this;
}),
(t.preset = o({
preset: !0
}));
},
function(e, t, n) {
var i = n(3).ExtBuffer,
r = n(32),
s = n(33),
a = n(1);
function o() {
var e = this.options;
return (
(this.encode = (function(e) {
var t = s.getWriteType(e);
return function(e, n) {
var i = t[typeof n];
if (!i)
throw new Error('Unsupported type "' + typeof n + '": ' + n);
i(e, n);
};
})(e)),
e && e.preset && r.setExtPackers(this),
this
);
}
a.install({
addExtPacker: function(e, t, n) {
n = a.filter(n);
var r = t.name;
r && "Object" !== r ?
((this.extPackers || (this.extPackers = {}))[r] = s) :
(this.extEncoderList || (this.extEncoderList = [])).unshift([t, s]);
function s(t) {
return n && (t = n(t)), new i(t, e);
}
},
getExtPacker: function(e) {
var t = this.extPackers || (this.extPackers = {}),
n = e.constructor,
i = n && n.name && t[n.name];
if (i) return i;
for (
var r = this.extEncoderList || (this.extEncoderList = []),
s = r.length,
a = 0; a < s; a++
) {
var o = r[a];
if (n === o[0]) return o[1];
}
},
init: o,
}),
(t.preset = o.call(a.preset));
},
function(e, t, n) {
t.ExtBuffer = function e(t, n) {
if (!(this instanceof e)) return new e(t, n);
(this.buffer = i.from(t)), (this.type = n);
};
var i = n(0);
},
function(e, t) {
(t.read = function(e, t, n, i, r) {
var s,
a,
o = 8 * r - i - 1,
c = (1 << o) - 1,
l = c >> 1,
h = -7,
u = n ? r - 1 : 0,
f = n ? -1 : 1,
d = e[t + u];
for (
u += f, s = d & ((1 << -h) - 1), d >>= -h, h += o; h > 0; s = 256 * s + e[t + u], u += f, h -= 8
);
for (
a = s & ((1 << -h) - 1), s >>= -h, h += i; h > 0; a = 256 * a + e[t + u], u += f, h -= 8
);
if (0 === s) s = 1 - l;
else {
if (s === c) return a ? NaN : (1 / 0) * (d ? -1 : 1);
(a += Math.pow(2, i)), (s -= l);
}
return (d ? -1 : 1) * a * Math.pow(2, s - i);
}),
(t.write = function(e, t, n, i, r, s) {
var a,
o,
c,
l = 8 * s - r - 1,
h = (1 << l) - 1,
u = h >> 1,
f = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
d = i ? 0 : s - 1,
p = i ? 1 : -1,
g = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0;
for (
t = Math.abs(t),
isNaN(t) || t === 1 / 0 ?
((o = isNaN(t) ? 1 : 0), (a = h)) :
((a = Math.floor(Math.log(t) / Math.LN2)),
t * (c = Math.pow(2, -a)) < 1 && (a--, (c *= 2)),
(t += a + u >= 1 ? f / c : f * Math.pow(2, 1 - u)) * c >= 2 &&
(a++, (c /= 2)),
a + u >= h ?
((o = 0), (a = h)) :
a + u >= 1 ?
((o = (t * c - 1) * Math.pow(2, r)), (a += u)) :
((o = t * Math.pow(2, u - 1) * Math.pow(2, r)), (a = 0))); r >= 8; e[n + d] = 255 & o, d += p, o /= 256, r -= 8
);
for (
a = (a << r) | o, l += r; l > 0; e[n + d] = 255 & a, d += p, a /= 256, l -= 8
);
e[n + d - p] |= 128 * g;
});
},
function(e, t) {
var n = {}.toString;
e.exports =
Array.isArray ||
function(e) {
return "[object Array]" == n.call(e);
};
},
function(e, t, n) {
var i = n(31);
(t.copy = c),
(t.slice = l),
(t.toString = function(e, t, n) {
return (!a && r.isBuffer(this) ? this.toString : i.toString).apply(
this,
arguments,
);
}),
(t.write = (function(e) {
return function() {
return (this[e] || i[e]).apply(this, arguments);
};
})("write"));
var r = n(0),
s = r.global,
a = r.hasBuffer && "TYPED_ARRAY_SUPPORT" in s,
o = a && !s.TYPED_ARRAY_SUPPORT;
function c(e, t, n, s) {
var a = r.isBuffer(this),
c = r.isBuffer(e);
if (a && c) return this.copy(e, t, n, s);
if (o || a || c || !r.isView(this) || !r.isView(e))
return i.copy.call(this, e, t, n, s);
var h = n || null != s ? l.call(this, n, s) : this;
return e.set(h, t), h.length;
}
function l(e, t) {
var n = this.slice || (!o && this.subarray);
if (n) return n.call(this, e, t);
var i = r.alloc.call(this, t - e);
return c.call(this, i, 0, e, t), i;
}
},
function(e, t, n) {
(function(e) {
!(function(t) {
var n,
i = "undefined",
r = i !== typeof e && e,
s = i !== typeof Uint8Array && Uint8Array,
a = i !== typeof ArrayBuffer && ArrayBuffer,
o = [0, 0, 0, 0, 0, 0, 0, 0],
c =
Array.isArray ||
function(e) {
return (
!!e && "[object Array]" == Object.prototype.toString.call(e)
);
},
l = 4294967296;
function h(e, c, h) {
var b = c ? 0 : 4,
x = c ? 4 : 0,
S = c ? 0 : 3,
T = c ? 1 : 2,
I = c ? 2 : 1,
E = c ? 3 : 0,
M = c ? y : v,
A = c ? k : w,
P = O.prototype,
B = "is" + e,
C = "_" + B;
return (
(P.buffer = void 0),
(P.offset = 0),
(P[C] = !0),
(P.toNumber = R),
(P.toString = function(e) {
var t = this.buffer,
n = this.offset,
i = _(t, n + b),
r = _(t, n + x),
s = "",
a = !h && 2147483648 & i;
for (a && ((i = ~i), (r = l - r)), e = e || 10;;) {
var o = (i % e) * l + r;
if (
((i = Math.floor(i / e)),
(r = Math.floor(o / e)),
(s = (o % e).toString(e) + s),
!i && !r)
)
break;
}
return a && (s = "-" + s), s;
}),
(P.toJSON = R),
(P.toArray = u),
r && (P.toBuffer = f),
s && (P.toArrayBuffer = d),
(O[B] = function(e) {
return !(!e || !e[C]);
}),
(t[e] = O),
O
);
function O(e, t, r, c) {
return this instanceof O ?
(function(e, t, r, c, h) {
if (
(s &&
a &&
(t instanceof a && (t = new s(t)),
c instanceof a && (c = new s(c))),
t || r || c || n)
) {
if (!p(t, r))
(h = r), (c = t), (r = 0), (t = new(n || Array)(8));
(e.buffer = t),
(e.offset = r |= 0),
i !== typeof c &&
("string" == typeof c ?
(function(e, t, n, i) {
var r = 0,
s = n.length,
a = 0,
o = 0;
"-" === n[0] && r++;
for (var c = r; r < s;) {
var h = parseInt(n[r++], i);
if (!(h >= 0)) break;
(o = o * i + h),
(a = a * i + Math.floor(o / l)),
(o %= l);
}
c && ((a = ~a), o ? (o = l - o) : a++),
j(e, t + b, a),
j(e, t + x, o);
})(t, r, c, h || 10) :
p(c, h) ?
g(t, r, c, h) :
"number" == typeof h ?
(j(t, r + b, c), j(t, r + x, h)) :
c > 0 ?
M(t, r, c) :
c < 0 ?
A(t, r, c) :
g(t, r, o, 0));
} else e.buffer = m(o, 0);
})(this, e, t, r, c) :
new O(e, t, r, c);
}
function R() {
var e = this.buffer,
t = this.offset,
n = _(e, t + b),
i = _(e, t + x);
return h || (n |= 0), n ? n * l + i : i;
}
function j(e, t, n) {
(e[t + E] = 255 & n),
(n >>= 8),
(e[t + I] = 255 & n),
(n >>= 8),
(e[t + T] = 255 & n),
(n >>= 8),
(e[t + S] = 255 & n);
}
function _(e, t) {
return (
16777216 * e[t + S] +
(e[t + T] << 16) +
(e[t + I] << 8) +
e[t + E]
);
}
}
function u(e) {
var t = this.buffer,
i = this.offset;
return (
(n = null),
!1 !== e && 0 === i && 8 === t.length && c(t) ? t : m(t, i)
);
}
function f(t) {
var i = this.buffer,
s = this.offset;
if (((n = r), !1 !== t && 0 === s && 8 === i.length && e.isBuffer(i)))
return i;
var a = new r(8);
return g(a, 0, i, s), a;
}
function d(e) {
var t = this.buffer,
i = this.offset,
r = t.buffer;
if (
((n = s),
!1 !== e && 0 === i && r instanceof a && 8 === r.byteLength)
)
return r;
var o = new s(8);
return g(o, 0, t, i), o.buffer;
}
function p(e, t) {
var n = e && e.length;
return (t |= 0), n && t + 8 <= n && "string" != typeof e[t];
}
function g(e, t, n, i) {
(t |= 0), (i |= 0);
for (var r = 0; r < 8; r++) e[t++] = 255 & n[i++];
}
function m(e, t) {
return Array.prototype.slice.call(e, t, t + 8);
}
function y(e, t, n) {
for (var i = t + 8; i > t;)(e[--i] = 255 & n), (n /= 256);
}
function k(e, t, n) {
var i = t + 8;
for (n++; i > t;)(e[--i] = (255 & -n) ^ 255), (n /= 256);
}
function v(e, t, n) {
for (var i = t + 8; t < i;)(e[t++] = 255 & n), (n /= 256);
}
function w(e, t, n) {
var i = t + 8;
for (n++; t < i;)(e[t++] = (255 & -n) ^ 255), (n /= 256);
}
h("Uint64BE", !0, !0),
h("Int64BE", !0, !1),
h("Uint64LE", !1, !0),
h("Int64LE", !1, !1);
})("string" != typeof t.nodeName ? t : this || {});
}.call(this, n(11).Buffer));
},
function(e, t, n) {
var i = n(3).ExtBuffer,
r = n(35),
s = n(17).readUint8,
a = n(36),
o = n(1);
function c() {
var e = this.options;
return (
(this.decode = (function(e) {
var t = a.getReadToken(e);
return function(e) {
var n = s(e),
i = t[n];
if (!i)
throw new Error(
"Invalid type: " + (n ? "0x" + n.toString(16) : n),
);
return i(e);
};
})(e)),
e && e.preset && r.setExtUnpackers(this),
this
);
}
o.install({
addExtUnpacker: function(e, t) {
(this.extUnpackers || (this.extUnpackers = []))[e] = o.filter(t);
},
getExtUnpacker: function(e) {
return (
(this.extUnpackers || (this.extUnpackers = []))[e] ||
function(t) {
return new i(t, e);
}
);
},
init: c,
}),
(t.preset = c.call(o.preset));
},
function(e, t, n) {
t.encode = function(e, t) {
var n = new i(t);
return n.write(e), n.read();
};
var i = n(10).EncodeBuffer;
},
function(e, t, n) {
t.EncodeBuffer = r;
var i = n(2).preset;
function r(e) {
if (!(this instanceof r)) return new r(e);
if (e && ((this.options = e), e.codec)) {
var t = (this.codec = e.codec);
t.bufferish && (this.bufferish = t.bufferish);
}
}
n(14).FlexEncoder.mixin(r.prototype),
(r.prototype.codec = i),
(r.prototype.write = function(e) {
this.codec.encode(this, e);
});
},
function(e, t, n) {
"use strict";
(function(e) {
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var i = n(26),
r = n(4),
s = n(27);
function a() {
return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
}
function o(e, t) {
if (a() < t) throw new RangeError("Invalid typed array length");
return (
c.TYPED_ARRAY_SUPPORT ?
((e = new Uint8Array(t)).__proto__ = c.prototype) :
(null === e && (e = new c(t)), (e.length = t)),
e
);
}
function c(e, t, n) {
if (!(c.TYPED_ARRAY_SUPPORT || this instanceof c))
return new c(e, t, n);
if ("number" == typeof e) {
if ("string" == typeof t)
throw new Error(
"If encoding is specified then the first argument must be a string",
);
return u(this, e);
}
return l(this, e, t, n);
}
function l(e, t, n, i) {
if ("number" == typeof t)
throw new TypeError('"value" argument must not be a number');
return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ?
(function(e, t, n, i) {
if ((t.byteLength, n < 0 || t.byteLength < n))
throw new RangeError("'offset' is out of bounds");
if (t.byteLength < n + (i || 0))
throw new RangeError("'length' is out of bounds");
return (
(t =
void 0 === n && void 0 === i ?
new Uint8Array(t) :
void 0 === i ?
new Uint8Array(t, n) :
new Uint8Array(t, n, i)),
c.TYPED_ARRAY_SUPPORT ?
((e = t).__proto__ = c.prototype) :
(e = f(e, t)),
e
);
})(e, t, n, i) :
"string" == typeof t ?
(function(e, t, n) {
if (
(("string" == typeof n && "" !== n) || (n = "utf8"),
!c.isEncoding(n))
)
throw new TypeError(
'"encoding" must be a valid string encoding',
);
var i = 0 | p(t, n),
r = (e = o(e, i)).write(t, n);
return r !== i && (e = e.slice(0, r)), e;
})(e, t, n) :
(function(e, t) {
if (c.isBuffer(t)) {
var n = 0 | d(t.length);
return 0 === (e = o(e, n)).length || t.copy(e, 0, 0, n), e;
}
if (t) {
if (
("undefined" != typeof ArrayBuffer &&
t.buffer instanceof ArrayBuffer) ||
"length" in t
)
return "number" != typeof t.length ||
(function(e) {
return e != e;
})(t.length) ?
o(e, 0) :
f(e, t);
if ("Buffer" === t.type && s(t.data)) return f(e, t.data);
}
throw new TypeError(
"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.",
);
})(e, t);
}
function h(e) {
if ("number" != typeof e)
throw new TypeError('"size" argument must be a number');
if (e < 0) throw new RangeError('"size" argument must not be negative');
}
function u(e, t) {
if ((h(t), (e = o(e, t < 0 ? 0 : 0 | d(t))), !c.TYPED_ARRAY_SUPPORT))
for (var n = 0; n < t; ++n) e[n] = 0;
return e;
}
function f(e, t) {
var n = t.length < 0 ? 0 : 0 | d(t.length);
e = o(e, n);
for (var i = 0; i < n; i += 1) e[i] = 255 & t[i];
return e;
}
function d(e) {
if (e >= a())
throw new RangeError(
"Attempt to allocate Buffer larger than maximum size: 0x" +
a().toString(16) +
" bytes",
);
return 0 | e;
}
function p(e, t) {
if (c.isBuffer(e)) return e.length;
if (
"undefined" != typeof ArrayBuffer &&
"function" == typeof ArrayBuffer.isView &&
(ArrayBuffer.isView(e) || e instanceof ArrayBuffer)
)
return e.byteLength;
"string" != typeof e && (e = "" + e);
var n = e.length;
if (0 === n) return 0;
for (var i = !1;;)
switch (t) {
case "ascii":
case "latin1":
case "binary":
return n;
case "utf8":
case "utf-8":
case void 0:
return z(e).length;
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return 2 * n;
case "hex":
return n >>> 1;
case "base64":
return H(e).length;
default:
if (i) return z(e).length;
(t = ("" + t).toLowerCase()), (i = !0);
}
}
function g(e, t, n) {
var i = e[t];
(e[t] = e[n]), (e[n] = i);
}
function m(e, t, n, i, r) {
if (0 === e.length) return -1;
if (
("string" == typeof n ?
((i = n), (n = 0)) :
n > 2147483647 ?
(n = 2147483647) :
n < -2147483648 && (n = -2147483648),
(n = +n),
isNaN(n) && (n = r ? 0 : e.length - 1),
n < 0 && (n = e.length + n),
n >= e.length)
) {
if (r) return -1;
n = e.length - 1;
} else if (n < 0) {
if (!r) return -1;
n = 0;
}
if (("string" == typeof t && (t = c.from(t, i)), c.isBuffer(t)))
return 0 === t.length ? -1 : y(e, t, n, i, r);
if ("number" == typeof t)
return (
(t &= 255),
c.TYPED_ARRAY_SUPPORT &&
"function" == typeof Uint8Array.prototype.indexOf ?
r ?
Uint8Array.prototype.indexOf.call(e, t, n) :
Uint8Array.prototype.lastIndexOf.call(e, t, n) :
y(e, [t], n, i, r)
);
throw new TypeError("val must be string, number or Buffer");
}
function y(e, t, n, i, r) {
var s,
a = 1,
o = e.length,
c = t.length;
if (
void 0 !== i &&
("ucs2" === (i = String(i).toLowerCase()) ||
"ucs-2" === i ||
"utf16le" === i ||
"utf-16le" === i)
) {
if (e.length < 2 || t.length < 2) return -1;
(a = 2), (o /= 2), (c /= 2), (n /= 2);
}
function l(e, t) {
return 1 === a ? e[t] : e.readUInt16BE(t * a);
}
if (r) {
var h = -1;
for (s = n; s < o; s++)
if (l(e, s) === l(t, -1 === h ? 0 : s - h)) {
if ((-1 === h && (h = s), s - h + 1 === c)) return h * a;
} else -1 !== h && (s -= s - h), (h = -1);
} else
for (n + c > o && (n = o - c), s = n; s >= 0; s--) {
for (var u = !0, f = 0; f < c; f++)
if (l(e, s + f) !== l(t, f)) {
u = !1;
break;
}
if (u) return s;
}
return -1;
}
function k(e, t, n, i) {
n = Number(n) || 0;
var r = e.length - n;
i ? (i = Number(i)) > r && (i = r) : (i = r);
var s = t.length;
if (s % 2 != 0) throw new TypeError("Invalid hex string");
i > s / 2 && (i = s / 2);
for (var a = 0; a < i; ++a) {
var o = parseInt(t.substr(2 * a, 2), 16);
if (isNaN(o)) return a;
e[n + a] = o;
}
return a;
}
function v(e, t, n, i) {
return V(z(t, e.length - n), e, n, i);
}
function w(e, t, n, i) {
return V(
(function(e) {
for (var t = [], n = 0; n < e.length; ++n)
t.push(255 & e.charCodeAt(n));
return t;
})(t),
e,
n,
i,
);
}
function b(e, t, n, i) {
return w(e, t, n, i);
}
function x(e, t, n, i) {
return V(H(t), e, n, i);
}
function S(e, t, n, i) {
return V(
(function(e, t) {
for (
var n, i, r, s = [], a = 0; a < e.length && !((t -= 2) < 0);
++a
)
(i = (n = e.charCodeAt(a)) >> 8),
(r = n % 256),
s.push(r),
s.push(i);
return s;
})(t, e.length - n),
e,
n,
i,
);
}
function T(e, t, n) {
return 0 === t && n === e.length ?
i.fromByteArray(e) :
i.fromByteArray(e.slice(t, n));
}
function I(e, t, n) {
n = Math.min(e.length, n);
for (var i = [], r = t; r < n;) {
var s,
a,
o,
c,
l = e[r],
h = null,
u = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;
if (r + u <= n)
switch (u) {
case 1:
l < 128 && (h = l);
break;
case 2:
128 == (192 & (s = e[r + 1])) &&
(c = ((31 & l) << 6) | (63 & s)) > 127 &&
(h = c);
break;
case 3:
(s = e[r + 1]),
(a = e[r + 2]),
128 == (192 & s) &&
128 == (192 & a) &&
(c = ((15 & l) << 12) | ((63 & s) << 6) | (63 & a)) >
2047 &&
(c < 55296 || c > 57343) &&
(h = c);
break;
case 4:
(s = e[r + 1]),
(a = e[r + 2]),
(o = e[r + 3]),
128 == (192 & s) &&
128 == (192 & a) &&
128 == (192 & o) &&
(c =
((15 & l) << 18) |
((63 & s) << 12) |
((63 & a) << 6) |
(63 & o)) > 65535 &&
c < 1114112 &&
(h = c);
}
null === h ?
((h = 65533), (u = 1)) :
h > 65535 &&
((h -= 65536),
i.push(((h >>> 10) & 1023) | 55296),
(h = 56320 | (1023 & h))),
i.push(h),
(r += u);
}
return (function(e) {
var t = e.length;
if (t <= E) return String.fromCharCode.apply(String, e);
for (var n = "", i = 0; i < t;)
n += String.fromCharCode.apply(String, e.slice(i, (i += E)));
return n;
})(i);
}
(t.Buffer = c),
(t.SlowBuffer = function(e) {
return +e != e && (e = 0), c.alloc(+e);
}),
(t.INSPECT_MAX_BYTES = 50),
(c.TYPED_ARRAY_SUPPORT =
void 0 !== e.TYPED_ARRAY_SUPPORT ?
e.TYPED_ARRAY_SUPPORT :
(function() {
try {
var e = new Uint8Array(1);
return (
(e.__proto__ = {
__proto__: Uint8Array.prototype,
foo: function() {
return 42;
},
}),
42 === e.foo() &&
"function" == typeof e.subarray &&
0 === e.subarray(1, 1).byteLength
);
} catch (e) {
return !1;
}
})()),
(t.kMaxLength = a()),
(c.poolSize = 8192),
(c._augment = function(e) {
return (e.__proto__ = c.prototype), e;
}),
(c.from = function(e, t, n) {
return l(null, e, t, n);
}),
c.TYPED_ARRAY_SUPPORT &&
((c.prototype.__proto__ = Uint8Array.prototype),
(c.__proto__ = Uint8Array),
"undefined" != typeof Symbol &&
Symbol.species &&
c[Symbol.species] === c &&
Object.defineProperty(c, Symbol.species, {
value: null,
configurable: !0,
})),
(c.alloc = function(e, t, n) {
return (function(e, t, n, i) {
return (
h(t),
t <= 0 ?
o(e, t) :
void 0 !== n ?
"string" == typeof i ?
o(e, t).fill(n, i) :
o(e, t).fill(n) :
o(e, t)
);
})(null, e, t, n);
}),
(c.allocUnsafe = function(e) {
return u(null, e);
}),
(c.allocUnsafeSlow = function(e) {
return u(null, e);
}),
(c.isBuffer = function(e) {
return !(null == e || !e._isBuffer);
}),
(c.compare = function(e, t) {
if (!c.isBuffer(e) || !c.isBuffer(t))
throw new TypeError("Arguments must be Buffers");
if (e === t) return 0;
for (
var n = e.length, i = t.length, r = 0, s = Math.min(n, i); r < s;
++r
)
if (e[r] !== t[r]) {
(n = e[r]), (i = t[r]);
break;
}
return n < i ? -1 : i < n ? 1 : 0;
}),
(c.isEncoding = function(e) {
switch (String(e).toLowerCase()) {
case "hex":
case "utf8":
case "utf-8":
case "ascii":
case "latin1":
case "binary":
case "base64":
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return !0;
default:
return !1;
}
}),
(c.concat = function(e, t) {
if (!s(e))
throw new TypeError('"list" argument must be an Array of Buffers');
if (0 === e.length) return c.alloc(0);
var n;
if (void 0 === t)
for (t = 0, n = 0; n < e.length; ++n) t += e[n].length;
var i = c.allocUnsafe(t),
r = 0;
for (n = 0; n < e.length; ++n) {
var a = e[n];
if (!c.isBuffer(a))
throw new TypeError(
'"list" argument must be an Array of Buffers',
);
a.copy(i, r), (r += a.length);
}
return i;
}),
(c.byteLength = p),
(c.prototype._isBuffer = !0),
(c.prototype.swap16 = function() {
var e = this.length;
if (e % 2 != 0)
throw new RangeError("Buffer size must be a multiple of 16-bits");
for (var t = 0; t < e; t += 2) g(this, t, t + 1);
return this;
}),
(c.prototype.swap32 = function() {
var e = this.length;
if (e % 4 != 0)
throw new RangeError("Buffer size must be a multiple of 32-bits");
for (var t = 0; t < e; t += 4)
g(this, t, t + 3), g(this, t + 1, t + 2);
return this;
}),
(c.prototype.swap64 = function() {
var e = this.length;
if (e % 8 != 0)
throw new RangeError("Buffer size must be a multiple of 64-bits");
for (var t = 0; t < e; t += 8)
g(this, t, t + 7),
g(this, t + 1, t + 6),
g(this, t + 2, t + 5),
g(this, t + 3, t + 4);
return this;
}),
(c.prototype.toString = function() {
var e = 0 | this.length;
return 0 === e ?
"" :
0 === arguments.length ?
I(this, 0, e) :
function(e, t, n) {
var i = !1;
if (((void 0 === t || t < 0) && (t = 0), t > this.length))
return "";
if (
((void 0 === n || n > this.length) && (n = this.length),
n <= 0)
)
return "";
if ((n >>>= 0) <= (t >>>= 0)) return "";
for (e || (e = "utf8");;)
switch (e) {
case "hex":
return P(this, t, n);
case "utf8":
case "utf-8":
return I(this, t, n);
case "ascii":
return M(this, t, n);
case "latin1":
case "binary":
return A(this, t, n);
case "base64":
return T(this, t, n);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return B(this, t, n);
default:
if (i) throw new TypeError("Unknown encoding: " + e);
(e = (e + "").toLowerCase()), (i = !0);
}
}.apply(this, arguments);
}),
(c.prototype.equals = function(e) {
if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
return this === e || 0 === c.compare(this, e);
}),
(c.prototype.inspect = function() {
var e = "",
n = t.INSPECT_MAX_BYTES;
return (
this.length > 0 &&
((e = this.toString("hex", 0, n).match(/.{2}/g).join(" ")),
this.length > n && (e += " ... ")),
"<Buffer " + e + ">"
);
}),
(c.prototype.compare = function(e, t, n, i, r) {
if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
if (
(void 0 === t && (t = 0),
void 0 === n && (n = e ? e.length : 0),
void 0 === i && (i = 0),
void 0 === r && (r = this.length),
t < 0 || n > e.length || i < 0 || r > this.length)
)
throw new RangeError("out of range index");
if (i >= r && t >= n) return 0;
if (i >= r) return -1;
if (t >= n) return 1;
if (this === e) return 0;
for (
var s = (r >>>= 0) - (i >>>= 0),
a = (n >>>= 0) - (t >>>= 0),
o = Math.min(s, a),
l = this.slice(i, r),
h = e.slice(t, n),
u = 0; u < o;
++u
)
if (l[u] !== h[u]) {
(s = l[u]), (a = h[u]);
break;
}
return s < a ? -1 : a < s ? 1 : 0;
}),
(c.prototype.includes = function(e, t, n) {
return -1 !== this.indexOf(e, t, n);
}),
(c.prototype.indexOf = function(e, t, n) {
return m(this, e, t, n, !0);
}),
(c.prototype.lastIndexOf = function(e, t, n) {
return m(this, e, t, n, !1);
}),
(c.prototype.write = function(e, t, n, i) {
if (void 0 === t)(i = "utf8"), (n = this.length), (t = 0);
else if (void 0 === n && "string" == typeof t)
(i = t), (n = this.length), (t = 0);
else {
if (!isFinite(t))
throw new Error(
"Buffer.write(string, encoding, offset[, length]) is no longer supported",
);
(t |= 0),
isFinite(n) ?
((n |= 0), void 0 === i && (i = "utf8")) :
((i = n), (n = void 0));
}
var r = this.length - t;
if (
((void 0 === n || n > r) && (n = r),
(e.length > 0 && (n < 0 || t < 0)) || t > this.length)
)
throw new RangeError("Attempt to write outside buffer bounds");
i || (i = "utf8");
for (var s = !1;;)
switch (i) {
case "hex":
return k(this, e, t, n);
case "utf8":
case "utf-8":
return v(this, e, t, n);
case "ascii":
return w(this, e, t, n);
case "latin1":
case "binary":
return b(this, e, t, n);
case "base64":
return x(this, e, t, n);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return S(this, e, t, n);
default:
if (s) throw new TypeError("Unknown encoding: " + i);
(i = ("" + i).toLowerCase()), (s = !0);
}
}),
(c.prototype.toJSON = function() {
return {
type: "Buffer",
data: Array.prototype.slice.call(this._arr || this, 0),
};
});
var E = 4096;
function M(e, t, n) {
var i = "";
n = Math.min(e.length, n);
for (var r = t; r < n; ++r) i += String.fromCharCode(127 & e[r]);
return i;
}
function A(e, t, n) {
var i = "";
n = Math.min(e.length, n);
for (var r = t; r < n; ++r) i += String.fromCharCode(e[r]);
return i;
}
function P(e, t, n) {
var i = e.length;
(!t || t < 0) && (t = 0), (!n || n < 0 || n > i) && (n = i);
for (var r = "", s = t; s < n; ++s) r += F(e[s]);
return r;
}
function B(e, t, n) {
for (var i = e.slice(t, n), r = "", s = 0; s < i.length; s += 2)
r += String.fromCharCode(i[s] + 256 * i[s + 1]);
return r;
}
function C(e, t, n) {
if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint");
if (e + t > n)
throw new RangeError("Trying to access beyond buffer length");
}
function O(e, t, n, i, r, s) {
if (!c.isBuffer(e))
throw new TypeError('"buffer" argument must be a Buffer instance');
if (t > r || t < s)
throw new RangeError('"value" argument is out of bounds');
if (n + i > e.length) throw new RangeError("Index out of range");
}
function R(e, t, n, i) {
t < 0 && (t = 65535 + t + 1);
for (var r = 0, s = Math.min(e.length - n, 2); r < s; ++r)
e[n + r] =
(t & (255 << (8 * (i ? r : 1 - r)))) >>> (8 * (i ? r : 1 - r));
}
function j(e, t, n, i) {
t < 0 && (t = 4294967295 + t + 1);
for (var r = 0, s = Math.min(e.length - n, 4); r < s; ++r)
e[n + r] = (t >>> (8 * (i ? r : 3 - r))) & 255;
}
function _(e, t, n, i, r, s) {
if (n + i > e.length) throw new RangeError("Index out of range");
if (n < 0) throw new RangeError("Index out of range");
}
function U(e, t, n, i, s) {
return s || _(e, 0, n, 4), r.write(e, t, n, i, 23, 4), n + 4;
}
function D(e, t, n, i, s) {
return s || _(e, 0, n, 8), r.write(e, t, n, i, 52, 8), n + 8;
}
(c.prototype.slice = function(e, t) {
var n,
i = this.length;
if (
((e = ~~e) < 0 ? (e += i) < 0 && (e = 0) : e > i && (e = i),
(t = void 0 === t ? i : ~~t) < 0 ?
(t += i) < 0 && (t = 0) :
t > i && (t = i),
t < e && (t = e),
c.TYPED_ARRAY_SUPPORT)
)
(n = this.subarray(e, t)).__proto__ = c.prototype;
else {
var r = t - e;
n = new c(r, void 0);
for (var s = 0; s < r; ++s) n[s] = this[s + e];
}
return n;
}),
(c.prototype.readUIntLE = function(e, t, n) {
(e |= 0), (t |= 0), n || C(e, t, this.length);
for (var i = this[e], r = 1, s = 0; ++s < t && (r *= 256);)
i += this[e + s] * r;
return i;
}),
(c.prototype.readUIntBE = function(e, t, n) {
(e |= 0), (t |= 0), n || C(e, t, this.length);
for (var i = this[e + --t], r = 1; t > 0 && (r *= 256);)
i += this[e + --t] * r;
return i;
}),
(c.prototype.readUInt8 = function(e, t) {
return t || C(e, 1, this.length), this[e];
}),
(c.prototype.readUInt16LE = function(e, t) {
return t || C(e, 2, this.length), this[e] | (this[e + 1] << 8);
}),
(c.prototype.readUInt16BE = function(e, t) {
return t || C(e, 2, this.length), (this[e] << 8) | this[e + 1];
}),
(c.prototype.readUInt32LE = function(e, t) {
return (
t || C(e, 4, this.length),
(this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) +
16777216 * this[e + 3]
);
}),
(c.prototype.readUInt32BE = function(e, t) {
return (
t || C(e, 4, this.length),
16777216 * this[e] +
((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3])
);
}),
(c.prototype.readIntLE = function(e, t, n) {
(e |= 0), (t |= 0), n || C(e, t, this.length);
for (var i = this[e], r = 1, s = 0; ++s < t && (r *= 256);)
i += this[e + s] * r;
return i >= (r *= 128) && (i -= Math.pow(2, 8 * t)), i;
}),
(c.prototype.readIntBE = function(e, t, n) {
(e |= 0), (t |= 0), n || C(e, t, this.length);
for (var i = t, r = 1, s = this[e + --i]; i > 0 && (r *= 256);)
s += this[e + --i] * r;
return s >= (r *= 128) && (s -= Math.pow(2, 8 * t)), s;
}),
(c.prototype.readInt8 = function(e, t) {
return (
t || C(e, 1, this.length),
128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
);
}),
(c.prototype.readInt16LE = function(e, t) {
t || C(e, 2, this.length);
var n = this[e] | (this[e + 1] << 8);
return 32768 & n ? 4294901760 | n : n;
}),
(c.prototype.readInt16BE = function(e, t) {
t || C(e, 2, this.length);
var n = this[e + 1] | (this[e] << 8);
return 32768 & n ? 4294901760 | n : n;
}),
(c.prototype.readInt32LE = function(e, t) {
return (
t || C(e, 4, this.length),
this[e] |
(this[e + 1] << 8) |
(this[e + 2] << 16) |
(this[e + 3] << 24)
);
}),
(c.prototype.readInt32BE = function(e, t) {
return (
t || C(e, 4, this.length),
(this[e] << 24) |
(this[e + 1] << 16) |
(this[e + 2] << 8) |
this[e + 3]
);
}),
(c.prototype.readFloatLE = function(e, t) {
return t || C(e, 4, this.length), r.read(this, e, !0, 23, 4);
}),
(c.prototype.readFloatBE = function(e, t) {
return t || C(e, 4, this.length), r.read(this, e, !1, 23, 4);
}),
(c.prototype.readDoubleLE = function(e, t) {
return t || C(e, 8, this.length), r.read(this, e, !0, 52, 8);
}),
(c.prototype.readDoubleBE = function(e, t) {
return t || C(e, 8, this.length), r.read(this, e, !1, 52, 8);
}),
(c.prototype.writeUIntLE = function(e, t, n, i) {
(e = +e),
(t |= 0),
(n |= 0),
i || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);
var r = 1,
s = 0;
for (this[t] = 255 & e; ++s < n && (r *= 256);)
this[t + s] = (e / r) & 255;
return t + n;
}),
(c.prototype.writeUIntBE = function(e, t, n, i) {
(e = +e),
(t |= 0),
(n |= 0),
i || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);
var r = n - 1,
s = 1;
for (this[t + r] = 255 & e; --r >= 0 && (s *= 256);)
this[t + r] = (e / s) & 255;
return t + n;
}),
(c.prototype.writeUInt8 = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 1, 255, 0),
c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
(this[t] = 255 & e),
t + 1
);
}),
(c.prototype.writeUInt16LE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 2, 65535, 0),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = 255 & e), (this[t + 1] = e >>> 8)) :
R(this, e, t, !0),
t + 2
);
}),
(c.prototype.writeUInt16BE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 2, 65535, 0),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = e >>> 8), (this[t + 1] = 255 & e)) :
R(this, e, t, !1),
t + 2
);
}),
(c.prototype.writeUInt32LE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 4, 4294967295, 0),
c.TYPED_ARRAY_SUPPORT ?
((this[t + 3] = e >>> 24),
(this[t + 2] = e >>> 16),
(this[t + 1] = e >>> 8),
(this[t] = 255 & e)) :
j(this, e, t, !0),
t + 4
);
}),
(c.prototype.writeUInt32BE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 4, 4294967295, 0),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = e >>> 24),
(this[t + 1] = e >>> 16),
(this[t + 2] = e >>> 8),
(this[t + 3] = 255 & e)) :
j(this, e, t, !1),
t + 4
);
}),
(c.prototype.writeIntLE = function(e, t, n, i) {
if (((e = +e), (t |= 0), !i)) {
var r = Math.pow(2, 8 * n - 1);
O(this, e, t, n, r - 1, -r);
}
var s = 0,
a = 1,
o = 0;
for (this[t] = 255 & e; ++s < n && (a *= 256);)
e < 0 && 0 === o && 0 !== this[t + s - 1] && (o = 1),
(this[t + s] = (((e / a) >> 0) - o) & 255);
return t + n;
}),
(c.prototype.writeIntBE = function(e, t, n, i) {
if (((e = +e), (t |= 0), !i)) {
var r = Math.pow(2, 8 * n - 1);
O(this, e, t, n, r - 1, -r);
}
var s = n - 1,
a = 1,
o = 0;
for (this[t + s] = 255 & e; --s >= 0 && (a *= 256);)
e < 0 && 0 === o && 0 !== this[t + s + 1] && (o = 1),
(this[t + s] = (((e / a) >> 0) - o) & 255);
return t + n;
}),
(c.prototype.writeInt8 = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 1, 127, -128),
c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
e < 0 && (e = 255 + e + 1),
(this[t] = 255 & e),
t + 1
);
}),
(c.prototype.writeInt16LE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 2, 32767, -32768),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = 255 & e), (this[t + 1] = e >>> 8)) :
R(this, e, t, !0),
t + 2
);
}),
(c.prototype.writeInt16BE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 2, 32767, -32768),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = e >>> 8), (this[t + 1] = 255 & e)) :
R(this, e, t, !1),
t + 2
);
}),
(c.prototype.writeInt32LE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 4, 2147483647, -2147483648),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = 255 & e),
(this[t + 1] = e >>> 8),
(this[t + 2] = e >>> 16),
(this[t + 3] = e >>> 24)) :
j(this, e, t, !0),
t + 4
);
}),
(c.prototype.writeInt32BE = function(e, t, n) {
return (
(e = +e),
(t |= 0),
n || O(this, e, t, 4, 2147483647, -2147483648),
e < 0 && (e = 4294967295 + e + 1),
c.TYPED_ARRAY_SUPPORT ?
((this[t] = e >>> 24),
(this[t + 1] = e >>> 16),
(this[t + 2] = e >>> 8),
(this[t + 3] = 255 & e)) :
j(this, e, t, !1),
t + 4
);
}),
(c.prototype.writeFloatLE = function(e, t, n) {
return U(this, e, t, !0, n);
}),
(c.prototype.writeFloatBE = function(e, t, n) {
return U(this, e, t, !1, n);
}),
(c.prototype.writeDoubleLE = function(e, t, n) {
return D(this, e, t, !0, n);
}),
(c.prototype.writeDoubleBE = function(e, t, n) {
return D(this, e, t, !1, n);
}),
(c.prototype.copy = function(e, t, n, i) {
if (
(n || (n = 0),
i || 0 === i || (i = this.length),
t >= e.length && (t = e.length),
t || (t = 0),
i > 0 && i < n && (i = n),
i === n)
)
return 0;
if (0 === e.length || 0 === this.length) return 0;
if (t < 0) throw new RangeError("targetStart out of bounds");
if (n < 0 || n >= this.length)
throw new RangeError("sourceStart out of bounds");
if (i < 0) throw new RangeError("sourceEnd out of bounds");
i > this.length && (i = this.length),
e.length - t < i - n && (i = e.length - t + n);
var r,
s = i - n;
if (this === e && n < t && t < i)
for (r = s - 1; r >= 0; --r) e[r + t] = this[r + n];
else if (s < 1e3 || !c.TYPED_ARRAY_SUPPORT)
for (r = 0; r < s; ++r) e[r + t] = this[r + n];
else Uint8Array.prototype.set.call(e, this.subarray(n, n + s), t);
return s;
}),
(c.prototype.fill = function(e, t, n, i) {
if ("string" == typeof e) {
if (
("string" == typeof t ?
((i = t), (t = 0), (n = this.length)) :
"string" == typeof n && ((i = n), (n = this.length)),
1 === e.length)
) {
var r = e.charCodeAt(0);
r < 256 && (e = r);
}
if (void 0 !== i && "string" != typeof i)
throw new TypeError("encoding must be a string");
if ("string" == typeof i && !c.isEncoding(i))
throw new TypeError("Unknown encoding: " + i);
} else "number" == typeof e && (e &= 255);
if (t < 0 || this.length < t || this.length < n)
throw new RangeError("Out of range index");
if (n <= t) return this;
var s;
if (
((t >>>= 0),
(n = void 0 === n ? this.length : n >>> 0),
e || (e = 0),
"number" == typeof e)
)
for (s = t; s < n; ++s) this[s] = e;
else {
var a = c.isBuffer(e) ? e : z(new c(e, i).toString()),
o = a.length;
for (s = 0; s < n - t; ++s) this[s + t] = a[s % o];
}
return this;
});
var L = /[^+\/0-9A-Za-z-_]/g;
function F(e) {
return e < 16 ? "0" + e.toString(16) : e.toString(16);
}
function z(e, t) {
var n;
t = t || 1 / 0;
for (var i = e.length, r = null, s = [], a = 0; a < i; ++a) {
if ((n = e.charCodeAt(a)) > 55295 && n < 57344) {
if (!r) {
if (n > 56319) {
(t -= 3) > -1 && s.push(239, 191, 189);
continue;
}
if (a + 1 === i) {
(t -= 3) > -1 && s.push(239, 191, 189);
continue;
}
r = n;
continue;
}
if (n < 56320) {
(t -= 3) > -1 && s.push(239, 191, 189), (r = n);
continue;
}
n = 65536 + (((r - 55296) << 10) | (n - 56320));
} else r && (t -= 3) > -1 && s.push(239, 191, 189);
if (((r = null), n < 128)) {
if ((t -= 1) < 0) break;
s.push(n);
} else if (n < 2048) {
if ((t -= 2) < 0) break;
s.push((n >> 6) | 192, (63 & n) | 128);
} else if (n < 65536) {
if ((t -= 3) < 0) break;
s.push((n >> 12) | 224, ((n >> 6) & 63) | 128, (63 & n) | 128);
} else {
if (!(n < 1114112)) throw new Error("Invalid code point");
if ((t -= 4) < 0) break;
s.push(
(n >> 18) | 240,
((n >> 12) & 63) | 128,
((n >> 6) & 63) | 128,
(63 & n) | 128,
);
}
}
return s;
}
function H(e) {
return i.toByteArray(
(function(e) {
if (
(e = (function(e) {
return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "");
})(e).replace(L, "")).length < 2
)
return "";
for (; e.length % 4 != 0;) e += "=";
return e;
})(e),
);
}
function V(e, t, n, i) {
for (var r = 0; r < i && !(r + n >= t.length || r >= e.length); ++r)
t[r + n] = e[r];
return r;
}
}.call(this, n(12)));
},
function(e, t) {
var n;
n = (function() {
return this;
})();
try {
n = n || new Function("return this")();
} catch (e) {
"object" == typeof window && (n = window);
}
e.exports = n;
},
function(e, t) {
for (var n = (t.uint8 = new Array(256)), i = 0; i <= 255; i++) n[i] = r(i);
function r(e) {
return function(t) {
var n = t.reserve(1);
t.buffer[n] = e;
};
}
},
function(e, t, n) {
(t.FlexDecoder = s), (t.FlexEncoder = a);
var i = n(0),
r = "BUFFER_SHORTAGE";
function s() {
if (!(this instanceof s)) return new s();
}
function a() {
if (!(this instanceof a)) return new a();
}
function o() {
throw new Error("method not implemented: write()");
}
function c() {
throw new Error("method not implemented: fetch()");
}
function l() {
return this.buffers && this.buffers.length ?
(this.flush(), this.pull()) :
this.fetch();
}
function h(e) {
(this.buffers || (this.buffers = [])).push(e);
}
function u() {
return (this.buffers || (this.buffers = [])).shift();
}
function f(e) {
return function(t) {
for (var n in e) t[n] = e[n];
return t;
};
}
(s.mixin = f({
bufferish: i,
write: function(e) {
var t = this.offset ?
i.prototype.slice.call(this.buffer, this.offset) :
this.buffer;
(this.buffer = t ? (e ? this.bufferish.concat([t, e]) : t) : e),
(this.offset = 0);
},
fetch: c,
flush: function() {
for (; this.offset < this.buffer.length;) {
var e,
t = this.offset;
try {
e = this.fetch();
} catch (e) {
if (e && e.message != r) throw e;
this.offset = t;
break;
}
this.push(e);
}
},
push: h,
pull: u,
read: l,
reserve: function(e) {
var t = this.offset,
n = t + e;
if (n > this.buffer.length) throw new Error(r);
return (this.offset = n), t;
},
offset: 0,
})),
s.mixin(s.prototype),
(a.mixin = f({
bufferish: i,
write: o,
fetch: function() {
var e = this.start;
if (e < this.offset) {
var t = (this.start = this.offset);
return i.prototype.slice.call(this.buffer, e, t);
}
},
flush: function() {
for (; this.start < this.offset;) {
var e = this.fetch();
e && this.push(e);
}
},
push: h,
pull: function() {
var e = this.buffers || (this.buffers = []),
t = e.length > 1 ? this.bufferish.concat(e) : e[0];
return (e.length = 0), t;
},
read: l,
reserve: function(e) {
var t = 0 | e;
if (this.buffer) {
var n = this.buffer.length,
i = 0 | this.offset,
r = i + t;
if (r < n) return (this.offset = r), i;
this.flush(),
(e = Math.max(e, Math.min(2 * n, this.maxBufferSize)));
}
return (
(e = Math.max(e, this.minBufferSize)),
(this.buffer = this.bufferish.alloc(e)),
(this.start = 0),
(this.offset = t),
0
);
},
send: function(e) {
var t = e.length;
if (t > this.minBufferSize) this.flush(), this.push(e);
else {
var n = this.reserve(t);
i.prototype.copy.call(e, this.buffer, n);
}
},
maxBufferSize: 65536,
minBufferSize: 2048,
offset: 0,
start: 0,
})),
a.mixin(a.prototype);
},
function(e, t, n) {
t.decode = function(e, t) {
var n = new i(t);
return n.write(e), n.read();
};
var i = n(16).DecodeBuffer;
},
function(e, t, n) {
t.DecodeBuffer = r;
var i = n(8).preset;
function r(e) {
if (!(this instanceof r)) return new r(e);
if (e && ((this.options = e), e.codec)) {
var t = (this.codec = e.codec);
t.bufferish && (this.bufferish = t.bufferish);
}
}
n(14).FlexDecoder.mixin(r.prototype),
(r.prototype.codec = i),
(r.prototype.fetch = function() {
return this.codec.decode(this);
});
},
function(e, t, n) {
var i = n(4),
r = n(7),
s = r.Uint64BE,
a = r.Int64BE;
(t.getReadFormat = function(e) {
var t = o.hasArrayBuffer && e && e.binarraybuffer,
n = e && e.int64;
return {
map: l && e && e.usemap ? u : h,
array: f,
str: d,
bin: t ? g : p,
ext: m,
uint8: y,
uint16: v,
uint32: b,
uint64: S(8, n ? E : T),
int8: k,
int16: w,
int32: x,
int64: S(8, n ? M : I),
float32: S(4, A),
float64: S(8, P),
};
}),
(t.readUint8 = y);
var o = n(0),
c = n(6),
l = "undefined" != typeof Map;
function h(e, t) {
var n,
i = {},
r = new Array(t),
s = new Array(t),
a = e.codec.decode;
for (n = 0; n < t; n++)(r[n] = a(e)), (s[n] = a(e));
for (n = 0; n < t; n++) i[r[n]] = s[n];
return i;
}
function u(e, t) {
var n,
i = new Map(),
r = new Array(t),
s = new Array(t),
a = e.codec.decode;
for (n = 0; n < t; n++)(r[n] = a(e)), (s[n] = a(e));
for (n = 0; n < t; n++) i.set(r[n], s[n]);
return i;
}
function f(e, t) {
for (var n = new Array(t), i = e.codec.decode, r = 0; r < t; r++)
n[r] = i(e);
return n;
}
function d(e, t) {
var n = e.reserve(t),
i = n + t;
return c.toString.call(e.buffer, "utf-8", n, i);
}
function p(e, t) {
var n = e.reserve(t),
i = n + t,
r = c.slice.call(e.buffer, n, i);
return o.from(r);
}
function g(e, t) {
var n = e.reserve(t),
i = n + t,
r = c.slice.call(e.buffer, n, i);
return o.Uint8Array.from(r).buffer;
}
function m(e, t) {
var n = e.reserve(t + 1),
i = e.buffer[n++],
r = n + t,
s = e.codec.getExtUnpacker(i);
if (!s)
throw new Error("Invalid ext type: " + (i ? "0x" + i.toString(16) : i));
return s(c.slice.call(e.buffer, n, r));
}
function y(e) {
var t = e.reserve(1);
return e.buffer[t];
}
function k(e) {
var t = e.reserve(1),
n = e.buffer[t];
return 128 & n ? n - 256 : n;
}
function v(e) {
var t = e.reserve(2),
n = e.buffer;
return (n[t++] << 8) | n[t];
}
function w(e) {
var t = e.reserve(2),
n = e.buffer,
i = (n[t++] << 8) | n[t];
return 32768 & i ? i - 65536 : i;
}
function b(e) {
var t = e.reserve(4),
n = e.buffer;
return 16777216 * n[t++] + (n[t++] << 16) + (n[t++] << 8) + n[t];
}
function x(e) {
var t = e.reserve(4),
n = e.buffer;
return (n[t++] << 24) | (n[t++] << 16) | (n[t++] << 8) | n[t];
}
function S(e, t) {
return function(n) {
var i = n.reserve(e);
return t.call(n.buffer, i, !0);
};
}
function T(e) {
return new s(this, e).toNumber();
}
function I(e) {
return new a(this, e).toNumber();
}
function E(e) {
return new s(this, e);
}
function M(e) {
return new a(this, e);
}
function A(e) {
return i.read(this, e, !1, 23, 4);
}
function P(e) {
return i.read(this, e, !1, 52, 8);
}
},
function(e, t, n) {
!(function(t) {
e.exports = t;
var n = "listeners",
i = {
on: function(e, t) {
return a(this, e).push(t), this;
},
once: function(e, t) {
var n = this;
return (i.originalListener = t), a(n, e).push(i), n;
function i() {
s.call(n, e, i), t.apply(this, arguments);
}
},
off: s,
emit: function(e, t) {
var n = this,
i = a(n, e, !0);
if (!i) return !1;
var r = arguments.length;
if (1 === r)
i.forEach(function(e) {
e.call(n);
});
else if (2 === r)
i.forEach(function(e) {
e.call(n, t);
});
else {
var s = Array.prototype.slice.call(arguments, 1);
i.forEach(function(e) {
e.apply(n, s);
});
}
return !!i.length;
},
};
function r(e) {
for (var t in i) e[t] = i[t];
return e;
}
function s(e, t) {
var i;
if (arguments.length) {
if (t) {
if ((i = a(this, e, !0))) {
if (
!(i = i.filter(function(e) {
return e !== t && e.originalListener !== t;
})).length
)
return s.call(this, e);
this[n][e] = i;
}
} else if ((i = this[n]) && (delete i[e], !Object.keys(i).length))
return s.call(this);
} else delete this[n];
return this;
}
function a(e, t, i) {
if (!i || e[n]) {
var r = e[n] || (e[n] = {});
return r[t] || (r[t] = []);
}
}
r(t.prototype), (t.mixin = r);
})(
/**
* event-lite.js - Light-weight EventEmitter (less than 1KB when gzipped)
*
* @copyright Yusuke Kawasaki
* @license MIT
* @constructor
* @see https://github.com/kawanet/event-lite
* @see http://kawanet.github.io/event-lite/EventLite.html
* @example
* var EventLite = require("event-lite");
*
* function MyClass() {...} // your class
*
* EventLite.mixin(MyClass.prototype); // import event methods
*
* var obj = new MyClass();
* obj.on("foo", function() {...}); // add event listener
* obj.once("bar", function() {...}); // add one-time event listener
* obj.emit("foo"); // dispatch event
* obj.emit("bar"); // dispatch another event
* obj.off("foo"); // remove event listener
*/
function e() {
if (!(this instanceof e)) return new e();
},
);
},
function(e, t, n) {
(function(t) {
e.exports.maxScreenWidth = 1920,
e.exports.maxScreenHeight = 1080,
e.exports.serverUpdateRate = 9,
e.exports.maxPlayers = t && -1 != t.argv.indexOf("--largeserver") ? 100 : 50,
e.exports.maxPlayersHard = e.exports.maxPlayers + 50,
e.exports.collisionDepth = 6,
e.exports.minimapRate = 3e3,
e.exports.colGrid = 10,
e.exports.clientSendRate = 5,
e.exports.healthBarWidth = 50,
e.exports.healthBarWidthE = 50,
e.exports.healthBarPad = 4.5,
e.exports.healthBarPadE = 4.5,
e.exports.iconPadding = 15,
e.exports.iconPad = .9,
e.exports.deathFadeout = 3e3,
e.exports.crownIconScale = 60,
e.exports.crownPad = 35,
e.exports.chatCountdown = 3e3,
e.exports.chatCooldown = 500,
e.exports.inSandbox = t && "mm_exp" === t.env.VULTR_SCHEME,
e.exports.maxAge = 2,
e.exports.gatherAngle = Math.PI / 2.6,
e.exports.gatherWiggle = 10,
e.exports.hitReturnRatio = .25,
e.exports.hitAngle = Math.PI / 2,
e.exports.playerScale = 35,
e.exports.playerSpeed = .0016,
e.exports.playerDecel = .993,
e.exports.nameY = 34,
e.exports.skinColors = ["grey", "#cbb091", "#896c4b", "#fadadc", "#ececec", "#c37373", "#4c4c4c", "#ecaff7", "#738cc3", "#8bc373"],
e.exports.animalCount = 7,
e.exports.aiTurnRandom = .06,
e.exports.cowNames = ["Sid", "Steph", "Bmoe", "Romn", "Jononthecool", "Fiona", "Vince", "Nathan", "Nick", "Flappy", "Ronald", "Otis", "Pepe", "Mc Donald", "Theo", "Fabz", "Oliver", "Jeff", "Jimmy", "Helena", "Reaper", "Ben", "Alan", "Naomi", "XYZ", "Clever", "Jeremy", "Mike", "Destined", "Stallion", "Allison", "Meaty", "Sophia", "Vaja", "Joey", "Pendy", "Murdoch", "Theo", "Jared", "July", "Sonia", "Mel", "Dexter", "Quinn", "Milky"],
e.exports.shieldAngle = Math.PI / 3,
e.exports.weaponVariants = [{
id: 0,
src: "",
xp: 0,
val: 1
}, {
id: 1,
src: "_g",
xp: 3e3,
val: 1.1
}, {
id: 2,
src: "_d",
xp: 7e3,
val: 1.18
}, {
id: 3,
src: "_r",
poison: !0,
xp: 12e3,
val: 1.18
}],
(e.exports.fetchVariant = function(t) {
for (
var n = t.weaponXP[t.weaponIndex] || 0,
i = e.exports.weaponVariants.length - 1; i >= 0;
--i
)
if (n >= e.exports.weaponVariants[i].xp)
return e.exports.weaponVariants[i];
}),
(e.exports.resourceTypes = ["wood", "food", "stone", "points"]),
(e.exports.areaCount = 7),
(e.exports.treesPerArea = 9),
(e.exports.bushesPerArea = 3),
(e.exports.totalRocks = 32),
(e.exports.goldOres = 7),
(e.exports.riverWidth = 724),
(e.exports.riverPadding = 114),
(e.exports.waterCurrent = 0.0011),
(e.exports.waveSpeed = 1e-4),
(e.exports.waveMax = 1.3),
(e.exports.treeScales = [150, 160, 165, 175]),
(e.exports.bushScales = [80, 85, 95]),
(e.exports.rockScales = [80, 85, 90]),
(e.exports.snowBiomeTop = 2400),
(e.exports.snowSpeed = 0.75),
(e.exports.maxNameLength = 15),
(e.exports.mapScale = 14400),
(e.exports.mapPingScale = 40),
(e.exports.mapPingTime = 2200);
}.call(this, n(41)));
},
function(e, t) {
var n = {
utf8: {
stringToBytes: function(e) {
return n.bin.stringToBytes(unescape(encodeURIComponent(e)));
},
bytesToString: function(e) {
return decodeURIComponent(escape(n.bin.bytesToString(e)));
},
},
bin: {
stringToBytes: function(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push(255 & e.charCodeAt(n));
return t;
},
bytesToString: function(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push(String.fromCharCode(e[n]));
return t.join("");
},
},
};
e.exports = n;
},
function(e, t, n) {
"use strict";
window.loadedScript = !0;
var i =
"127.0.0.1" !== location.hostname &&
!location.hostname.startsWith("192.168.");
n(22);
var r = n(23),
s = n(42),
a = n(43),
o = n(19),
c = n(44),
l = n(45),
h = (n(46), n(47)),
u = n(48),
f = n(55),
d = n(56),
p = n(57),
g = n(58).obj,
m = new a.TextManager(),
y = new(n(59))("moomoo.io", 3e3, 50, 5, !1);
y.debugLog = !1;
var k = !1;
function v() {
if(!window.location.href.includes('https')) return window.open("https://" + window.location.href.split("://")[1], "_self");
ht &&
ut &&
((k = !0),
i ?
window.grecaptcha
.execute("6LevKusUAAAAAAFknhlV8sPtXAk5Z5dGP5T2FYIZ", {
action: "homepage",
})
.then(function(e) {
w(e);
}) :
w(null));
}
function w(e) {
y.start(
function(t, n, a) {
var c = (i ? "wss" : "ws") + "://" + t + ":8008/?gameIndex=" + a;
e && (c += "&token=" + encodeURIComponent(e)),
r.connect(
c,
function(e) {
Bi(),
setInterval(() => Bi(), 0),
e ?
ft(e) :
((ue.onclick = s.checkTrusted(function() {
!(function() {
var e = ++bt > 1,
t = Date.now() - wt > vt;
e && t ? ((wt = Date.now()), xt()) : Tn();
})();
})),
s.hookTouchEvents(ue),
(fe.onclick = s.checkTrusted(function() {
Oi("https://krunker.io/?play=SquidGame_KB");
})),
s.hookTouchEvents(fe),
(pe.onclick = s.checkTrusted(function() {
setTimeout(function() {
!(function() {
var e = xe.value,
t = prompt("party key", e);
t &&
((window.onbeforeunload = void 0),
(window.location.href = "/?server=" + t));
})();
}, 10);
})),
s.hookTouchEvents(pe),
(ge.onclick = s.checkTrusted(function() {
Ae.classList.contains("showing") ?
(Ae.classList.remove("showing"),
(me.innerText = "Settings")) :
(Ae.classList.add("showing"),
(me.innerText = "Close"));
})),
s.hookTouchEvents(ge),
(ye.onclick = s.checkTrusted(function() {
yn(),
"block" != Ye.style.display ?
Ut() :
(Ye.style.display = "none");
})),
s.hookTouchEvents(ye),
(ke.onclick = s.checkTrusted(function() {
"block" != Qe.style.display ?
((Qe.style.display = "block"),
(Ye.style.display = "none"),
an(),
Gt()) :
(Qe.style.display = "none");
})),
s.hookTouchEvents(ke),
(ve.onclick = s.checkTrusted(function() {
rn();
})),
s.hookTouchEvents(ve),
(Ne.onclick = s.checkTrusted(function() {
xn();
})),
s.hookTouchEvents(Ne),
(function() {
for (var e = 0; e < jn.length; ++e) {
var t = new Image();
(t.onload = function() {
this.isLoaded = !0;
}),
(t.src = ".././img/icons/" + jn[e] + ".png"),
(Rn[jn[e]] = t);
}
})(),
(Pe.style.display = "none"),
(Me.style.display = "block"),
(Le.value = E("moo_name") || ""),
(function() {
var e = E("native_resolution");
Zt(e ? "true" == e : "undefined" != typeof cordova),
(A = "true" == E("show_ping")),
(Ie.hidden = !A),
E("moo_moosic"),
setInterval(function() {
window.cordova &&
(document
.getElementById("downloadButtonContainer")
.classList.add("cordova"),
document
.getElementById("mobileDownloadButtonContainer")
.classList.add("cordova"));
}, 1e3),
en(),
s.removeAllChildren(Ce);
for (
var t = 0; t < l.weapons.length + l.list.length;
++t
)
!(function(e) {
s.generateElement({
id: "actionBarItem" + e,
class: "actionBarItem",
style: "display:none",
onmouseout: function() {
Tt();
},
parent: Ce,
});
})(t);
for (t = 0; t < l.list.length + l.weapons.length; ++t)
!(function(e) {
var t = document.createElement("canvas");
t.width = t.height = 66;
var n = t.getContext("2d");
if (
(n.translate(t.width / 2, t.height / 2),
(n.imageSmoothingEnabled = !1),
(n.webkitImageSmoothingEnabled = !1),
(n.mozImageSmoothingEnabled = !1),
l.weapons[e])
) {
n.rotate(Math.PI / 4 + Math.PI);
var i = new Image();
(Zn[l.weapons[e].src] = i),
(i.onload = function() {
this.isLoaded = !0;
var i = 1 / (this.height / this.width),
r = l.weapons[e].iPad || 1;
n.drawImage(
this,
(-t.width * r * o.iconPad * i) / 2,
(-t.height * r * o.iconPad) / 2,
t.width * r * i * o.iconPad,
t.height * r * o.iconPad,
),
(n.fillStyle = "rgba(0, 0, 70, 0.1)"),
(n.globalCompositeOperation =
"source-atop"),
n.fillRect(
-t.width / 2,
-t.height / 2,
t.width,
t.height,
),
(document.getElementById(
"actionBarItem" + e,
).style.backgroundImage =
"url(" + t.toDataURL() + ")");
}),
(i.src =
".././img/weapons/" +
l.weapons[e].src +
".png"),
((r = document.getElementById(
"actionBarItem" + e,
)).onmouseover = s.checkTrusted(function() {
Tt(l.weapons[e], !0);
})),
(r.onclick = s.checkTrusted(function() {
Sn(e, !0);
})),
s.hookTouchEvents(r);
} else {
i = ri(l.list[e - l.weapons.length], !0);
var r,
a = Math.min(t.width - o.iconPadding, i.width);
(n.globalAlpha = 1),
n.drawImage(i, -a / 2, -a / 2, a, a),
(n.fillStyle = "rgba(0, 0, 70, 0.1)"),
(n.globalCompositeOperation = "source-atop"),
n.fillRect(-a / 2, -a / 2, a, a),
(document.getElementById(
"actionBarItem" + e,
).style.backgroundImage =
"url(" + t.toDataURL() + ")"),
((r = document.getElementById(
"actionBarItem" + e,
)).onmouseover = s.checkTrusted(function() {
Tt(l.list[e - l.weapons.length]);
})),
(r.onclick = s.checkTrusted(function() {
Sn(e - l.weapons.length);
})),
s.hookTouchEvents(r);
}
})(t);
(Le.ontouchstart = s.checkTrusted(function(e) {
e.preventDefault();
var t = prompt("enter name", e.currentTarget.value);
e.currentTarget.value = t.slice(0, 15);
})),
(Se.checked = M),
(Se.onchange = s.checkTrusted(function(e) {
Zt(e.target.checked);
})),
(Te.checked = A),
(Te.onchange = s.checkTrusted(function(e) {
(A = Te.checked),
(Ie.hidden = !A),
I("show_ping", A ? "true" : "false");
}));
})());
}, {
id: st,
d: ft,
1: En,
2: vi,
4: wi,
33: Ti,
5: Ln,
6: li,
a: gi,
aa: pi,
7: Wn,
8: hi,
sp: ui,
9: xi,
h: Si,
11: Pn,
12: Cn,
13: Bn,
14: bi,
15: Dn,
16: Un,
17: $t,
18: fi,
19: di,
20: Ci,
ac: Ot,
ad: _t,
an: Bt,
st: Rt,
sa: jt,
us: Nt,
ch: hn,
mm: Wt,
t: Mn,
p: Yt,
pp: Pi,
},
),
pt(),
setTimeout(() => gt(), 3e3);
},
function(e) {
console.error("Vultr error:", e),
alert("Error:\n" + e),
ft("disconnected");
},
);
}
var b,
x = new g(o, s),
S = Math.PI,
T = 2 * S;
function I(e, t) {
b && localStorage.setItem(e, t);
}
function E(e) {
return b ? localStorage.getItem(e) : null;
}
(Math.lerpAngle = function(e, t, n) {
Math.abs(t - e) > S && (e > t ? (t += T) : (e += T));
var i = t + (e - t) * n;
return i >= 0 && i <= T ? i : i % T;
}),
(CanvasRenderingContext2D.prototype.roundRect = function(e, t, n, i, r) {
return (
n < 2 * r && (r = n / 2),
i < 2 * r && (r = i / 2),
r < 0 && (r = 0),
this.beginPath(),
this.moveTo(e + r, t),
this.arcTo(e + n, t, e + n, t + i, r),
this.arcTo(e + n, t + i, e, t + i, r),
this.arcTo(e, t + i, e, t, r),
this.arcTo(e, t, e + n, t, r),
this.closePath(),
this
);
}),
"undefined" != typeof Storage && (b = !0),
E("consent") || (consentBlock.style.display = "block"),
(window.checkTerms = function(e) {
e
?
((consentBlock.style.display = "none"), I("consent", 1)) :
$("#consentShake").effect("shake");
});
var M,
A,
P,
B,
C,
O,
R,
j,
_,
U,
D,
L,
F,
z,
H = E("moofoll"),
V = 1,
q = Date.now(),
Y = [],
W = [],
X = [],
N = [],
G = [],
J = new p(d, G, W, Y, nt, l, o, s),
K = n(70),
Q = n(71),
Z = new K(Y, Q, W, l, null, o, s),
ee = 1,
te = 0,
ne = 0,
ie = 0,
re = {
id: -1,
startX: 0,
startY: 0,
currentX: 0,
currentY: 0
},
se = {
id: -1,
startX: 0,
startY: 0,
currentX: 0,
currentY: 0
},
ae = 0,
oe = o.maxScreenWidth,
ce = o.maxScreenHeight,
le = !1,
invis = new Map([[0,5.934858065858545e307],[1,7.444028014203407e307],[2,8.79187264792957e307],[3,9.338857479701903e307],[4,7.371979363620249e307],[5,1.4194751771589598e307],[6,6.661737709005715e307],[7,5.123746752296141e307],[8,6.359745743506348e307],[9,1.5160453793882303e307],[10,4.991679519126598e307],[11,2.846296620437765e307],[12,7.302253675963663e307],[13,6.538976048363332e307],[14,9.89716413239677e307],[15,6.308160764469196e307],[16,8.304159490031134e307],[17,2.4682490520084156e307],[18,2.641420372473964e307],[19,2.7454727851545967e307],[20,8.379438959046704e307],[21,9.78662464390437e307],[22,2.348868280149586e307],[23,9.814460302458285e307],[24,4.1923689965484136e307],[25,3.0913109406700096e307],[26,7.614429635845509e307],[27,3.448673676390461e307],[28,3.794648544434117e307],[29,4.3215117610333585e307],[30,1.2119470173706681e307],[31,5.184428479020766e307],[32,6.399745229091033e307],[33,9.514462801212879e307],[34,4.550271137896664e307],[35,3.0404405931730325e307],[36,5.55279992235926e307],[37,5.189389836834594e307],[38,7.272303776391218e307],[39,3.731143653185215e307],[40,8.147904060872585e307],[41,2.364012011320933e307],[42,5.386190712177765e307],[43,4.185087556231979e307],[44,4.0523581413126765e307],[45,2.570513113830087e307],[46,4.485670326643031e307],[47,8.870307375039377e307],[48,8.501800321906618e307],[49,7.272104357652831e307],[50,5.481989826402901e307],[51,7.020523025291744e307],[52,9.032211305684161e307],[53,8.575968975532409e307],[54,1.8131278187404082e307],[55,1.371593501004095e307],[56,6.13956991804191e307],[57,1.5593790524732488e307],[58,2.4116487656633906e307],[59,6.108553555931735e307],[60,4.633679694988548e307],[61,2.408883627717832e307],[62,7.696049356322011e307],[63,3.796698473253951e307],[64,7.272505287893932e307],[65,9.850214641870329e307],[66,2.9788312407864814e307],[67,1.217897796646603e307],[68,8.005268205656468e307],[69,7.261209972441176e307],[70,1.6320629840265537e307],[71,4.94761460409424e307],[72,2.601892122410636e307],[73,7.443882012271289e307],[74,2.1962892102835533e307],[75,2.8923133227410834e307],[76,1.4259194192927462e307],[77,1.0467590622822731e307],[78,3.77676061549846e307],[79,8.153853097921673e307],[80,2.1164904816928597e307],[81,2.856473538413742e307],[82,8.640774634315918e307],[83,4.614176481937673e307],[84,5.227366370857555e307],[85,3.24219016625781e307],[86,2.315843398267405e307],[87,3.142743602909226e307],[88,5.169814766765893e307],[89,3.191087862254074e307],[90,1.3834540257719918e307],[91,3.1532889057165483e307],[92,3.637935054363517e307],[93,7.136583754501707e307],[94,3.9420268119312606e307],[95,4.937308418199656e307],[96,2.567890065050876e307],[97,9.62719472042902e307],[98,8.065810809121164e307],[99,5.229829819976837e307],[100,2.1043027829078946e307],[101,2.2051667554582525e307],[102,1.1693939789415108e307],[103,6.285608651645671e307],[104,7.262370199332233e307],[105,9.579579911536877e307],[106,7.197036758156811e307],[107,8.840905594838243e307],[108,7.441556545691613e307],[109,9.82269594677941e307],[110,1.36726674742365e307],[111,2.78412569306441e307],[112,5.113976903408658e307],[113,6.589933962193681e307],[114,2.17651308127639e307],[115,1.396514350322634e307],[116,5.800364443018914e307],[117,5.313325196137211e307],[118,6.311173334731253e307],[119,4.926143660752854e307],[120,3.4428963867860506e307],[121,5.006021268496975e307],[122,9.255712414470177e307],[123,7.698312450907042e307],[124,6.15508708475221e307],[125,1.0074173915024108e307],[126,6.058056236700429e307],[127,9.971058021115813e307],[128,9.514008095099334e307],[129,6.834586041851257e307],[130,8.847127318617485e307],[131,4.17001417933092e307],[132,6.380005218844455e307],[133,8.98830121597813e307],[134,1.2072500663399105e307],[135,9.22190473127061e307],[136,5.950849408890453e307],[137,8.200200345713352e307],[138,9.412668074925946e307],[139,2.574757200471198e307],[140,6.47530104052169e307],[141,1.853145880260808e307],[142,4.587559917337617e307],[143,9.769520916282892e307],[144,8.246610859207915e307],[145,7.555833948904061e307],[146,8.447288888198189e307],[147,1.7551269341268156e307],[148,4.99411468876718e307],[149,6.821854621049486e307],[150,1.579792910466723e307],[151,1.8916088765714955e307],[152,2.4003431605083423e307],[153,1.9616446369914737e307],[154,8.771026339132761e307],[155,9.72450842571205e307],[156,2.1017102152519257e307],[157,9.190009559940962e307],[158,3.3060303941499504e307],[159,1.0830885405195684e307],[160,2.3125806486451855e307],[161,1.6344428073960892e307],[162,2.7840766887469774e307],[163,5.37291496409877e307],[164,8.205142062786488e307],[165,3.1112343927557496e307],[166,7.783702884278098e307],[167,1.0452965803959451e307],[168,6.988425257971669e307],[169,3.086037024145276e307],[170,3.2306025887946597e307],[171,5.339705646028536e307],[172,6.009470156491103e307],[173,2.2122293156318557e307],[174,4.895180194512219e307],[175,4.450407410630146e307],[176,7.564719114239139e307],[177,3.145677763166953e307],[178,4.710333157655215e307],[179,4.119115767827133e307],[180,5.662080625104246e307],[181,9.70578108914945e307],[182,7.196508436662423e307],[183,9.26200659983519e307],[184,3.1633297503593696e307],[185,9.344654016890358e307],[186,7.207146949288486e307],[187,4.3795476229442277e307],[188,6.410175014599629e307],[189,7.383927482587271e307],[190,5.547113496164573e307],[191,7.862008393924792e307],[192,4.993330853578506e307],[193,3.7065662896191774e307],[194,1.009517417155804e307],[195,6.867355174713665e307],[196,9.903560021315224e307],[197,3.386932193363461e307],[198,9.078366090598178e307],[199,4.906668662586232e307],[200,7.906005776982499e307],[201,2.3824782257383125e307],[202,5.679564244208513e307],[203,2.052022039718074e307],[204,7.792494697777584e307],[205,9.477372142796747e307],[206,6.635446949085337e307],[207,9.95373276893311e307],[208,3.8108476191638297e307],[209,1.8190077749992862e307],[210,8.862978838802499e307],[211,6.908650527344226e307],[212,8.330245114055456e307],[213,3.1263851413508527e307],[214,3.2094729068859525e307],[215,4.878758967255739e307],[216,1.1965823778627417e307],[217,8.4325606127281e307],[218,8.521046098350088e307],[219,9.008554302021519e307],[220,4.714050526255698e307],[221,1.5786026179312017e307],[222,5.957542066729034e307],[223,9.377659467443362e307],[224,7.133670745493146e307],[225,9.228931284053678e307],[226,8.766068670598255e307],[227,4.50132721876185e307],[228,2.761102968570498e307],[229,3.5282244741404525e307],[230,3.962339921432778e307],[231,9.665207840722775e307],[232,1.0386975928380881e307],[233,1.317611716919277e307],[234,6.131920254632748e307],[235,3.492604597922767e307],[236,4.93139579443937e307],[237,2.613201934096772e307],[238,6.777572575839438e307],[239,7.752276602865232e307],[240,6.006722692811431e307],[241,7.702095377722768e307],[242,8.773558604002284e307],[243,1.0036773916404639e307],[244,1.1559747807680801e307],[245,5.751073295750128e307],[246,7.824674724582971e307],[247,9.294421629395608e307],[248,2.487082976998732e307],[249,4.1596547466761103e307],[250,2.4334278252771605e307],[251,1.9158810795510734e307],[252,9.928102434679417e307],[253,7.167129032297305e307],[254,3.511147398873307e307],[255,9.629003984233106e307],[256,1.1224407600581254e307],[257,7.13920912071801e307],[258,5.813408643265555e307],[259,5.001794247158856e307],[260,9.103298938428898e307],[261,4.606598455802841e307],[262,3.8140596071864084e307],[263,1.2781511704615514e307],[264,5.204431067248931e307],[265,3.919171800686964e307],[266,9.554470903276127e307],[267,1.9323620433448886e307],[268,7.310635378800372e307],[269,3.636633815890085e307],[270,1.1432707974589943e307],[271,1.6050735322853493e307],[272,1.4502596310839625e307],[273,2.5686197466150196e307],[274,9.629910646553415e307],[275,5.351385818257151e307],[276,3.8465752505389974e307],[277,7.05025645920112e307],[278,7.541588684554092e307],[279,4.4413471565823516e307],[280,4.3742566331069635e307],[281,5.291513421439586e307],[282,5.099625844578498e307],[283,6.62423815308036e307],[284,7.43662603551727e307],[285,1.211758510725099e307],[286,8.105486666186405e307],[287,8.99547706717512e307],[288,8.278759598961786e307],[289,1.3707009634288314e307],[290,5.552206660313306e307],[291,9.14011223661041e307],[292,7.855867515354157e307],[293,4.87562384204934e307],[294,3.955649100764671e307],[295,4.573180045135709e307],[296,6.972114994402689e307],[297,2.8105423495966644e307],[298,1.6392869187740433e307],[299,1.4339607818659832e307],[300,9.18612252189016e307],[301,9.618355285021303e307],[302,6.112012092747776e307],[303,4.923312256580887e307],[304,8.868824297315767e307],[305,6.210825606344273e307],[306,5.623873673153573e307],[307,5.579214354613288e307],[308,7.508670642905466e307],[309,3.698165125312669e307],[310,7.735216324773042e307],[311,4.006256921919418e307],[312,5.573609381607216e307],[313,1.9608025066814378e307],[314,2.7838761131041465e307],[315,7.553490831002618e307],[316,3.5251233847961595e307],[317,6.028788356322556e307],[318,4.243902937986857e307],[319,6.69180588983441e307],[320,1.3686330849396029e307],[321,2.9935330768678993e307],[322,2.85049381521107e307],[323,3.9012341172395073e307],[324,3.1962994316749893e307],[325,1.6571408560038803e307],[326,7.630880689367794e307],[327,7.726353690115212e307],[328,1.17711612082019e307],[329,9.206461866179672e307],[330,5.561460681594542e307],[331,1.517582731273497e307],[332,2.772047785381572e307],[333,6.575698565281917e307],[334,2.3537206343272087e307],[335,5.431238962757352e307],[336,9.636744932001615e307],[337,6.988175181266892e307],[338,6.808274853644974e307],[339,8.997904018487074e307],[340,6.310848543228463e307],[341,3.162020062907145e307],[342,5.922279516455878e307],[343,3.4044070552515374e307],[344,6.221741270116318e307],[345,5.779213276319275e307],[346,9.646849956150499e307],[347,6.372199587728235e307],[348,3.9232349983320127e307],[349,4.4315690473150836e307],[350,1.788995278677522e307],[351,2.359779715013311e307],[352,4.800435256891746e307],[353,6.45535126351271e307],[354,4.617712092058642e307],[355,2.321094781242963e307],[356,6.411859928332581e307],[357,3.1304683743788885e307],[358,1.2042020758470231e307],[359,4.4030582519448383e307],[360,9.42760336727574e307],[361,6.612167436415329e307],[362,2.587353251400225e307],[363,5.071404526908556e307],[364,9.175130921588786e307],[365,5.591321424899272e307],[366,7.847183746832531e307],[367,6.546596495183466e307],[368,2.272857990187773e307],[369,1.2331098489753137e307],[370,9.219125482132045e307],[371,6.886492636915111e307],[372,1.8177459490010773e307],[373,8.234729490200285e307],[374,2.6621171046668487e307],[375,1.4052222115687952e307],[376,2.0506871513591277e307],[377,9.239991501542567e307],[378,7.751499847424856e307],[379,7.044048168037932e307],[380,6.726212915742559e307],[381,1.9652165262744893e307],[382,2.2433514396952432e307],[383,9.343955204953473e307],[384,8.327489475062243e307],[385,2.9851086528455575e307],[386,6.985077312401063e307],[387,1.836779905088346e307],[388,3.93599225637253e307],[389,7.360116687132885e307],[390,6.573543018035343e307],[391,6.597696784976494e307],[392,3.670482985154141e307],[393,7.137446927610519e307],[394,4.0071643751581866e307],[395,5.074401265972189e307],[396,2.3208042913372836e307],[397,4.364056308008988e307],[398,1.0671566540880869e307],[399,7.988430038042559e307],[400,7.150358745185814e307],[401,2.0581733166034958e307],[402,2.334260908358888e307],[403,3.8344620229041827e307],[404,3.434009559939365e307],[405,6.67667601953075e307],[406,3.1750006950150223e307],[407,7.043773022874203e307],[408,8.200290748147064e307],[409,4.514896391944205e307],[410,4.964326639913988e307],[411,6.348200086137984e307],[412,5.781051986695175e307],[413,4.0930652966509375e307],[414,3.8324725261678116e307],[415,1.2147801804559344e307],[416,5.202063887550235e307],[417,1.979396867382726e307],[418,3.8302731364664977e307],[419,3.869177032604323e307],[420,7.779409707976619e307],[421,8.846971381176633e307],[422,9.797707605584317e307],[423,8.613380857696986e307],[424,3.7803598415090455e307],[425,5.216241241890635e307],[426,2.2589244616938126e307],[427,3.7899284946242664e307],[428,6.554497142152899e307],[429,6.028851381148694e307],[430,6.53778482240095e307],[431,4.4132679057592984e307],[432,5.672972733560079e307],[433,4.863114842280672e307],[434,5.197194371595281e307],[435,4.218491556846905e307],[436,9.272233418042402e307],[437,7.918827679383662e307],[438,3.2260039280297204e307],[439,1.4304055506027474e307],[440,8.140574749958926e307],[441,8.596646714935788e307],[442,2.355047328675273e307],[443,2.879082896949454e307],[444,3.7461338803906473e307],[445,2.0523572121504247e307],[446,8.731773556885989e307],[447,2.272483240278914e307],[448,2.3070564630966793e307],[449,7.311437457504171e307],[450,2.0024670261598304e307],[451,7.141263983699933e307],[452,4.027331299011233e307],[453,7.276606068457241e307],[454,8.5716833877062e307],[455,2.4904340977639303e307],[456,9.497356729806719e307],[457,4.1151921033206763e307],[458,7.365472333801864e307],[459,7.53695522034238e307],[460,6.672500976095242e307],[461,7.901119747686542e307],[462,4.129351231453383e307],[463,7.599254641640102e307],[464,2.579748504235729e307],[465,4.1124102026124977e307],[466,2.704965218630988e307],[467,9.117257310480306e307],[468,2.6663600012203193e307],[469,7.879984876582535e307],[470,3.6551492591947176e307],[471,3.7344880812156276e307],[472,6.593879871957297e307],[473,8.783616687142438e307],[474,7.617711960433904e307],[475,1.8336726666651126e307],[476,2.5404345284591596e307],[477,9.444203593289671e307],[478,8.619945477375327e307],[479,2.444426572372299e307],[480,4.538756577098122e307],[481,3.808684028607883e307],[482,6.986371167433305e307],[483,8.248462388466182e307],[484,5.929080476212301e307],[485,9.855958562678653e307],[486,4.244026858582236e307],[487,2.577210241040301e307],[488,3.3799958504348093e307],[489,9.807821914878976e307],[490,1.4050126604102218e307],[491,6.95821496024153e307],[492,9.21925741873676e307],[493,6.07367708339287e307],[494,7.464681544307899e307],[495,2.6592406154508253e307],[496,3.505709645719154e307],[497,7.833391212882516e307],[498,5.786577010038179e307],[499,8.704559344782392e307],[500,5.859836601783424e307],[501,1.7184516752682847e307],[502,2.5650752370082926e307],[503,5.398380561956994e307],[504,9.988905221701953e307],[505,4.511473287823816e307],[506,6.044831368999708e307],[507,1.9634854777929283e307],[508,2.531038169195664e307],[509,4.68270166134922e307],[510,1.966693018517132e307],[511,1.775097339119434e307],[512,9.57347677122492e307],[513,3.9706220163269924e307],[514,9.14646468077784e307],[515,1.9437717029339636e307],[516,2.186299761597924e307],[517,3.4949061040245935e307],[518,7.11567728797681e307],[519,5.719802236775215e307],[520,6.086222997748278e307],[521,8.502262125905428e307],[522,1.2901000532477565e307],[523,3.629687570230045e307],[524,5.211487144669836e307],[525,1.1472561352543002e307],[526,5.645231382371881e307],[527,4.2357606569157715e307],[528,4.503183384568538e307],[529,2.1232729106852554e307],[530,9.317787560911774e307],[531,8.439761501684221e307],[532,6.638452569021536e307],[533,1.938598968525688e307],[534,9.856893773250221e307],[535,6.183174718538196e307],[536,3.65866631696504e307],[537,7.504494105993668e307],[538,7.793522240664865e307],[539,9.400365398264136e307],[540,1.8943272615417774e307],[541,9.957888892487125e307],[542,4.743488159723809e307],[543,9.588038378795043e307],[544,6.420835680300303e307],[545,4.673355529329707e307],[546,7.073696754578108e307],[547,4.1672171366538835e307],[548,6.953172339194151e307],[549,2.2086578563649988e307],[550,5.057301425948961e307],[551,2.688296051494823e307],[552,9.580693262301608e307],[553,9.07067208630047e307],[554,5.042577246027071e307],[555,7.149488509554281e307],[556,8.218047266815209e307],[557,4.909153527573525e307],[558,1.7187558646473203e307],[559,2.6707179754380985e307],[560,3.7087816145969423e307],[561,9.999697366991435e307],[562,5.200040819796303e307],[563,6.169264149046053e307],[564,8.492458140417154e307],[565,2.0171207066537603e307],[566,9.02660964965476e307],[567,7.629880262955577e307],[568,5.534212272886614e307],[569,5.184131785737374e307],[570,5.924954373226264e307],[571,8.978148028716026e307],[572,6.747647954240405e307],[573,6.325715675710891e307],[574,3.5346237388058634e307],[575,2.0750637900389214e307],[576,7.173327288033585e307],[577,1.0009456417076213e307],[578,3.8266250766218236e307],[579,6.974462478968961e307],[580,9.131064440380576e307],[581,6.647765114823694e307],[582,7.092388250708257e307],[583,5.967284196952817e307],[584,2.5965827389110795e307],[585,3.090270584885235e307],[586,9.97110855816683e307],[587,8.194542841881099e307],[588,5.282417319120665e307],[589,4.850953219350319e307],[590,9.571063250019215e307],[591,3.8057498451748374e307],[592,4.1781336317151686e307],[593,7.932972342007907e307],[594,8.137838894766584e307],[595,2.0740609916318225e307],[596,3.1022631458137375e307],[597,5.673209114018979e307],[598,8.983860789749939e307],[599,1.2306739280507452e307],[600,1.36903102810617e307],[601,8.349708353880342e307],[602,1.9440796380577858e307],[603,4.3350485103423076e307],[604,6.485239726072002e307],[605,1.5937968435607215e307],[606,6.261445261539055e307],[607,9.337134040303353e307],[608,5.172314776293521e307],[609,9.974980339902678e307],[610,9.267532349712101e307],[611,1.2368249329172793e307],[612,3.1367622613673876e307],[613,6.608518168812448e307],[614,3.183612115414575e307],[615,4.503682107679853e307],[616,4.938329133630848e307],[617,9.356881112332339e307],[618,5.906144845873651e307],[619,2.59669013964023e307],[620,9.359085141240315e307],[621,9.335456789957256e307],[622,8.597888281201229e307],[623,9.867543636801535e307],[624,4.236349806587445e307],[625,2.531998651708143e307],[626,6.164647460950428e307],[627,6.270829798826506e307],[628,4.0656283330238554e307],[629,5.079295709052801e307],[630,9.60345508703207e307],[631,8.923877678068366e307],[632,3.883759178979508e307],[633,2.845966876847147e307],[634,9.199285092348118e307],[635,2.237263423432813e307],[636,9.984532827250772e307],[637,3.276844281767369e307],[638,5.67302028275492e307],[639,7.43512311079087e307],[640,1.4706419480005286e307],[641,5.0766599959862e307],[642,3.892056149302121e307],[643,6.225388102467188e307],[644,9.120538850593827e307],[645,1.5923919806882695e307],[646,4.25126289566097e307],[647,5.088342332605368e307],[648,9.922815560798238e307],[649,6.117057869621292e307],[650,9.779294696893623e307],[651,2.8630700099275144e307],[652,3.76803345268499e307],[653,9.296181073837154e307],[654,6.849417757585507e307],[655,9.509362092831875e307],[656,3.892980156926298e307],[657,9.941141559733579e307],[658,1.5834456321390368e307],[659,5.88407252550554e307],[660,9.771461104630746e307],[661,3.6229938302477127e307],[662,3.4779454832456856e307],[663,7.285102072069346e307],[664,9.633727475458923e307],[665,5.804393244116871e307],[666,5.561127915591995e307],[667,4.4902258454548415e307],[668,3.4114057797466413e307],[669,6.384896657986916e307],[670,1.8241161152152013e307],[671,1.1332837537189637e307],[672,1.31212973080541e307],[673,9.787512629875827e307],[674,6.839823944682403e307],[675,3.507410330218714e307],[676,8.813053383982692e307],[677,9.953928469788619e307],[678,1.0013826563509523e307],[679,6.358615025739269e307],[680,5.79150404327687e307],[681,9.633759740401511e307],[682,3.5923064757569434e307],[683,1.2917094905175483e307],[684,4.133454433664976e307],[685,8.304053740664751e307],[686,6.669652124651584e307],[687,6.779670695766444e307],[688,7.481570842862952e307],[689,9.418233678874262e307],[690,1.114511122257138e307],[691,6.149884555279432e307],[692,5.040088779175789e307],[693,7.437415762661709e307],[694,5.382088061426628e307],[695,1.5309892392581658e307],[696,7.16676983028825e307],[697,1.0147063544253842e307],[698,8.53408781182235e307],[699,5.9764332881508e307],[700,8.154028543509843e307],[701,9.41195925961056e307],[702,5.971146519580579e307],[703,4.495994179212309e307],[704,9.16183617897701e307],[705,2.361846683538901e307],[706,8.164022579947416e307],[707,3.303976554635624e307],[708,2.6313438970312597e307],[709,6.457147026699142e307],[710,1.1356397185733474e307],[711,5.782085318450447e307],[712,5.45761932401547e307],[713,3.646767277505969e307],[714,6.993643066252177e307],[715,4.683851936865708e307],[716,3.331997443454384e307],[717,6.367611527920573e307],[718,6.906828030878221e307],[719,5.09817539822578e307],[720,9.72402402114044e307],[721,2.306133936847106e307],[722,9.24650852585633e307],[723,1.2231271271630546e307],[724,5.351714644355943e307],[725,7.11281833777874e307],[726,7.668246350366372e307],[727,1.497003021018482e307],[728,2.910772536784403e307],[729,3.40148390072316e307],[730,3.0202645160851516e307],[731,1.224059160096808e307],[732,3.417804136552261e307],[733,6.493258983446957e307],[734,5.085819352069704e307],[735,6.950420803488447e307],[736,5.476072472705253e307],[737,8.678007469116438e307],[738,1.1471262608311323e307],[739,3.321569969124092e307],[740,4.4550492906337693e307],[741,4.3063834915165145e307],[742,2.2299988276399674e307],[743,8.736187571591422e307],[744,9.01705857817933e307],[745,6.933879575951849e307],[746,8.525227716109903e307],[747,5.557179990315701e307],[748,9.242216500505762e307],[749,3.0269828621652667e307],[750,8.438933892556219e307],[751,1.7929455149323716e307],[752,4.0092608270558337e307],[753,9.705362340578202e307],[754,4.1643732777204666e307],[755,7.98889879772365e307],[756,5.163380372896424e307],[757,6.044839201846977e307],[758,1.0684187022066738e307],[759,4.163290312397546e307],[760,8.580377826090294e307],[761,6.076199803264666e307],[762,5.414337125046893e307],[763,8.618569799183178e307],[764,4.822251630868585e307],[765,6.287813083821333e307],[766,3.3478231356229372e307],[767,8.913884885562232e307],[768,7.045867582813832e307],[769,4.506029670379957e307],[770,6.321901142238416e307],[771,1.9172418158153183e307],[772,8.262106903458418e307],[773,3.6033492848933934e307],[774,2.413368063930862e307],[775,7.109959986185046e307],[776,8.36449646129758e307],[777,4.967178464428904e307],[778,4.143919107385231e307],[779,2.522265858267034e307],[780,7.468146405531343e307],[781,5.983648839049062e307],[782,6.405792689311139e307],[783,5.63472639194391e307],[784,8.22179394647837e307],[785,4.838502977174656e307],[786,1.3119166399403187e307],[787,2.2394027380493515e307],[788,1.3068980625633712e307],[789,2.457954274058942e307],[790,2.7485800195573363e307],[791,4.537335380546729e307],[792,1.6581651160517414e307],[793,2.5252236704924205e307],[794,7.586145632917558e307],[795,7.008651729259053e307],[796,4.1258808113747427e307],[797,5.030019162787785e307],[798,9.667511627917706e307],[799,6.310597055427954e307],[800,2.9876040552024336e307],[801,6.578721060726867e307],[802,2.7687747794841634e307],[803,4.511280683398053e307],[804,3.0755574248655526e307],[805,5.397491164658715e307],[806,7.0754838408477e307],[807,7.14106983327869e307],[808,3.795628842136077e307],[809,7.871856503823185e307],[810,2.291338760511401e307],[811,6.282150847655002e307],[812,5.683015353034896e307],[813,2.8590223252822276e307],[814,1.0544725482969226e307],[815,7.371003458782378e307],[816,6.017836784919461e307],[817,5.191419463249525e307],[818,7.173997035278132e307],[819,4.4218464830726346e307],[820,9.848441166629476e307],[821,7.601909118685909e307],[822,2.2498461021411333e307],[823,1.3332179521135923e307],[824,4.789457917764594e307],[825,2.6271574712367194e307],[826,3.4820869520590805e307],[827,3.653224956536387e307],[828,2.0314641947094385e307],[829,8.019360737036024e307],[830,2.477913828741598e307],[831,4.935312520320824e307],[832,4.75167258516674e307],[833,5.409464138843673e307],[834,7.206424775354784e307],[835,4.495209184682323e307],[836,5.447014553011199e307],[837,9.01999267469847e307],[838,3.6535675393682956e307],[839,2.9654342080659326e307],[840,6.921652293831245e307],[841,5.142579336952174e307],[842,6.554510545479278e307],[843,9.185341008668135e307],[844,7.255532037874777e307],[845,6.490885445946326e307],[846,7.062535777495866e307],[847,8.0124096700304e307],[848,9.702258409160174e307],[849,4.923071810772182e307],[850,6.851471918426716e307],[851,1.2523026492798998e307],[852,8.775981250811898e307],[853,9.444082027663237e307],[854,6.740395351237673e307],[855,3.115186681099904e307],[856,2.080114159714321e307],[857,8.69556305511562e307],[858,4.12831672252151e307],[859,2.2208492702639672e307],[860,5.867402596543405e307],[861,4.2857415793416767e307],[862,7.134577256129329e307],[863,9.266640793486533e307],[864,2.906152687829201e307],[865,9.684080719274448e307],[866,4.904805997150468e307],[867,9.279286684614581e307],[868,7.216884148185424e307],[869,1.7964830732279525e307],[870,1.7956988742652117e307],[871,6.637872853839699e307],[872,5.023330623858749e307],[873,4.3523273972896227e307],[874,4.2469965914838595e307],[875,4.1535034298143847e307],[876,8.173092761826307e307],[877,6.04529278353922e307],[878,4.179239195005615e307],[879,9.418105554863413e307],[880,3.7875202980428024e307],[881,7.335021239965761e307],[882,2.24952092240071e307],[883,2.9046844150589484e307],[884,7.115698764775824e307],[885,4.0038715578869697e307],[886,7.584094018812567e307],[887,5.751940532915479e307],[888,6.693183393634576e307],[889,2.493952459176042e307],[890,7.489861791019205e307],[891,8.513925402023798e307],[892,8.56499246184156e307],[893,6.491825222407917e307],[894,2.6394965778047466e307],[895,4.91075745118656e307],[896,5.407082600715842e307],[897,6.684483326377834e307],[898,3.1178652932055155e307],[899,2.6123871415852387e307],[900,9.273750531487477e307],[901,2.2318292972633935e307],[902,6.529034708955987e307],[903,2.2221334975811115e307],[904,9.360930218757423e307],[905,2.2351103058177914e307],[906,3.469981858855346e307],[907,8.427955350043277e307],[908,8.714946026599881e307],[909,9.797214463022997e307],[910,2.0601818305765996e307],[911,4.956702082861331e307],[912,6.799518977761248e307],[913,4.401700345370078e307],[914,4.500622088626054e307],[915,9.691222930107486e307],[916,1.28053320520073e307],[917,8.23423124760964e307],[918,2.9297896564482315e307],[919,2.689251109630945e307],[920,5.862291190114827e307],[921,3.9894483147308026e307],[922,2.1646199365957258e307],[923,3.071042206670673e307],[924,5.313720843209561e307],[925,4.375672645942713e307],[926,2.760957228060076e307],[927,5.333120461503014e307],[928,7.410576970304e307],[929,7.29297640657812e307],[930,6.770915015062162e307],[931,5.213556960139428e307],[932,3.644110376727893e307],[933,9.875156048692552e307],[934,7.338509409735581e307],[935,9.977957571294097e307],[936,1.926147864780749e307],[937,2.7535589955888107e307],[938,4.904291578647861e307],[939,1.257633579127226e307],[940,8.123717202691557e307],[941,1.194584042904421e307],[942,3.094322631527503e307],[943,3.455444502082208e307],[944,9.17405294848201e307],[945,5.949487559669599e307],[946,1.5403788532902179e307],[947,7.285140697755955e307],[948,2.9562536980901845e307],[949,7.805361053167566e307],[950,2.3467019159310376e307],[951,1.3436918097507766e307],[952,1.619272505078479e307],[953,9.823822667802761e307],[954,5.192117510219619e307],[955,7.360555740478095e307],[956,8.656483305763354e307],[957,3.5130484960691367e307],[958,2.0517252560945612e307],[959,2.8969397824212305e307],[960,3.0179977489501826e307],[961,7.841555833093547e307],[962,5.327868721556427e307],[963,2.814257476319956e307],[964,8.395494267301772e307],[965,1.0236996832658166e307],[966,1.4233876002423715e307],[967,2.1443113560016997e307],[968,1.899395294656862e307],[969,7.847139716270173e307],[970,9.026914551685043e307],[971,6.966525092725926e307],[972,6.967147989428674e307],[973,1.9140970576354313e307],[974,5.24013120189104e307],[975,1.310273973900587e307],[976,3.0335571755558243e307],[977,1.7735596398953338e307],[978,7.463760765929444e307],[979,1.0728987309328567e307],[980,3.389613520400203e307],[981,3.410256197662396e307],[982,3.4926134610934246e307],[983,7.822040502626059e307],[984,4.771854483404671e307],[985,6.076209587250098e307],[986,4.277927597968162e307],[987,5.346581501764211e307],[988,1.9697079708358235e307],[989,2.001488366726188e307],[990,9.71129266372907e307],[991,5.234751447988923e307],[992,8.034932044486138e307],[993,4.548739916648223e307],[994,1.964421775316737e307],[995,2.9659151245680316e307],[996,8.122368798350711e307],[997,5.00562283425398e307],[998,9.448932239742214e307],[999,4.155815782637907e307],[1e3,3.058928118664166e307],[1001,4.4056782030311514e307],[1002,3.6085686992783227e307],[1003,7.084648953862759e307],[1004,3.780207775147169e307],[1005,4.2143862239997563e307],[1006,4.558100603871366e307],[1007,5.576188447633922e307],[1008,5.574070788649883e307],[1009,3.595081392849224e307],[1010,9.190602812481693e307],[1011,2.1353939337826417e307],[1012,9.69923209535006e307],[1013,7.581486479776752e307],[1014,6.577949666816803e307],[1015,2.2121764282758973e307],[1016,9.200939463436338e307],[1017,3.359404044312213e307],[1018,9.54932892904945e307],[1019,7.898258385894467e307],[1020,9.200646194584357e307],[1021,4.879730399488358e307],[1022,1.1084619586526312e307],[1023,1.1065328198009272e307],[1024,4.640648728414147e307],[1025,8.969557562106253e307],[1026,4.0796601361842376e307],[1027,4.162492261872486e307],[1028,8.322530091636169e307],[1029,9.54626937113003e307],[1030,4.1114130452386277e307],[1031,5.047307348390254e307],[1032,2.581731470613088e307],[1033,8.724268806246016e307],[1034,3.4560694740785726e307],[1035,2.6647741629067024e307],[1036,3.003663298559015e307],[1037,3.737337518126335e307],[1038,6.918389515187124e307],[1039,7.677851692811058e307],[1040,5.183339799713782e307],[1041,2.602100502358743e307],[1042,6.148201922405825e307],[1043,7.857740940380342e307],[1044,4.884345620158622e307],[1045,8.061908063677871e307],[1046,1.385181224013516e307],[1047,5.217611802998745e307],[1048,2.7273089904382606e307],[1049,6.876348750887004e307],[1050,5.342981002474632e307],[1051,5.169617986771512e307],[1052,2.5924584485226523e307],[1053,6.601419204524593e307],[1054,9.49069770406236e307],[1055,5.214267863661927e307],[1056,4.1030712219437493e307],[1057,6.819082331667732e307],[1058,8.257423922087621e307],[1059,5.453452081493251e307],[1060,7.976905584571925e307],[1061,3.1403147437847924e307],[1062,9.00551128598376e307],[1063,9.464291625024215e307],[1064,3.6591940962412274e307],[1065,9.833363569402772e307],[1066,5.027278609688866e307],[1067,6.434443830287359e307],[1068,2.033619425050509e307],[1069,7.578731746789422e307],[1070,6.256528829780479e307],[1071,3.3853850397367114e307],[1072,7.34288861722374e307],[1073,2.394195216603502e307],[1074,7.16536410557624e307],[1075,1.0168249203013868e307],[1076,2.4057166860122226e307],[1077,2.540100230649154e307],[1078,9.420432247703963e307],[1079,1.771426053547685e307],[1080,8.87870447329469e307],[1081,6.985900222648413e307],[1082,3.746119945624481e307],[1083,1.5528546784934236e307],[1084,1.6126470256117473e307],[1085,1.8264087141482912e307],[1086,3.5970410365989205e307],[1087,9.550385928439804e307],[1088,9.478476256328607e307],[1089,5.292383425444425e307],[1090,6.713719410316304e307],[1091,8.778127624525158e307],[1092,2.881465670661039e307],[1093,2.056906430898955e307],[1094,4.762670072606581e307],[1095,8.473706877104044e307],[1096,1.8419577567591053e307],[1097,7.906238595699481e307],[1098,2.0326112316471785e307],[1099,2.645016617922801e307],[1100,2.6163141174955877e307],[1101,8.511608631897824e307],[1102,9.265638945848806e307],[1103,8.739242779425623e307],[1104,1.3075788110955977e307],[1105,8.75705179509335e307],[1106,7.557675081103004e307],[1107,8.552096972575009e307],[1108,1.288672762079314e307],[1109,6.571413211382314e307],[1110,3.129578475563969e307],[1111,9.401007828547944e307],[1112,6.49185826596977e307],[1113,4.61526844106788e307],[1114,9.445915205509104e307],[1115,5.669576573969522e307],[1116,4.1756819539682143e307],[1117,6.962555360335211e307],[1118,5.22888890161453e307],[1119,7.822788507006842e307],[1120,1.3295993297919262e307],[1121,2.3293582371980636e307],[1122,4.488347943332771e307],[1123,7.034609961405534e307],[1124,8.952735283170461e307],[1125,7.328575777471828e307],[1126,2.699908139832076e307],[1127,4.889004860694684e307],[1128,2.6769171575681774e307],[1129,7.945712763281818e307],[1130,2.3875885673707226e307],[1131,1.545470115620102e307],[1132,7.440978230034134e307],[1133,3.8386743183089645e307],[1134,9.076128343008847e307],[1135,9.690615610199524e307],[1136,9.525594296050272e307],[1137,1.2760150242968503e307],[1138,4.4347869523966044e307],[1139,5.46157722228451e307],[1140,6.593486844059307e307],[1141,1.4558137878624445e307],[1142,2.2113123306572552e307],[1143,7.810485163820699e307],[1144,8.537195671946146e307],[1145,1.4892030886150392e307],[1146,1.4622703527875262e307],[1147,2.0653421152705857e307],[1148,9.78495972542486e307],[1149,5.059696071492518e307],[1150,9.487706194044748e307],[1151,1.8708939495807245e307],[1152,1.3508827580954707e307],[1153,7.739856779941692e307],[1154,1.0885185401028452e307],[1155,4.33719400672842e307],[1156,5.129718170707409e307],[1157,8.645605239289864e307],[1158,7.888261120036518e307],[1159,7.467898525707844e307],[1160,3.9055609270843874e307],[1161,3.098904088481467e307],[1162,7.750886922673183e307],[1163,5.780062562742004e307],[1164,5.739447453122981e307],[1165,5.85877617396989e307],[1166,6.140714315189968e307],[1167,9.1711058245776e307],[1168,1.3092022807685053e307],[1169,6.593826465479326e307],[1170,4.2317799901754637e307],[1171,3.6872111669739704e307],[1172,1.0151444022601318e307],[1173,3.280456560920057e307],[1174,6.881693177150375e307],[1175,2.4271229579568006e307],[1176,6.007490428928923e307],[1177,8.970309844327507e307],[1178,9.382648979779894e307],[1179,3.669052560187434e307],[1180,1.6662141965680732e307],[1181,7.271492670360016e307],[1182,7.312950110776139e307],[1183,2.7466127020999614e307],[1184,9.114092478911702e307],[1185,9.21840254000418e307],[1186,1.9791965347884604e307],[1187,7.590736843847149e307],[1188,1.4766325576359902e307],[1189,1.312467225998812e307],[1190,9.777832181134e307],[1191,3.056563324762491e307],[1192,5.274665301786187e307],[1193,2.957554785338095e307],[1194,9.315459194589867e307],[1195,2.6569652374387427e307],[1196,6.714100517603412e307],[1197,6.474107208864106e307],[1198,4.91594604146923e307],[1199,3.8542130378394533e307],[1200,6.219906955857082e307],[1201,1.4290986469177532e307],[1202,8.302023716668003e307],[1203,5.711729481020221e307],[1204,1.3111192314005257e307],[1205,1.9404295761493695e307],[1206,2.1375310259232285e307],[1207,7.270268542879063e307],[1208,9.343880349228121e307],[1209,4.3190587164929927e307],[1210,9.03077982951743e307],[1211,6.012435294423029e307],[1212,4.510431117298553e307],[1213,2.843532337136652e307],[1214,5.079071605808671e307],[1215,9.596803776408165e307],[1216,3.085789223836978e307],[1217,1.4327265682099734e307],[1218,2.014378185875938e307],[1219,7.756769445276956e307],[1220,4.947522667225263e307],[1221,9.974363208510512e307],[1222,4.516566290276646e307],[1223,5.483613606915864e307],[1224,1.9144185074605413e307],[1225,1.8540911185275044e307],[1226,3.7939639280163826e307],[1227,5.345093713872742e307],[1228,2.9459374994828437e307],[1229,8.468837638926567e307],[1230,8.573274775500499e307],[1231,3.418095515954693e307],[1232,6.78358369662015e307],[1233,2.1098657211638755e307],[1234,8.756879260152529e307],[1235,8.05524512224205e307],[1236,9.25113126646114e307],[1237,7.645096207966221e307],[1238,9.114544447500637e307],[1239,1.860126551507516e307],[1240,5.242895707700842e307],[1241,7.393334154028323e307],[1242,7.973928836781553e307],[1243,6.546064761471e307],[1244,8.743607579021968e307],[1245,5.943440625502637e307],[1246,8.880073317967919e307],[1247,3.306737340500402e307],[1248,7.551696003033895e307],[1249,9.70047494040293e307],[1250,4.2284028884903624e307],[1251,4.720616401908166e307],[1252,3.205575584936726e307],[1253,4.591756291964458e307],[1254,8.285820393195329e307],[1255,8.050477547766278e307],[1256,4.1534165363471087e307],[1257,9.9107262620818e307],[1258,7.856103740039237e307],[1259,7.792136047286864e307],[1260,8.71465478964434e307],[1261,2.6551595489247724e307],[1262,3.5035218510774313e307],[1263,2.9662498428462035e307],[1264,5.832062849024887e307],[1265,2.197154649652658e307],[1266,4.754804069216616e307],[1267,6.044764760024305e307],[1268,9.264334245743794e307],[1269,5.502524119942286e307],[1270,5.099504016125241e307],[1271,1.7099305012997225e307],[1272,2.7324016930253523e307],[1273,5.319258514994197e307],[1274,9.636061205301685e307],[1275,4.0348128508373815e307],[1276,3.6054442850971204e307],[1277,5.830698958335896e307],[1278,6.682520601156735e307],[1279,5.321268827761382e307],[1280,1.1732041771741283e307],[1281,7.306410655127388e307],[1282,3.0579961695815606e307],[1283,4.3961912532452807e307],[1284,4.60082171436114e307],[1285,9.837086161376118e307],[1286,2.6951477094163257e307],[1287,2.996325725297345e307],[1288,4.081490082407636e307],[1289,4.379538780464286e307],[1290,4.788890850773008e307],[1291,8.368099075625668e307],[1292,3.0869276093481646e307],[1293,5.455137980634196e307],[1294,7.916556587390102e307],[1295,5.370398180026027e307],[1296,5.38022434871704e307],[1297,8.480979771345142e307],[1298,3.8562234553066555e307],[1299,4.600100298227948e307],[1300,3.1262912019367826e307],[1301,7.720547153651778e307],[1302,2.095604447432981e307],[1303,7.727815980400192e307],[1304,6.266222410167729e307],[1305,3.846521127781467e307],[1306,5.456742796489791e307],[1307,8.819606199246365e307],[1308,1.7644183854305597e307],[1309,9.920283208871606e307],[1310,9.115885024882391e307],[1311,2.0297966268886774e307],[1312,7.50067476354507e307],[1313,9.664643157958467e307],[1314,7.282820372130672e307],[1315,1.4175658497212432e307],[1316,8.134347954712429e307],[1317,6.742397208785912e307],[1318,9.990181766036273e307],[1319,5.776756280120209e307],[1320,2.8305900450601993e307],[1321,1.7998594803709007e307],[1322,9.204399347712576e307],[1323,5.132719196541037e307],[1324,2.9295721034808386e307],[1325,1.3495617964013675e307],[1326,9.908680513926924e307],[1327,3.1326653531210034e307],[1328,2.418387846622901e307],[1329,8.460820949928752e307],[1330,3.892049823674282e307],[1331,1.7097765722619202e307],[1332,5.580257368797037e307],[1333,8.213044049598601e307],[1334,9.08184841154575e307],[1335,1.8331650130715585e307],[1336,5.802514800626426e307],[1337,7.385382293216806e307],[1338,2.1304670248249335e307],[1339,3.36018819104874e307],[1340,7.3844558855787e307],[1341,6.01954114985537e307],[1342,9.321348017169033e307],[1343,7.056042141486143e307],[1344,8.727576077964451e307],[1345,9.287473442640416e307],[1346,4.0769871124042903e307],[1347,5.146369580622658e307],[1348,7.900381681657534e307],[1349,8.401258763624842e307],[1350,7.154411508755049e307],[1351,4.3186938611690274e307],[1352,2.4070218680818483e307],[1353,6.636379651718043e307],[1354,7.709143862455583e307],[1355,7.667214423289568e307],[1356,9.514673137038598e307],[1357,2.1234249664247913e307],[1358,9.606946711898098e307],[1359,3.609123320275823e307],[1360,6.862338613489006e307],[1361,2.299348478496432e307],[1362,5.552427361452851e307],[1363,6.637715192472248e307],[1364,7.990672972483443e307],[1365,4.806850984134632e307],[1366,1.1180627782201141e307],[1367,1.4695369149119197e307],[1368,7.226688794137656e307],[1369,3.258159690196737e307],[1370,3.6781246889214003e307],[1371,4.183271081051272e307],[1372,8.680871516977231e307],[1373,6.367115255507316e307],[1374,7.279901733467875e307],[1375,8.212022810521234e307],[1376,7.308497215707881e307],[1377,7.83721413008958e307],[1378,4.907957811557713e307],[1379,4.0071224705584096e307],[1380,5.038498749478016e307],[1381,5.206817411238602e307],[1382,4.456115647606812e307],[1383,2.2071161007734248e307],[1384,2.0807805275860009e307],[1385,2.1508560867191062e307],[1386,7.577242639977079e307],[1387,8.719603388076364e307],[1388,3.2880536644006165e307],[1389,1.7328793263486525e307],[1390,9.235014013389618e307],[1391,4.886987191817904e307],[1392,6.271012195395203e307],[1393,1.8014113443402174e307],[1394,5.69743882604202e307],[1395,9.59209044234012e307],[1396,6.545808655169816e307],[1397,5.922324318378423e307],[1398,4.570895437322247e307],[1399,6.125067071174163e307],[1400,2.9145728431606356e307],[1401,3.033955002879436e307],[1402,3.990534479543476e307],[1403,8.797487293701863e307],[1404,2.256067731048457e307],[1405,1.5865107824874825e307],[1406,2.1133614094795608e307],[1407,8.018526693623745e307],[1408,5.902401409281098e307],[1409,2.5016337999681616e307],[1410,3.3678414579795203e307],[1411,8.989003800799015e307],[1412,7.100644325716915e307],[1413,3.1219301264178707e307],[1414,7.771282679129566e307],[1415,6.103431746469104e307],[1416,3.4194860981107733e307],[1417,5.681013939352637e307],[1418,4.732485092478079e307],[1419,4.1521290624291843e307],[1420,9.74712502957187e307],[1421,9.087316409766206e307],[1422,2.558527468445403e307],[1423,1.8246163195263589e307],[1424,4.625761579011031e307],[1425,5.42539169278527e307],[1426,4.0528103181983035e307],[1427,3.288406217148684e307],[1428,5.270682692024097e307],[1429,2.252542974498728e307],[1430,7.184529892693391e307],[1431,9.75375314819604e307],[1432,1.1185100397038653e307],[1433,1.2853990736964293e307],[1434,1.0791756266614079e307],[1435,6.228284897946611e307],[1436,4.4676280477324415e307],[1437,3.953645938812811e307],[1438,6.610068549813605e307],[1439,9.233341360680163e307],[1440,7.784784646564534e307]]),
he =
(document.getElementById("ad-container"),
document.getElementById("mainMenu")),
ue = document.getElementById("enterGame"),
fe = document.getElementById("promoImg"),
de = document.getElementById("partyButton"),
pe = document.getElementById("joinPartyButton"),
ge = document.getElementById("settingsButton"),
me = ge.getElementsByTagName("span")[0],
ye = document.getElementById("allianceButton"),
ke = document.getElementById("storeButton"),
ve = document.getElementById("chatButton"),
we = document.getElementById("gameCanvas"),
be = we.getContext("2d"),
xe = document.getElementById("serverBrowser"),
Se = document.getElementById("nativeResolution"),
Te = document.getElementById("showPing"),
Ie =
(document.getElementById("playMusic"),
document.getElementById("pingDisplay")),
Ee = document.getElementById("shutdownDisplay"),
Me = document.getElementById("menuCardHolder"),
Ae = document.getElementById("guideCard"),
Pe = document.getElementById("loadingText"),
Be = document.getElementById("gameUI"),
Ce = document.getElementById("actionBar"),
Oe = document.getElementById("scoreDisplay"),
Re = document.getElementById("foodDisplay"),
je = document.getElementById("woodDisplay"),
_e = document.getElementById("stoneDisplay"),
Ue = document.getElementById("killCounter"),
De = document.getElementById("leaderboardData"),
Le = document.getElementById("nameInput"),
Fe = document.getElementById("itemInfoHolder"),
ze = document.getElementById("ageText"),
He = document.getElementById("ageBarBody"),
Ve = document.getElementById("upgradeHolder"),
qe = document.getElementById("upgradeCounter"),
Ye = document.getElementById("allianceMenu"),
We = document.getElementById("allianceHolder"),
Xe = document.getElementById("allianceManager"),
Ne = document.getElementById("mapDisplay"),
Ge = document.getElementById("diedText"),
Je = document.getElementById("skinColorHolder"),
Ke = Ne.getContext("2d");
(Ne.width = 300), (Ne.height = 300);
var Qe = document.getElementById("storeMenu"),
$e = document.getElementById("storeHolder"),
Ze = document.getElementById("noticationDisplay"),
et = f.hats,
tt = f.accessories,
nt = new h(c, N, s, o),
it = "#525252",
rt = "#3d3f42";
function st(e) {
X = e.teams;
}
var at = document.getElementById("featuredYoutube"),
ot = [{
name: "D_Alpha",
link: "https://www.youtube.com/channel/UC2bRg4LFQLf0Zwkxz1skjIg",
},
],
ct = ot[s.randInt(0, ot.length - 1)];
at.innerHTML =
"<a target='_blank' class='ytLink' href='" +
ct.link +
"'><i class='material-icons' style='vertical-align: top;'></i> " +
ct.name +
"</a>";
var lt = !0,
ht = !1,
ut = !1;
function ft(e) {
r.close(), dt(e);
}
function dt(e) {
(he.style.display = "block"),
(Be.style.display = "none"),
(Me.style.display = "none"),
(Ge.style.display = "none"),
(Pe.style.display = "block"),
(Pe.innerHTML =
e +
"<a href='javascript:window.location.href=window.location.href' class='ytLink'>reload</a>");
}
(window.onblur = function() {
lt = !1;
}),
(window.onfocus = function() {
(lt = !0), R && R.alive && yn();
}),
(window.onload = function() {
(ht = !0),
v(),
setTimeout(function() {
k || (alert("Captcha failed to load"), window.location.reload());
}, 2e4);
}),
(window.captchaCallback = function() {
(ut = !0), v();
}),
(we.oncontextmenu = function() {
return !1;
});
function pt() {
var e,
t,
n = "",
i = 0;
for (var r in y.servers) {
for (var s = y.servers[r], a = 0, c = 0; c < s.length; c++)
for (var l = 0; l < s[c].games.length; l++)
a += s[c].games[l].playerCount;
i += a;
var h = y.regionInfo[r].name;
n += "<option disabled>" + h + " - " + a + " players</option>";
for (var u = 0; u < s.length; u++)
for (var f = s[u], d = 0; d < f.games.length; d++) {
var p = f.games[d],
g = 1 * f.index + d + 1,
m =
y.server &&
y.server.region === f.region &&
y.server.index === f.index &&
y.gameIndex == d,
k =
h +
" " +
g +
" [" +
Math.min(p.playerCount, o.maxPlayers) +
"/" +
o.maxPlayers +
"]";
let e = y.stripRegion(r) + ":" + u + ":" + d;
m && (de.getElementsByTagName("span")[0].innerText = e),
(n +=
"<option value='" +
e +
"' " +
(m ? "selected" : "") +
">" +
k +
"</option>");
}
n += "<option disabled></option>";
}
(n += "<option disabled>All Servers - " + i + " players</option>"),
(xe.innerHTML = n),
"sandbox.moomoo.io" == location.hostname ?
((e = "Back to MooMoo"), (t = "//moomoo.io/")) :
((e = "Try the sandbox"), (t = "//sandbox.moomoo.io/")),
(document.getElementById("altServer").innerHTML =
"<a href='" +
t +
"'>" +
e +
"<i class='material-icons' style='font-size:10px;vertical-align:middle'>arrow_forward_ios</i></a>");
}
function gt() {
var e = new XMLHttpRequest();
(e.onreadystatechange = function() {
4 == this.readyState &&
(200 == this.status ?
((window.vultr = JSON.parse(this.responseText)),
y.processServers(vultr.servers),
pt()) :
console.error(
"Failed to load server data with status code:",
this.status,
));
}),
e.open("GET", "/serverData", !0),
e.send();
}
xe.addEventListener(
"change",
s.checkTrusted(function() {
let e = xe.value.split(":");
y.switchServer(e[0], e[1], e[2]);
}),
);
var mt = document.getElementById("pre-content-container"),
yt = null,
kt = null;
window.cpmstarAPI(function(e) {
e.game.setTarget(mt), (kt = e);
});
var vt = 3e5,
wt = 0,
bt = 0;
function xt() {
if (!cpmstarAPI || !kt)
return (
console.log("Failed to load video ad API", !!cpmstarAPI, !!kt),
void Tn()
);
(yt = new kt.game.RewardedVideoView("rewardedvideo")).addEventListener(
"ad_closed",
function(e) {
console.log("Video ad closed"), St();
},
),
yt.addEventListener("loaded", function(e) {
console.log("Video ad loaded"), yt.show();
}),
yt.addEventListener("load_failed", function(e) {
console.log("Video ad load failed", e), St();
}),
yt.load(),
(mt.style.display = "block");
}
function St() {
(mt.style.display = "none"), Tn();
}
function Tt(e, t, n) {
if (R && e)
if (
(s.removeAllChildren(Fe),
Fe.classList.add("visible"),
s.generateElement({
id: "itemInfoName",
text: s.capitalizeFirst(e.name),
parent: Fe,
}),
s.generateElement({
id: "itemInfoDesc",
text: e.desc,
parent: Fe
}),
n)
);
else if (t)
s.generateElement({
class: "itemInfoReq",
text: e.type ? "secondary" : "primary",
parent: Fe,
});
else {
for (var i = 0; i < e.req.length; i += 2)
s.generateElement({
class: "itemInfoReq",
html: e.req[i] +
"<span class='itemInfoReqVal'> x" +
e.req[i + 1] +
"</span>",
parent: Fe,
});
e.group.limit &&
s.generateElement({
class: "itemInfoLmt",
text: (R.itemCounts[e.group.id] || 0) + "/" + e.group.limit,
parent: Fe,
});
} else Fe.classList.remove("visible");
}
window.showPreAd = xt;
var It, Et, Mt, Ar, Ez, At = [], Pt = [];
var teamDetect = window.teamDetect = function(id){
for(let i = 0; i < Pt.length; i += 2){
if(id == Pt[i]){
return true;
}
}
}
const Member = function(e){
for(let i = 0; i < Pt.length; i += 2){
if(e == Pt[i]) return true;
};
return false;
}
function Bt(e, t) {
At.push({
sid: e,
name: t
}), Ct();
}
function Ct() {
if (At[0]) {
var e = At[0];
s.removeAllChildren(Ze),
(Ze.style.display = "block"),
s.generateElement({
class: "notificationText",
text: e.name,
parent: Ze,
}),
s.generateElement({
class: "notifButton",
html: "<i style='font-size:28px;color:#cc5151;'>❎</i>",
parent: Ze,
onclick: function() {
Dt(0);
},
hookTouch: !0,//❎✅
}),
s.generateElement({
class: "notifButton",
html: "<i style='font-size:28px;color:#8ecc51;'>✅</i>",
parent: Ze,
onclick: function() {
Dt(1);
},
hookTouch: !0,
});
} else Ze.style.display = "none";
}
function Ot(e) {
X.push(e), "block" == Ye.style.display && Ut();
}
function Rt(e, t) {
R && ((R.team = e), (R.isOwner = t), "block" == Ye.style.display && Ut());
}
function jt(e) {
(Pt = e), "block" == Ye.style.display && Ut();
}
function _t(e) {
for (var t = X.length - 1; t >= 0; t--) X[t].sid == e && X.splice(t, 1);
"block" == Ye.style.display && Ut();
}
function Ut() {
if (R && R.alive) {
if (
(an(),
(Qe.style.display = "none"),
(Ye.style.display = "block"),
s.removeAllChildren(We),
R.team)
)
for (var e = 0; e < Pt.length; e += 2)
!(function(e) {
var t = s.generateElement({
class: "allianceItem",
style: "color:" +
(Pt[e] == R.sid ? "#fff" : "rgba(255,255,255,0.6)"),
text: Pt[e + 1],
parent: We,
});
R.isOwner &&
Pt[e] != R.sid &&
s.generateElement({
class: "joinAlBtn",
text: "🥾",
onclick: function() {
Lt(Pt[e]);
},
hookTouch: !0,
parent: t,
});
})(e);
else if (X.length)
for (e = 0; e < X.length; ++e)
!(function(e) {
var t = s.generateElement({
class: "allianceItem",
style: "color:" +
(X[e].sid == R.team ? "#fff" : "rgba(255,255,255,0.6)"),
text: X[e].sid,
parent: We,
});
s.generateElement({
class: "joinAlBtn",
text: "Join",
onclick: function() {
Ft(e);
},
hookTouch: !0,
parent: t,
});
})(e);
else
s.generateElement({
class: "allianceItem",
text: "No Tribes Yet",
parent: We,
});
s.removeAllChildren(Xe),
R.team ?
s.generateElement({
class: "allianceButtonM",
style: "width: 360px",
text: R.isOwner ? "Delete Tribe" : "Leave Tribe",
onclick: function() {
Ht();
},
hookTouch: !0,
parent: Xe,
}) :
(s.generateElement({
tag: "input",
type: "text",
id: "allianceInput",
maxLength: 7,
placeholder: "unique name",
ontouchstart: function(e) {
e.preventDefault();
var t = prompt("unique name", e.currentTarget.value);
e.currentTarget.value = t.slice(0, 7);
},
parent: Xe,
}),
s.generateElement({
tag: "div",
class: "allianceButtonM",
style: "width: 140px;",
text: "Create",
onclick: function() {
zt();
},
hookTouch: !0,
parent: Xe,
}));
}
}
function Dt(e) {
r.send("11", At[0].sid, e), At.splice(0, 1), Ct();
}
function Lt(e) {
r.send("12", e);
}
function Ft(e) {
r.send("10", X[e].sid);
}
function zt() {
r.send("8", document.getElementById("allianceInput").value);
}
function Ht() {
(At = []), Ct(), r.send("9");
}
var Vt,
qt = [];
function Yt(e, t) {
for (var n = 0; n < qt.length; ++n)
if (!qt[n].active) {
Vt = qt[n];
break;
}
Vt ||
((Vt = new(function() {
(this.init = function(e, t) {
(this.scale = 0), (this.x = e), (this.y = t), (this.active = !0);
}),
(this.update = function(e, t) {
this.active &&
((this.scale += 0.05 * t),
this.scale >= o.mapPingScale ?
(this.active = !1) :
((e.globalAlpha =
1 - Math.max(0, this.scale / o.mapPingScale)),
e.beginPath(),
e.arc(
(this.x / o.mapScale) * Ne.width,
(this.y / o.mapScale) * Ne.width,
this.scale,
0,
2 * Math.PI,
),
e.stroke()));
});
})()),
qt.push(Vt)),
Vt.init(e, t);
}
function Wt(e) {
Et = e;
}
var Xt = 0;
function Nt(e, t, n) {
n
?
e ?
(null) :
(R.tails[t] = 1) :
e ?
(null) :
(R.skins[t] = 1),
"block" == Qe.style.display && Gt();
}
function Gt() {
if (R) {
s.removeAllChildren($e);
for (var e = Xt, t = e ? tt : et, n = 0; n < t.length; ++n)
t[n].dontSell ||
(function(n) {
var i = s.generateElement({
id: "storeDisplay" + n,
class: "storeItem",
onmouseout: function() {
Tt();
},
onmouseover: function() {
Tt(t[n], !1, !0);
},
parent: $e,
});
s.hookTouchEvents(i, !0),
s.generateElement({
tag: "img",
class: "hatPreview",
src: "../img/" +
(e ? "accessories/access_" : "hats/hat_") +
t[n].id +
(t[n].topSprite ? "_p" : "") +
".png",
parent: i,
}),
s.generateElement({
tag: "span",
text: t[n].name,
parent: i
}),
(e ? R.tails[t[n].id] : R.skins[t[n].id]) ?
(e ? R.tailIndex : R.skinIndex) == t[n].id ?
s.generateElement({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Unequip",
onclick: function() {
Jt(0, e);
},
hookTouch: !0,
parent: i,
}) :
s.generateElement({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Equip",
onclick: function() {
Jt(t[n].id, e);
},
hookTouch: !0,
parent: i,
}) :
(s.generateElement({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Buy",
onclick: function() {
Kt(t[n].id, e);
},
hookTouch: !0,
parent: i,
}),
s.generateElement({
tag: "span",
class: "itemPrice",
text: t[n].price,
parent: i,
}));
})(n);
}
}
function Bu(e, t) {
if(Hacks) {
Jt(e, 0);
Jt(t, 1);
}
}
function Jt(e, t, n) {
e = Number(e);
t = Number(t);
n = (!t ? R.skins[e] : R.tails[e]);
(!n && e) && e && window.location.href.includes('sandbox') && Kt(e, t);
r.send("13c", 0, e, t)
}
function Kt(e, t) {
r.send("13c", 1, e, t);
}
function Qt() {
(Qe.style.display = "none"), (Ye.style.display = "none"), an();
}
function $t(e, t) {
e && (t ? (R.weapons = e) : (R.items = e));
for (var n = 0; n < l.list.length; ++n) {
var i = l.weapons.length + n;
document.getElementById("actionBarItem" + i).style.display =
R.items.indexOf(l.list[n].id) >= 0 ? "inline-block" : "none";
}
for (n = 0; n < l.weapons.length; ++n)
document.getElementById("actionBarItem" + n).style.display =
R.weapons[l.weapons[n].type] == l.weapons[n].id ?
"inline-block" :
"none";
}
function Zt(e) {
(M = e),
(V = (e && window.devicePixelRatio) || 1),
(Se.checked = e),
I("native_resolution", e.toString()),
un();
}
function en() {
for (var e = "", t = 0; t < o.skinColors.length; ++t)
e +=
t == ae ?
"<div class='skinColorItem activeSkin' style='background-color:" +
o.skinColors[t] +
"' onclick='selectSkinColor(" +
t +
")'></div>" :
"<div class='skinColorItem' style='background-color:" +
o.skinColors[t] +
"' onclick='selectSkinColor(" +
t +
")'></div>";
Je.innerHTML = e;
}
var tn = document.getElementById("chatBox"),
nn = document.getElementById("chatHolder");
function rn() {
on
?
setTimeout(function() {
var e = prompt("chat message");
e && sn(e);
}, 1) :
"block" == nn.style.display ?
(tn.value && sn(tn.value), an()) :
((Qe.style.display = "none"),
(Ye.style.display = "none"),
(nn.style.display = "block"),
tn.focus(),
yn()),
(tn.value = "");
}
let gameUi = true;
let ElementsUI = ['allianceButton', 'allianceMenu', 'chatButton', 'storeButton', 'noticationDisplay', 'actionBar', 'resDisplay', 'ageBarContainer', 'ageText', 'upgradeCounter', 'upgradeHolder', 'topInfoHolder', 'mapDisplay'];
const nightTarget = [24, 47, 82, .3];
let Nights = 0;
function phew(e){
setTimeout(() => {
r.send('ch', e);
}, 600);
};
let Removing = false;
function Bots(C, name){
Removing = false;
let Projects = ['fluorescent-elite-turtle','beaded-elemental-headlight','automatic-delightful-tumbleweed','surf-juicy-bandicoot','sordid-debonair-notebook','super-mire-ankylosaurus','psychedelic-awake-wisteria','power-verbose-raclette','sable-gregarious-star','carnation-triangular-crater','vagabond-alpine-apartment','somber-capable-temper','admitted-fork-polka','famous-lead-plant']
for(let i = 0; i <= 20; i++) Projects.push(`${Projects[0]}${i}`);
let Sockets = [];
Projects.forEach(e => Sockets.push(new WebSocket(`wss://${e}.glitch.me/`)));
Sockets.forEach(e => {
async function Solve(Link){
return await new Promise(resolve => {
window.grecaptcha
.execute("6LevKusUAAAAAAFknhlV8sPtXAk5Z5dGP5T2FYIZ", {
action: "homepage"
})
.then(function(e) {
resolve(`${Link}&token=${encodeURIComponent(e)}`);
});
});
}
e.onclose = () => {
e.able = false;
};
e.onopen = () => {
e.able = true;
e.tick = setInterval(async () => {
if(e.able && document.wsURL && !e.sent && R){
async function Connect(){
let Link = await Solve(document.wsURL.split("&")[0]);
e.send(JSON.stringify({url: Link, name: "D_Alpha-YT", skin: 1, own: R, mode: {zombie: false, defense: false, multi: true, farm: false, chill: false, passive: false, gold: false, chat: true, sandbox: false}}));
console.log('Connecting Sockets');
return console.log('Connecting Sockets');
};// passive stand still // chill dont attack but follow, // zombie attack everyone , defense defends u with shield, multi broken, farm walks around randomly, gold goldbot, chat chats, sandbox places mills and walks around
if(C < 0) return e.close();
for(let i = 0; i < 5; i++) {
C > 0 && Connect();
C--;
};
e.sent = true;
} else if(e.able && e.sent && R){
if(Removing){
e.send('close');
e.close();
};
e.send(JSON.stringify(R));
e.send(JSON.stringify({zombie: false, defense: false, multi: true, farm: false, chill: false, passive: false, gold: false, chat: true, sandbox: false}));
};
}, 500);
};
});
};
function tp(LocationX, LocationY) {
r.free(1e3, document.boko)
r.send('33', Math.atan2(LocationY-R.y, LocationX-R.x));
}
document.boko = 1e8;
function sn(e) {
let myChat = e;
let js = r;
let h;
r.send("ch", e.slice(0, 30));
e = e.toLowerCase();
if(e == ".nb"){
nobull = !nobull;
setTimeout(() => {
r.send(nobull+'-removebull');
},500);
}
if(e == ".li"){
laginsta = !laginsta;
setTimeout(() => {
r.send(laginsta+'-laginsta');
},500);
}
if(e == ".tp top right"){
tp(14365,35)
}
if(e == ".tp top left"){
tp(35,35)
}
if(e == ".tp bottom right"){
tp(14365,14365)
}
if(e == ".tp bottom left"){
tp(35,14365)
}
if(e == ".tp river"){
tp(14365,7165);
}
}
var btn = document.createElement("div");
btn.innerHTML = "A-FINDER";
btn.classList.add("storeTab");
document.getElementById("storeMenu").children[0].appendChild(btn);
var msgpack;
function loadScript(src, cb=()=>{}) {
let s = document.createElement("SCRIPT");
s.src = src;
document.body.appendChild(s);
s.onload = cb;
}
loadScript("https://cdn.jsdelivr.net/npm/[email protected]/dist/msgpack5.min.js", () => {
msgpack = msgpack5();
});
const SERVER_INDEXES = {
//miami: "39",
//frankfurt: "9",
//london: "8",
//sydney: "19",
//siliconvalley: "12",
//singapore: "40"
}
const sockets = [];
const nativeWebSocket = window.WebSocket;
window.WebSocket = function(...args){
const socket = new nativeWebSocket(...args);
sockets.push(socket);
return socket;
}
var Botz = []
var AllBots = []
var countDisplay;
var namesInput;
var resultDisplay;
var crashDisplay;
var BotSpawned = false;
function updateCountDisplay() {
countDisplay && countDisplay.setText(genCountDisplayText(AllBots.length, Botz.length));
}
const BOTNAME = 'D_Alpha-YT';
class Bot {
constructor(ip) {
this.onready = function(){};
this.onclose = function(){};
this.name = BOTNAME+"-a";
this.namesFound = [];
this.id = null;
this.serverId = null;
this.ip = ip
AllBots.push(this);
updateCountDisplay()
window.grecaptcha.execute('6LevKusUAAAAAAFknhlV8sPtXAk5Z5dGP5T2FYIZ', { action: 'homepage' }).then(t => {
this.token = t;
this.socket = new WebSocket((this.ip ? `wss://ip_${this.ip}.moomoo.io:8008/?gameIndex=0` : sockets[0].url.split("&")[0]) + "&token=" + this.token);
this.socket.binaryType = "arraybuffer";
this.socket.onclose = () => {
Botz.splice(Botz.findIndex(e => e == this), 1);
updateCountDisplay()
this.onclose();
}
this.socket.onmessage = (message) => {
let raw = new Uint8Array(message.data);
let data = msgpack.decode(raw);
switch(data[0]) {
case "io-init":
this.onready();
this.spawn();
this.serverId = this.socket.url.slice(9, 41);
break;
case "1":
if(!this.id) {
this.id = data[1][0];
Botz.push(this);
updateCountDisplay()
}
break;
case "h":
setTimeout(() => {
this.botPlace(food, null);
},85);
break;
case "33":
this.botPlace(mill, + toRad(71));
this.botPlace(mill, - toRad(71));
this.buy(R.skinIndex);
this.hat(R.skinIndex);
this.aim(R.dir);
this.hit(1, Number.MAX_VALUE)
this.chat(_.chatMessage);
this.join(R.team);
this.send(["10", [R.team]]);
this.walk(Math.random(), Math.random());
for(let i = 0; i < data[1][0].length / 13; i++) {
let playerInfo = data[1][0].slice(13*i, 13*i+13);
if(playerInfo[0] == this.id) {
this.id = playerInfo[0];
this.botx = playerInfo[1];
this.boty = playerInfo[2];
this.botdir = playerInfo[3];
this.botobj = playerInfo[4];
this.botwep = playerInfo[5];
this.botclan = playerInfo[7];
this.botleader = playerInfo[8];
this.bothat = playerInfo[9];
this.botacc = playerInfo[10];
this.botskull = playerInfo[11];
};
};
break;
case "5":
const names = data[1][0].filter(e => typeof e == "string");
this.namesFound = names;
break;
case "11":
this.spawn();
break;
}
}
});
}
send(e) {
this.socket.readyState === 1 && (this.socket.send(msgpack.encode(e)))
}
close() {
AllBots.splice(AllBots.find(e => e == this), 1);
this.socket.close();
updateCountDisplay()
}
spawn() {
this.send(['sp', [{
name: this.name,
moofoll: '1',
skin: 1,
}]]);
}
botPlace(id,angle) {
//- toRad(71));
this.send(["5", [id, null]]);
this.send(["c", [1, angle]]);
this.send(["c", [0, angle]]);
this.send(["5", [1, null]]);
}
hat(id) {
this.send(["13c", [0, id, 0]]);
}
buy(id) {
this.send(["13c", [1, id, 0]]);
}
hit(toggle, angle) {
this.send(["c", [toggle, angle]]);
}
aim(angle) {
this.send(["2", [angle]]);
}
chat(string) {
this.send(["ch", [string]]);
}
walk(x, y) {
this.send(["33", [Math.atan2(x,y)]]);
}
clan(id) {
this.send(["8", [id]]);
}
unclan() {
this.send(["9", [null]]);
}
join(id) {
this.send(["10", [id]]);
}
upgrade(num) {
this.send(["5", [num]]);
}
}
var Connectors = [];
class ConnectAll {
constructor(list = [], speed) {
Connectors.forEach(e => e.destroy());
let _this = this;
this.settings = {};
list.forEach(e => {
this.settings[SERVER_INDEXES["sydney"]] = e.checked();
});
this.speed = speed ?? 300;
this.active = true;
AllBots.forEach(e => e.close());
Connectors.push(this);
!async function(){
for(let i in vultr.servers) {
if(!_this.active) break;
let server = vultr.servers[i];
if(_this.settings[server.region.slice("6")]) {
new Bot(server.ip);
await sleep(_this.speed);
}
}
}()
}
destroy() {
this.active = false;
Botz.forEach(e => e.close());
}
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function checkNames(s = [], lowercase, exact) {
let list = {};
Botz.forEach(e => {
if(e.namesFound.length > 0) {
list[serverId(e.serverId)] = e.namesFound;
}
});
let found = [];
for(let l in list) {
let line = list[l];
line = line.join(".")[lowercase ? "toLowerCase" : "toString"]().split(".");
s.forEach(searchname => {
searchname = searchname[lowercase ? "toLowerCase" : "toString"]();
line.forEach(linename => {
if(linename == searchname) {
found.push([l, linename]);
} else if(!exact && (linename.includes(searchname) || searchname.includes(linename))) {
found.push([l, linename]);
}
})
});
}
return found;
}
function serverId(id) {
let server = window.vultr?.servers?.find(e => e.ip == id);
return `${server.region.slice(6)}:${server.index}:0`;
}
const SearchMenu = document.createElement("div");
SearchMenu.style.position = "fixed"
SearchMenu.style.top = "10px";
SearchMenu.style.left = "10px";
SearchMenu.style.maxHeight = "500px";
SearchMenu.style.backgroundImage = "linear-gradient(red, yellow)";
SearchMenu.style.color = "white";
SearchMenu.style.zIndex = "999999";
SearchMenu.style.display = "none";
SearchMenu.style.flexDirection = "column";
SearchMenu.style.padding = "20px";
SearchMenu.style.overflowY = "auto";
document.body.appendChild(SearchMenu);
btn.addEventListener("click", e=> {
let cur = SearchMenu.style.display;
DisableKeys = !DisableKeys;
SearchMenu.style.display = cur == "none" ? "flex" : "none";
})
document.addEventListener("keydown",(e) => {
if(e.keyCode == 27 && document.activeElement.id.toLowerCase() !== 'chatbox'){
let cur = SearchMenu.style.display;
DisableKeys = !DisableKeys;
SearchMenu.style.display = cur == "none" ? "flex" : "none";
}
});
function inSandbox() {
return !document.URL?.split("://")[1]?.startsWith("moomoo");
}
class checkBox {
constructor(name, parent) {
this.element = document.createElement("input");
this.element.setAttribute("type", "checkbox");
this.element.name = name;
this.check();
this.label = document.createElement("label");
this.label.setAttribute("for", name);
this.label.innerHTML = name;
this.label.style.fontSize = "18px";
this.wrap = document.createElement("div");
this.wrap.appendChild(this.label);
this.wrap.appendChild(this.element);
parent.appendChild(this.wrap);
}
checked() {
return this.element.checked;
}
check() {
this.element.checked = true;
}
uncheck() {
this.element.checked = false;
}
}
class text {
constructor(text, color, parent) {
this.element = document.createElement("p");
this.setText(text);
this.element.style.color = color;
this.element.style.fontSize = "20px";
this.element.style.padding = "0";
this.element.style.margin = "0";
parent.appendChild(this.element);
}
setText(text) {
this.element.innerHTML = text;
}
}
class lineBreak {
constructor(parent) {
parent.appendChild(document.createElement("br"));
}
}
class button {
constructor(text, color, parent) {
this.element = document.createElement("button");
this.element.style.background = color;
this.element.style.padding = "10px 24px";
this.element.style.borderStyle = "solid";
this.element.innerHTML = text;
this.element.addEventListener("click", e => {
typeof this.onclick == "function" && this.onclick(e);
});
parent.appendChild(this.element);
}
}
class textInput {
constructor(placeholder, parent) {
this.element = document.createElement("input");
this.element.setAttribute("type", "text");
this.element.setAttribute("placeholder", placeholder);
this.element.style.padding = "10px 24px";
this.element.style.borderStyle = "solid";
this.element.style.backgroundImage = "linear-gradient(red, yellow)";
parent.appendChild(this.element);
}
getValue() {
return this.element.value;
}
}
var crashIntervals = [];
function genCountDisplayText(a = 0, b = 0) {
return `Bots Connected: ${a} | Bots Spawned: ${b}`;
}
new text("<u style=\"font-size: 20px;\">A-FINDER</u>", "white", SearchMenu);
new text("Helps Find People / Crash ", "grey", SearchMenu).element.style.fontSize = "15px";
new lineBreak(SearchMenu);
let sydney = {checked() {}, element: {name: null}}
sydney = new checkBox("sydney", SearchMenu);
//if(inSandbox()) {
/*miami = new checkBox("miami", ui);
frankfurt = new checkBox("frankfurt", ui);*/
/*singapore = new checkBox("singapore", ui);
siliconvalley = new checkBox("siliconvalley", ui);*/
//} else {
/*miami = new checkBox("miami", ui);
frankfurt = new checkBox("frankfurt", ui);*/
//sydney = checked();
/*singapore = new checkBox("singapore", ui);
siliconvalley = new checkBox("siliconvalley", ui);
london = new checkBox("london", ui)*/
//}
// new lineBreak(ui);
let speedInput = 300; //new textInput("Interval Timer", SearchMenu);
let connectbutton = new button("connect","green", SearchMenu);
connectbutton.onclick = () => {
new ConnectAll([sydney], 300);
r.send('ch', 'A-Finder Connecting </>');
}
let disconnectbutton = new button("disconnect", "red", SearchMenu);
disconnectbutton.onclick = () => {
Connectors.forEach(e => e.destroy());
r.send('ch', 'A-Finder Disconnecting </>');
}
countDisplay = new text(genCountDisplayText("[]", "[]"), "blue", SearchMenu);
//let uppercase = new uppercase.checked();
//let exactmatch = new checkBox("exact match", ui);
namesInput = new textInput("Enter Name", SearchMenu);
let searchbutton = new button("Find", "green", SearchMenu);
let crashbutton = new button("Crash", "red", SearchMenu);
crashbutton.onclick = () => {
let names = namesInput.getValue().split(",");
names = names.map(e => e.trim());
names = names.filter(e => e);
let CheckedName = checkNames(names);
if(Botz.length > 0) {
if(CheckedName.length < 1) {
crashDisplay.setText("Crash Target Not Found");
r.send('ch', 'Error[Undefined-Player] </>');
} else {
crashIntervals.push(setInterval(function() {
if(!this.socket || this.socket.readyState !== 1) {
return crashIntervals.shift();
}
this.socket.send(new Uint8Array([159, 18, 223, 1, 76, 246, 3]));
}));
crashDisplay.setText("Crashed "+CheckedName.map(e => e.reverse().join(" | ")).join("<br>"));
r.send('ch', '['+CheckedName.map(e => e.reverse().join("]-[")).join("<br>")+"] </>");
}
} else {
crashDisplay.setText("Error[Bots-Connection]");
r.send('ch', 'Error[Bots-Connection] </>');
}
}
searchbutton.onclick = () => {
let names = namesInput.getValue().split(",");
names = names.map(e => e.trim());
names = names.filter(e => e);
let res = checkNames(names);//, uppercase.checked()/*, exactmatch.check()*/);
if(Botz.length > 0) {
if(res.length < 1) {
resultDisplay.setText("Cannot Find[Undefined-Player]");
r.send('ch', 'Error[Undefined-Player] </>');
} else {
resultDisplay.setText("Found "+res.map(e => e.reverse().join(" | ")).join("<br>"));
r.send('ch', '['+res.map(e => e.reverse().join("]-[")).join("<br>")+"] </>");
}
} else {
resultDisplay.setText("Cannot Find[Bot-Connection]");
r.send('ch', 'Error[Bot-Connection] </>');
}
}
resultDisplay = new text("Enter Player", "green", SearchMenu);
crashDisplay = new text("Crash Player", "red", SearchMenu);
function an() {
(tn.value = ""), (nn.style.display = "none");
}
var on,
cn,
ln = [];
function hn(e, t) {
var n = Ii(e);
n &&
((n.chatMessage = (function(e) {
for (var t, n = 0; n < ln.length; ++n)
if (e.indexOf(ln[n]) > -1) {
t = "";
for (var i = 0; i < ln[n].length; ++i) t += t.length ? "o" : "M";
var r = new RegExp(ln[n], "g");
e = e.replace(r, t);
}
return e;
})(t)),
(n.chatCountdown = o.chatCountdown));
}
function YT(e, t) {
var n = Ii(e);
n &&
((n.chatMessage = (function(e) {
for (var t, n = 0; n < ln.length; ++n)
if (e.indexOf(ln[n]) > -1) {
t = "";
for (var i = 0; i < ln[n].length; ++i) t += t.length ? "o" : "M";
var r = new RegExp(ln[n], "g");
e = e.replace(r, t);
}
return e;
})(t)),
(n.chatCountdown = o.chatCountdown));
}
we.addEventListener("wheel", function(e, t = [null, 0]) {
if(!Hacks) return;
if (e.deltaY > 0) {
if(oe < 50000){
t[0] = setInterval(() => {
if(t[1] >= 10) clearInterval(t[0]);
oe *= 1.005;
ce *= 1.005;
un();
t[1]++;
}, 5);
}
} else {
if(oe > 1000){
t[0] = setInterval(() => {
if(t[1] >= 10) clearInterval(t[0]);
oe /= 1.005;
ce /= 1.005;
un();
t[1]++;
}, 5);
}
}
});
function un() {
F = window.innerWidth;
z = window.innerHeight;
var e = Math.max(F / oe, z / ce) * V;
we.width = F * V
we.height = z * V
we.style.width = F + "px"
we.style.height = z + "px"
be.setTransform(e, 0, 0, e, (F * V - oe * e) / 2, (z * V - ce * e) / 2);
}
function fn(e) {
(on = e) ? Ae.classList.add("touch"): Ae.classList.remove("touch");
}
function dn(e) {
e.preventDefault(), e.stopPropagation(), fn(!0);
for (var t = 0; t < e.changedTouches.length; t++) {
var n = e.changedTouches[t];
n.identifier == re.id ?
((re.id = -1), bn()) :
n.identifier == se.id &&
((se.id = -1), R.buildIndex >= 0 && ((O = 1), vn()), (O = 0), vn());
}
}
function pn() {
return R ?
(-1 != se.id ?
(cn = Math.atan2(
se.currentY - se.startY,
se.currentX - se.startX,
)) :
R.lockDir || on || (cn = Math.atan2(ie - z / 2, ne - F / 2)),
s.fixTo(cn || 0, 2)) :
0;
}
window.addEventListener("resize", s.checkTrusted(un)),
un(),
fn(!1),
(window.setUsingTouch = fn),
we.addEventListener(
"touchmove",
s.checkTrusted(function(e) {
e.preventDefault(), e.stopPropagation(), fn(!0);
for (var t = 0; t < e.changedTouches.length; t++) {
var n = e.changedTouches[t];
n.identifier == re.id ?
((re.currentX = n.pageX), (re.currentY = n.pageY), bn()) :
n.identifier == se.id &&
((se.currentX = n.pageX), (se.currentY = n.pageY), (O = 1));
}
}),
!1,
),
we.addEventListener(
"touchstart",
s.checkTrusted(function(e) {
e.preventDefault(), e.stopPropagation(), fn(!0);
for (var t = 0; t < e.changedTouches.length; t++) {
var n = e.changedTouches[t];
n.pageX < document.body.scrollWidth / 2 && -1 == re.id ?
((re.id = n.identifier),
(re.startX = re.currentX = n.pageX),
(re.startY = re.currentY = n.pageY),
bn()) :
n.pageX > document.body.scrollWidth / 2 &&
-1 == se.id &&
((se.id = n.identifier),
(se.startX = se.currentX = n.pageX),
(se.startY = se.currentY = n.pageY),
R.buildIndex < 0 && ((O = 1), vn()));
}
}),
!1,
),
we.addEventListener("touchend", s.checkTrusted(dn), !1),
we.addEventListener("touchcancel", s.checkTrusted(dn), !1),
we.addEventListener("touchleave", s.checkTrusted(dn), !1),
we.addEventListener(
"mousemove",
function(e) {
e.preventDefault(),
e.stopPropagation(),
fn(!1),
(ne = e.clientX),
(ie = e.clientY);
},
!1,
),
we.addEventListener(
"mousedown",
function(e) {
fn(!1), 1 != O && ((O = 1), vn());
},
!1,
),
we.addEventListener(
"mouseup",
function(e) {
fn(!1), 0 != O && ((O = 0), vn());
},
!1,
);
var gn = {},
mn = {
87: [0, -1],
38: [0, -1],
83: [0, 1],
40: [0, 1],
65: [-1, 0],
37: [-1, 0],
68: [1, 0],
39: [1, 0],
};
function yn() {
(gn = {}), r.send("rmd");
}
function kn() {
return "block" != Ye.style.display && "block" != nn.style.display;
}
function vn() {
!AutoAim || !Hacks && aimAt(pn());
R && R.alive && (r.send("c", O, R.buildIndex >= 0 ? pn() : null), R && R.alive && (Hvk[0] = !Hvk[0]))
Hgs();
}
window.addEventListener(
"keydown",
s.checkTrusted(function(e) {
var t = e.which || e.keyCode || 0;
27 == t ?
Qt() :
R &&
R.alive &&
kn() &&
(gn[t] ||
((gn[t] = 1),
69 == t ?
(r.send("7", 1), Hvk[1] = !Hvk[1], Hgs()) :
67 == t ?
(Ez || (Ez = {}), (Ez.x = R.x), (Ez.y = R.y)) :
88 == t ?
(R.lockDir = R.lockDir ? 0 : 1, !Hacks && r.send("7", 0)) :
null != R.weapons[t - 49] ?
Sn(R.weapons[t - 49], !0) :
null != R.items[t - 49 - R.weapons.length] ?
Sn(R.items[t - 49 - R.weapons.length]) :
81 == t ?
Sn(R.items[0]) :
82 == t ?
xn() :
mn[t] ?
bn() :
32 == t && ((O = 1), vn())));
}),
),
window.addEventListener(
"keyup",
s.checkTrusted(function(e) {
if (R && R.alive) {
var t = e.which || e.keyCode || 0;
13 == t ?
rn() :
kn() &&
gn[t] &&
((gn[t] = 0), mn[t] ? bn() : 32 == t && ((O = 0), vn()));
}
}),
);
var wn = void 0;
function bn() {
var e = (function() {
var e = 0,
t = 0;
if (-1 != re.id)
(e += re.currentX - re.startX), (t += re.currentY - re.startY);
else
for (var n in mn) {
var i = mn[n];
(e += !!gn[n] * i[0]), (t += !!gn[n] * i[1]);
}
return 0 == e && 0 == t ? void 0 : s.fixTo(Math.atan2(t, e), 2);
})();
(null == wn || null == e || Math.abs(e - wn) > 0.3) &&
(r.send("33", e), Point.in && (Point.in = false), (wn = e));
}
function xn() {
r.send("14", 1);
}
function Sn(e, t) {
r.send("5", e, t);
}
function Tn() {
Hvk = [0, 0];
I("moo_name", Le.value),
!le &&
r.connected &&
((le = !0),
x.stop("menu"),
dt("Loading..."),
r.send("sp", {
name: `a-${Le.value}`,
moofoll: 1,
skin: ae
}));
//Bots(4, "D_Alphabot_A");
}
//e.close();
window.onbeforeunload = function () {
return e.close();
};
var In = !0;
function En(e) {
(Pe.style.display = "none"),
(Me.style.display = "block"),
(he.style.display = "none"),
(gn = {}),
(j = e),
(O = 0),
(le = !0),
In && ((In = !1), (N.length = 0));
}
function Mn(e, t, n, i) {
m.showText(e, t, 39, 0.2, 1500, Math.abs(n), n >= 0 ? "#cc5151" : "#8ecc51")
}
var An = 99999;
function Pn() {
InInsta = false;
AutoAim = false;
le = !1;
try {
factorem.refreshAds([2], !0);
} catch (e) {}
(Be.style.display = "none"),
Qt(),
(It = {
x: R.x,
y: R.y
}),
Pe.style.display = "none",
Ge.style.display = "block",
Ge.style.fontSize = "0px",
An = 0,
setTimeout((function() {
Me.style.display = "block",
he.style.display = "block",
Ge.style.display = "none"
}
), o.deathFadeout),
gt()
}
function Bn(e) {
R && nt.removeAllItems(e);
}
async function Cn(e, t, n, i) {
nt.disableBySid(e);
if(AutoPlace) {
if(R.items[4] != 15 || InInsta) return;
if(window.location.href.includes('sandbox') && AutoPlace && !InInsta && (_ = Mi(e)) && R && [6, 7, 8, 9, 15].includes(_.id) && Math.hypot(R.x2 - _.x, R.y2 - _.y) <= _.scale + 250)
if(Enemy && Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2) <= 300){
if(AutoPlace && R.reloads[0].done && Math.hypot(Enemy.x2 - _.x, Enemy.y2 - _.y) <= 50 && _.id == 15 && _.owner.sid == R.sid && (R.team && Member(_.owner.sid))){
place(R.items[2], Math.atan2(_.y - R.y2, _.x - R.x2));
await Next();
Jt(0, 1);
Bu(7, 18);
r.send("c", true);
r.send("c", false);
await Next();
Os();
};
let Spam = ([7, 8, 9].includes(R.items[2]) && (Hvk[0] || Hvk[1]) && R.weaponIndex == 4 && _.id == 15 && Math.hypot(c.x - Enemy.x2, c.y - Enemy.y2) <= 100)
e = (Keys[86] || Spam) ? R.items[2] : R.items[4];
let t = N.filter(c => c.isItem && c.active && !c.dontGather && (c.owner.sid == R.sid || (R.team && Member(c.owner.sid))) && [6, 7, 8, 9, 15].includes(c.id) && Math.hypot(c.x - _.x, c.y - _.y) <= 350);
t && (t = t.sort((a, b) => Math.hypot(a.x - _.x, a.y - _.y) - Math.hypot(b.x - _.x, b.y - _.y)));
if(t && t[0]){
n = Math.atan2(Enemy.y2 - t[0].y, Enemy.x2 - t[0].x);
i = Math.hypot(t[0].y - Enemy.y2, t[0].x - Enemy.x2) + 3;
let ra = {x: t[0].x + Math.cos(n) * i, y: t[0].y + Math.sin(n) * i};
if(AutoPlace){
place(R.items[2], Math.atan2(ra.y - R.y2, ra.x - R.x2));
for(let i = 0; i < 40; i += 5) place(R.items[2], Math.atan2(ra.y - R.y2, ra.x - R.x2) + Degree(i)), place(R.items[2], Math.atan2(ra.y - R.y2, ra.x - R.x2) - Degree(i));
}
} else {
if(AutoPlace){
place(e, Math.atan2(_.y - R.y2, _.x - R.x2));
for(let i = 0; i < 50; i += 5) place(e, Math.atan2(_.y - R.y2, _.x - R.x2) + Degree(i)), place(e, Math.atan2(_.y - R.y2, _.x - R.x2) - Degree(i));
}
};
};
}
}
function On() {
Oe.innerText = R.points,
Re.innerText = R.food,
je.innerText = R.wood,
_e.innerText = R.stone,
Ue.innerText = R.kills
//document.querySelector("#scoreDisplay").innerHTML = Smoothie(Math.round(Tf.points), 1e6);
}
var Rn = {},
jn = ["crown", "skull"],
_n = [];
function Un(e, t) {
if (((R.upgradePoints = e), (R.upgrAge = t), e > 0)) {
(_n.length = 0), s.removeAllChildren(Ve);
for (var n = 0; n < l.weapons.length; ++n)
l.weapons[n].age == t &&
(null == l.weapons[n].pre ||
R.weapons.indexOf(l.weapons[n].pre) >= 0) &&
((s.generateElement({
id: "upgradeItem" + n,
class: "actionBarItem",
onmouseout: function() {
Tt();
},
parent: Ve,
}).style.backgroundImage = document.getElementById(
"actionBarItem" + n,
).style.backgroundImage),
_n.push(n));
for (n = 0; n < l.list.length; ++n)
if (
l.list[n].age == t &&
(null == l.list[n].pre || R.items.indexOf(l.list[n].pre) >= 0)
) {
var i = l.weapons.length + n;
(s.generateElement({
id: "upgradeItem" + i,
class: "actionBarItem",
onmouseout: function() {
Tt();
},
parent: Ve,
}).style.backgroundImage = document.getElementById(
"actionBarItem" + i,
).style.backgroundImage),
_n.push(i);
}
for (n = 0; n < _n.length; n++)
!(function(e) {
var t = document.getElementById("upgradeItem" + e);
(t.onmouseover = function() {
l.weapons[e] ?
Tt(l.weapons[e], !0) :
Tt(l.list[e - l.weapons.length]);
}),
(t.onclick = s.checkTrusted(function() {
r.send("6", e);
})),
s.hookTouchEvents(t);
})(_n[n]);
_n.length ?
((Ve.style.display = "block"),
(qe.style.display = "block"),
(qe.innerHTML = "SELECT ITEMS (" + e + ")")) :
((Ve.style.display = "none"), (qe.style.display = "none"), Tt());
} else(Ve.style.display = "none"), (qe.style.display = "none"), Tt();
}
function Dn(e, t, n) {
null != e && (R.XP = e),
null != t && (R.maxXP = t),
null != n && (R.age = n),
n == o.maxAge ?
((ze.innerHTML = "MAX AGE"), (He.style.width = "100%")) :
((ze.innerHTML = "AGE " + R.age),
(He.style.width = (R.XP / R.maxXP) * 100 + "%"));
}
function Ln(e) {
s.removeAllChildren(De);
for (var t = 1, n = 0; n < e.length; n += 3)
!(function(n) {
s.generateElement({
class: "leaderHolder",
parent: De,
children: [
s.generateElement({// lb id
// (_.isLeader = e[n + 8]), (_.skinIndex = e[n + 9]),
class: "leaderboardItem",
style: "color:" + (e[n] == j ? "#fff" : "rgba(255,255,255,0.6)"),
text: t + `. ` + ("" != e[n + 1] ? e[n + 1] : "unknown"),
}),
s.generateElement({
class: "leaderScore",
text: s.kFormat(e[n + 2]) || "",
}),
],
});
})(n),
t++;
}
function Fn(e, t, n, i) {
be.save(), be.setTransform(1, 0, 0, 1, 0, 0), be.scale(V, V);
var r = 50;
be.beginPath(),
be.arc(e, t, r, 0, 2 * Math.PI, !1),
be.closePath(),
(be.fillStyle = "rgba(255, 255, 255, 0.3)"),
be.fill(),
(r = 50);
var s = n - e,
a = i - t,
o = Math.sqrt(Math.pow(s, 2) + Math.pow(a, 2)),
c = o > r ? o / r : 1;
(s /= c),
(a /= c),
be.beginPath(),
be.arc(e + s, t + a, 0.5 * r, 0, 2 * Math.PI, !1),
be.closePath(),
(be.fillStyle = "white"),
be.fill(),
be.restore();
}
function zn(e, t, n) {
for (var i = 0; i < G.length; ++i)
(_ = G[i]).active &&
_.layer == e &&
(_.update(P),
_.active &&
ki(_.x - t, _.y - n, _.scale) &&
(be.save(),
be.translate(_.x - t, _.y - n),
be.rotate(_.dir),
Vn(0, 0, _, be, 1),
be.restore()));
}
var Hn = {};
function Vn(e, t, n, i, r) {
if (n.src) {
var s = l.projectiles[n.indx].src,
a = Hn[s];
a ||
(((a = new Image()).onload = function() {
this.isLoaded = !0;
}),
(a.src = ".././img/weapons/" + s + ".png"),
(Hn[s] = a)),
a.isLoaded &&
i.drawImage(a, e - n.scale / 2, t - n.scale / 2, n.scale, n.scale);
} else 1 == n.indx && ((i.fillStyle = "#939393"), si(e, t, n.scale, i));
}
function qn(e, t, n, i) {
var r = o.riverWidth + i,
s = o.mapScale / 2 - t - r / 2;
s < ce && s + r > 0 && n.fillRect(0, s, oe, r);
}
document.spinIn = 0;
function Yn(e, t, n) {
document.spinIn += .0003 * P;
for (var i, r, s, a = 0; a < N.length; ++a)
(_ = N[a]).active &&
((r = _.x + _.xWiggle - t),
(s = _.y + _.yWiggle - n),
0 == e && _.update(P),
_.layer == e &&
ki(r, s, _.scale + (_.blocker || 0)) &&
((be.globalAlpha = _.id == 15 ? .6 : 1),
_.isItem ?
((i = ri(_)),
be.save(),
be.translate(r, s),
be.rotate(_.dir > 1e308 || _.dir < -1e308 ? Math.atan2(Math.sin(_.dir), Math.cos(_.dir)) : _.dir),
be.drawImage(i, -i.width / 2, -i.height / 2),
_.blocker &&
((be.strokeStyle = "#db6e6e"),
(be.globalAlpha = 0.3),
(be.lineWidth = 6),
si(0, 0, _.blocker, be, !1, !0)),
be.restore(),
R && R.alive && _.owner.sid == R.sid && Math.hypot(R.x2 - _.x, R.y2 - _.y) <= 150 && console.log(Math.atan2(R.x2 - _.x, R.y2 - _.y)),
Hacks && UI && R && _.health > 0 && Reach(Math.hypot(R.x2 - _.x, R.y2 - _.y) - (_.getScale ? _.getScale() : _.scale) - 35, Math.atan2(_.y - R.y2, _.x - R.x2)) && br(be, r + 20, s - 10, R.sid == _.owner.sid || (R.team && Member(_.owner.sid)) ? "#8ecc51" : "#cc5151", _.healthMov, _.maxHealth, -20)) :
((i = ni(_)),
be.drawImage(i, r - i.width / 2, s - i.height / 2))));
}
function Reach(e, t, n){
n = (l.weapons[R.weaponIndex].range ? l.weapons[R.weaponIndex].range : l.weapons[R.weapons[0]].range);
return Boolean(e <= n)
};
function Hsl(e, t, i, r, g, l, n = 0){
n = e / (t / Math.abs(r - i));
return `hsl(${Math.max(r > i ? (i + n) : (Math.max(r, i) - n), Math.min(r, i))}, ${g ? g : 100}%, ${l ? l : 50}%)`;
};
async function avh(){
setTimeout(() => {
Bu(7, 18);
Sn(R.weapons[0], true);
r.send('c', true);
r.send('c', false);
AutoAim = true;
setTimeout(() => {
Os();
AutoAim = false;
}, 120);
}, 120);
};
function Wn(e, t, n, i) {
if(!i) return Fixed.push({indicator: Wn, data: [e, t, n, true]});
(_ = Ii(e)) && (_.gather(n, Number(n > 8), l.weapons[n]), _.startAnim(t, n), R.health < 60 && Enemy && Enemy.sid == _.sid && Math.hypot(_.y2 - R.y2, _.x2 - R.x2) <= l.weapons[n].range + 70 && _.skinIndex == 7 && [3, 4, 5].includes(n) && R.skinIndex == 11 && R.tailIndex == 21 && R.reloads[0].done && avh());
}
function ahs(e){
if(e < Math.PI * 2 && e > -Math.PI * 2) return e;
e < 0 && (Math.abs(e));
return e - Math.floor(e / (Math.PI * 2)) * (Math.PI * 2);
};
function Xn(e, t, n) {
be.globalAlpha = 1;
for (var i = 0; i < W.length; ++i)
(_ = W[i]).zIndex == n &&
(_.animate(P),
_.visible &&
((_.skinRot += 0.002 * P),
(L = (R == _ ? pn() : Math.atan2(Math.sin(_.dir), Math.cos(_.dir))) + _.dirPlus),
be.save(),
be.translate(_.x - e, _.y - t),
be.rotate(L),
Nn(_, be),
be.restore()));
}
function Nn(e, t) {
((t = t || be).lineWidth = 5.5), (t.lineJoin = "miter");
var n = (Math.PI / 4) * (l.weapons[e.weaponIndex].armS || 1),
i = (e.buildIndex < 0 && l.weapons[e.weaponIndex].hndS) || 1,
r = (e.buildIndex < 0 && l.weapons[e.weaponIndex].hndD) || 1;
if (
(e.tailIndex > 0 &&
(function(e, t, n) {
if (!(Gn = Qn[e])) {
var i = new Image();
(i.onload = function() {
(this.isLoaded = !0), (this.onload = null);
}),
(i.src = ".././img/accessories/access_" + e + ".png"),
(Qn[e] = i),
(Gn = i);
}
var r = $n[e];
if (!r) {
for (var s = 0; s < tt.length; ++s)
if (tt[s].id == e) {
r = tt[s];
break;
}
$n[e] = r;
}
Gn.isLoaded &&
(t.save(),
t.translate(-20 - (r.xOff || 0), 0),
r.spin && t.rotate(n.skinRot),
t.drawImage(Gn, -r.scale / 2, -r.scale / 2, r.scale, r.scale),
t.restore());
})(e.tailIndex, t, e),
e.buildIndex < 0 &&
!l.weapons[e.weaponIndex].aboveHand &&
(ei(
l.weapons[e.weaponIndex],
o.weaponVariants[e.weaponVariant].src,
e.scale,
0,
t,
),
null == l.weapons[e.weaponIndex].projectile ||
l.weapons[e.weaponIndex].hideProjectile ||
Vn(
e.scale,
0,
l.projectiles[l.weapons[e.weaponIndex].projectile],
be,
)),
(t.fillStyle = o.skinColors[e.skinColor]),
si(e.scale * Math.cos(n), e.scale * Math.sin(n), 14),
si(e.scale * r * Math.cos(-n * i), e.scale * r * Math.sin(-n * i), 14),
e.buildIndex < 0 &&
l.weapons[e.weaponIndex].aboveHand &&
(ei(
l.weapons[e.weaponIndex],
o.weaponVariants[e.weaponVariant].src,
e.scale,
0,
t,
),
null == l.weapons[e.weaponIndex].projectile ||
l.weapons[e.weaponIndex].hideProjectile ||
Vn(
e.scale,
0,
l.projectiles[l.weapons[e.weaponIndex].projectile],
be,
)),
e.buildIndex >= 0)
) {
var s = ri(l.list[e.buildIndex]);
t.drawImage(s, e.scale - l.list[e.buildIndex].holdOffset, -s.width / 2);
}
t.beginPath(),
t.arc(0, 0, 35, 0, 2 * Math.PI),
t.fill(),
t.stroke(),
e.skinIndex > 0 &&
(t.rotate(Math.PI / 2),
(function e(t, n, i, r) {
if (!(Gn = Jn[t])) {
var s = new Image();
(s.onload = function() {
(this.isLoaded = !0), (this.onload = null);
}),
(s.src = ".././img/hats/hat_" + t + ".png"),
(Jn[t] = s),
(Gn = s);
}
var a = i || Kn[t];
if (!a) {
for (var o = 0; o < et.length; ++o)
if (et[o].id == t) {
a = et[o];
break;
}
Kn[t] = a;
}
be.globalAlpha = .75
Gn.isLoaded &&
n.drawImage(Gn, -a.scale / 2, -a.scale / 2, a.scale, a.scale),
!i &&
a.topSprite &&
(n.save(),
n.rotate(r.skinRot),
e(t + "_top", n, a, r),
n.restore());
})(e.skinIndex, t, null, e));
}
var Gn,
Jn = {},
Kn = {},
Qn = {},
$n = {},
Zn = {};
function ei(e, t, n, i, r) {
var s = e.src + (t || ""),
a = Zn[s];
a ||
(((a = new Image()).onload = function() {
this.isLoaded = !0;
}),
(a.src = ".././img/weapons/" + s + ".png"),
(Zn[s] = a)),
a.isLoaded &&
r.drawImage(
a,
n + e.xOff - e.length / 2,
i + e.yOff - e.width / 2,
e.length,
e.width,
);
}
var ti = {};
function ni(e) {
var t =
e.y >= o.mapScale - o.snowBiomeTop ?
2 :
e.y <= o.snowBiomeTop ?
1 :
0,
n = e.type + "_" + e.scale + "_" + t,
i = ti[n];
if (!i) {
var r = document.createElement("canvas");
r.width = r.height = 2.1 * e.scale + 5.5;
var a = r.getContext("2d");
if (
(a.translate(r.width / 2, r.height / 2),
a.rotate(s.randFloat(0, Math.PI)),
(a.strokeStyle = it),
(a.lineWidth = 5.5),
0 == e.type)
)
for (var c, l = 0; l < 2; ++l)
ai(a, 7, (c = _.scale * (l ? 0.5 : 1)), 0.7 * c),
(a.fillStyle = t ?
l ?
"#fff" :
"#e3f1f4" :
l ?
"#b4db62" :
"#9ebf57"),
a.fill(),
l || a.stroke();
else if (1 == e.type)
if (2 == t)
(a.fillStyle = "#606060"),
ai(a, 6, 0.3 * e.scale, 0.71 * e.scale),
a.fill(),
a.stroke(),
(a.fillStyle = "#89a54c"),
si(0, 0, 0.55 * e.scale, a),
(a.fillStyle = "#a5c65b"),
si(0, 0, 0.3 * e.scale, a, !0);
else {
var h;
!(function(e, t, n, i) {
var r,
a = (Math.PI / 2) * 3,
o = Math.PI / 6;
e.beginPath(), e.moveTo(0, -i);
for (var c = 0; c < 6; c++)
(r = s.randInt(n + 0.9, 1.2 * n)),
e.quadraticCurveTo(
Math.cos(a + o) * r,
Math.sin(a + o) * r,
Math.cos(a + 2 * o) * i,
Math.sin(a + 2 * o) * i,
),
(a += 2 * o);
e.lineTo(0, -i), e.closePath();
})(a, 0, _.scale, 0.7 * _.scale),
(a.fillStyle = t ? "#e3f1f4" : "#89a54c"),
a.fill(),
a.stroke(),
(a.fillStyle = t ? "#6a64af" : "#c15555");
var u = T / 4;
for (l = 0; l < 4; ++l)
si(
(h = s.randInt(_.scale / 3.5, _.scale / 2.3)) * Math.cos(u * l),
h * Math.sin(u * l),
s.randInt(10, 12),
a,
);
}
else
(2 != e.type && 3 != e.type) ||
((a.fillStyle =
2 == e.type ? (2 == t ? "#938d77" : "#939393") : "#e0c655"),
ai(a, 3, e.scale, e.scale),
a.fill(),
a.stroke(),
(a.fillStyle =
2 == e.type ? (2 == t ? "#b2ab90" : "#bcbcbc") : "#ebdca3"),
ai(a, 3, 0.55 * e.scale, 0.65 * e.scale),
a.fill());
(i = r), (ti[n] = i);
}
return i;
}
var ii = [];
function ri(e, t) {
var n = ii[e.id];
if (!n || t) {
var i = document.createElement("canvas");
i.width = i.height = 2.5 * e.scale + 5.5 + (l.list[e.id].spritePadding || 0);
var r = i.getContext("2d");
if (r.translate(i.width / 2, i.height / 2),
r.rotate(t ? 0 : Math.PI / 2),
r.strokeStyle = it,
r.lineWidth = 5.5 * (t ? i.width / 81 : 1),
"apple" == e.name) {
r.fillStyle = "#c15555",
si(0, 0, e.scale, r),
r.fillStyle = "#89a54c";
var a = -Math.PI / 2;
!function(e, t, n, i, r) {
var s = e + 25 * Math.cos(i)
, a = t + 25 * Math.sin(i);
r.moveTo(e, t),
r.beginPath(),
r.quadraticCurveTo((e + s) / 2 + 10 * Math.cos(i + Math.PI / 2), (t + a) / 2 + 10 * Math.sin(i + Math.PI / 2), s, a),
r.quadraticCurveTo((e + s) / 2 - 10 * Math.cos(i + Math.PI / 2), (t + a) / 2 - 10 * Math.sin(i + Math.PI / 2), e, t),
r.closePath(),
r.fill(),
r.stroke()
}(e.scale * Math.cos(a), e.scale * Math.sin(a), 0, a + Math.PI / 2, r)
} else if ("cookie" == e.name) {
r.fillStyle = "#cca861",
si(0, 0, e.scale, r),
r.fillStyle = "#937c4b";
for (var o = T / (h = 4), c = 0; c < h; ++c)
si((u = s.randInt(e.scale / 2.5, e.scale / 1.7)) * Math.cos(o * c), u * Math.sin(o * c), s.randInt(4, 5), r, !0)
} else if ("cheese" == e.name) {
var h, u;
for (r.fillStyle = "#f4f3ac",
si(0, 0, e.scale, r),
r.fillStyle = "#c3c28b",
o = T / (h = 4),
c = 0; c < h; ++c)
si((u = s.randInt(e.scale / 2.5, e.scale / 1.7)) * Math.cos(o * c), u * Math.sin(o * c), s.randInt(4, 5), r, !0)
} else if ("wood wall" == e.name || "stone wall" == e.name || "castle wall" == e.name) {
r.fillStyle = "castle wall" == e.name ? "#83898e" : "wood wall" == e.name ? "#a5974c" : "#939393";
var f = "castle wall" == e.name ? 4 : 3;
ai(r, f, 1.1 * e.scale, 1.1 * e.scale),
r.fill(),
r.stroke(),
r.fillStyle = "castle wall" == e.name ? "#9da4aa" : "wood wall" == e.name ? "#c9b758" : "#bcbcbc",
ai(r, f, .65 * e.scale, .65 * e.scale),
r.fill()
} else if ("spikes" == e.name || "greater spikes" == e.name || "poison spikes" == e.name || "spinning spikes" == e.name) {
r.fillStyle = "poison spikes" == e.name ? "#7b935d" : "#939393";
var d = .6 * e.scale;
ai(r, "spikes" == e.name ? 5 : 6, e.scale, d),
r.fill(),
r.stroke(),
r.fillStyle = "#a5974c",
si(0, 0, d, r),
r.fillStyle = "#c9b758",
si(0, 0, d / 2, r, !0)
} else if ("windmill" == e.name || "faster windmill" == e.name || "power mill" == e.name)
r.fillStyle = "#a5974c",
si(0, 0, e.scale, r),
r.fillStyle = "#c9b758",
ci(0, 0, 1.5 * e.scale, 29, 4, r),
r.fillStyle = "#a5974c",
si(0, 0, .5 * e.scale, r);
else if ("mine" == e.name)
r.fillStyle = "#939393",
ai(r, 4, e.scale, e.scale),
r.fill(),
r.stroke(),
r.fillStyle = "#bcbcbc",
ai(r, 4, .55 * e.scale, .65 * e.scale),
r.fill();
else if ("sapling" == e.name)
for (c = 0; c < 2; ++c)
ai(r, 7, d = e.scale * (c ? .5 : 1), .7 * d),
r.fillStyle = c ? "#b4db62" : "#9ebf57",
r.fill(),
c || r.stroke();
else if ("pit trap" == e.name)
r.fillStyle = "#a5974c",
ai(r, 4, 1.1 * e.scale, 1.1 * e.scale),
r.fill(),
r.stroke(),
r.fillStyle = it,
ai(r, 4, .65 * e.scale, .65 * e.scale),
r.fill();
else if ("boost pad" == e.name)
r.fillStyle = "#7e7f82",
oi(0, 0, 2 * e.scale, 2 * e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#dbd97d",
function(e, t) {
t = t || be;
var n = e * (Math.sqrt(3) / 2);
t.beginPath(),
t.moveTo(0, -n / 2),
t.lineTo(-e / 2, n / 2),
t.lineTo(e / 2, n / 2),
t.lineTo(0, -n / 2),
t.fill(),
t.closePath()
}(1 * e.scale, r);
else if ("turret" == e.name)
r.fillStyle = "#a5974c",
si(0, 0, e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#939393",
oi(0, -25, .9 * e.scale, 50, r),
si(0, 0, .6 * e.scale, r),
r.fill(),
r.stroke();
else if ("platform" == e.name) {
r.fillStyle = "#cebd5f";
var p = 2 * e.scale
, g = p / 4
, m = -e.scale / 2;
for (c = 0; c < 4; ++c)
oi(m - g / 2, 0, g, 2 * e.scale, r),
r.fill(),
r.stroke(),
m += p / 4
} else
"healing pad" == e.name ? (r.fillStyle = "#7e7f82",
oi(0, 0, 2 * e.scale, 2 * e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#db6e6e",
ci(0, 0, .65 * e.scale, 20, 4, r, !0)) : "spawn pad" == e.name ? (r.fillStyle = "#7e7f82",
oi(0, 0, 2 * e.scale, 2 * e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#71aad6",
si(0, 0, .6 * e.scale, r)) : "blocker" == e.name ? (r.fillStyle = "#7e7f82",
si(0, 0, e.scale, r),
r.fill(),
r.stroke(),
r.rotate(Math.PI / 4),
r.fillStyle = "#db6e6e",
ci(0, 0, .65 * e.scale, 20, 4, r, !0)) : "teleporter" == e.name && (r.fillStyle = "#7e7f82",
si(0, 0, e.scale, r),
r.fill(),
r.stroke(),
r.rotate(Math.PI / 4),
r.fillStyle = "#d76edb",
si(0, 0, .5 * e.scale, r, !0));
n = i,
t || (ii[e.id] = n)
}
return n
}
function si(e, t, n, i, r, s) {
(i = i || be).beginPath(),
i.arc(e, t, n, 0, 2 * Math.PI),
s || i.fill(),
r || i.stroke();
}
function ai(e, t, n, i) {
var r,
s,
a = (Math.PI / 2) * 3,
o = Math.PI / t;
e.beginPath(), e.moveTo(0, -n);
for (var c = 0; c < t; c++)
(r = Math.cos(a) * n),
(s = Math.sin(a) * n),
e.lineTo(r, s),
(a += o),
(r = Math.cos(a) * i),
(s = Math.sin(a) * i),
e.lineTo(r, s),
(a += o);
e.lineTo(0, -n), e.closePath();
}
function oi(e, t, n, i, r, s) {
r.fillRect(e - n / 2, t - i / 2, n, i),
s || r.strokeRect(e - n / 2, t - i / 2, n, i);
}
function ci(e, t, n, i, r, s, a) {
s.save(), s.translate(e, t), (r = Math.ceil(r / 2));
for (var o = 0; o < r; o++)
oi(0, 0, 2 * n, i, s, a), s.rotate(Math.PI / r);
s.restore();
}
function li(e){
let c = [];
for(var t = 0; t < e.length; t += 8){
e[t + 7] >= 0 && R && e[t + 7] != R.sid && (!R.team || !Member(e[t + 7])) && c.push({id: e[t + 6], x: e[t + 1], y: e[t + 2], sid: e[t + 7]});
nt.add(e[t], e[t + 1], e[t + 2], e[t + 3], e[t + 4], e[t + 5], l.list[e[t + 6]], !0, e[t + 7] >= 0 ? {sid: e[t + 7]} : null);
};
if(!Hacks) return;
for(let v in c){
if(v > 0 && c[v].id == 16){
let g = Ii(c[v].sid);
let hfh;
if(AutoPlace && !InInsta && g && g.y2 && (hfh = g.moveDir - Math.PI) && Math.hypot(g.y2 - c[v].y, g.x2 - c[v].x) <= 400 && s.getAngleDist(s.getDirection(R.x2, R.y2, g.x2, g.y2), hfh) <= Math.PI / 3 && Math.hypot(g.y2 - R.y2, g.x2 - R.x2) <= 300){
place(R.items[2], hfh)
place(R.items[2], hfh + Math.PI / 2);
place(R.items[2], hfh - Math.PI / 2);
};
};
};
};
function hi(e, t) {
(_ = Mi(t)) &&
((_.hitTime = Date.now()), (_.xWiggle += o.gatherWiggle * Math.cos(e)),
(_.yWiggle += o.gatherWiggle * Math.sin(e)));
}
function rq(x, y, dir, obj, owner, scale, range, skipMov = true){
if(!obj || !obj.scale) return false;
!owner && (owner = {sid: -1, x: -1, y: -1, team: null});
scale = obj.scale;
range = obj.range;
for(let u = 0; u < range; u += 35){
let o, f, h, e = Y, t = W, c = [];
if (skipMov) {
skipMov = !1;
} else {
x += u * Math.cos(dir);
y += u * Math.sin(dir);
range -= u;
if(range <= 0){
x += range * Math.cos(dir)
y += range * Math.sin(dir)
u = 1
range = 0
return false;
};
for (c.length = 0,
f = 0; f < e.length + t.length; ++f)
!(o = e[f] || t[f - e.length]).alive || o == owner || owner.team && o.team == owner.team || s.lineInRect(o.x2 - o.scale, o.y2 - o.scale, o.x2 + o.scale, o.y2 + o.scale, x, y, x + u * Math.cos(dir), y + u * Math.sin(dir)) && c.push(o);
for (var d = nt.getGridArrays(x, y, scale), p = 0; p < d.length; ++p)
for (var g = 0; g < d[p].length; ++g)
h = (o = d[p][g]).getScale(),
o.active && c.indexOf(o) < 0 && !o.ignoreCollision && s.lineInRect(o.x - h, o.y - h, o.x + h, o.y + h, x, y, x + u * Math.cos(dir), y + u * Math.sin(dir)) && c.push(o);
if (c.length > 0) {
var m = null,
yz = null,
k = null;
for (f = 0; f < c.length; ++f)
k = s.getDistance(x, y, c[f].x, c[f].y),
(null == yz || k < yz) && (yz = k,
m = c[f]);
return m;
if (m.isPlayer || m.isAI) {
var v = .3 * (m.weightM || 1);
null != m.weaponIndex && i.weapons[m.weaponIndex].shield && s.getAngleDist(dir + Math.PI, m.dir) <= r.shieldAngle || null;
}
}
}
};
};
function ui(e, t, p) {
if(!p) return Fixed.push({indicator: ui, data: [e, t, l]});
(_ = Mi(e)) &&
((_.dir = t),
(_.xWiggle += o.gatherWiggle * Math.cos(t + Math.PI)),
(_.yWiggle += o.gatherWiggle * Math.sin(t + Math.PI)),
(_.shootCount = 0), e = rq(_.y, _.y, t, p.projectiles[1], _), e && console.log(e.name));
}
function fi(e, t, n, i, r, s, a, o) {
lt && (J.addProjectile(e, t, Math.atan2(Math.sin(n), Math.cos(n)), i, r, s, null, null, a).sid = o);
px(e, t, n, i, r, s, a, o);
};
let inFlight = [];
class Projectile {
constructor(o, x, y, n, r, t, s){
this.x = e;
this.y = y;
this.dir = n;
this.estimate = t;
this.speed = s.speed;
this.scale = s.scale;
this.dmg = s.dmg;
this.owner = o;
this.original = s;
this.at = Date.now();
this.active = true;
this.oldUpdate = Date.now();
};
update(){
if(!this.active) return;
if(Date.now() - this.at >= 2e3) return;
this.x = this.x + (Date.now() - this.oldUpdate) * Math.cos(this.dir);
this.y = this.y + (Date.now() - this.oldUpdate) * Math.sin(this.dir);
this.estimate = Math.ceil((Math.hypot(R.x2 - this.x, R.y2 - this.y) - this.scale) / (this.speed * (1e3 / 9)));
let Future = rq(this.y, this.y, this.dir, this.original, this.owner);
(this.estimate <= 0 || !Future || Future.sid != R.sid || !Future.isPlayer) && (this.active = false);
this.oldUpdate = Date.now();
};
};
let SafeDefense = 0;
function ProjectileSafety(e, t, n, i){
e = 0;
t = e;
SafeDefense = e + t;
if(inFlight.length < 1) return;
for(let a of inFlight) a.active && (a.estimate <= 2 ? (e += a.dmg) : (t += a.dmg)); /* Sorting damage into preventable and not */
SafeDefense = e + t;
if(e >= 100 * (R.skinIndex == 6 ? 1.25 : 1)) {
Ji();
return console.log(`Death by projectiles?`);
};
if((t * .75 + e) >= 100) {
//Bu(6, 17);
setTimeout(() => {
Ji();
setTimeout(() => {
Ji();
}, 120);
}, 120);
return console.log(`Preventing death by projectiles.`);
};
};
function px(e, t, n, i, rs, s, a, o, p, m) {
if(!p) return Fixed.push({indicator: px, data: [e, t, n, i, rs, s, a, o, l]});
m = Number(i == 700 && rs == 1.5);
for(let Musketeer of W){
if(Musketeer.visible && ((!m && p.weapons[Musketeer.weaponIndex].projectile !== undefined && Musketeer.d2 - n == 0 && [69, 70, 71, 72].includes(Math.round(Math.hypot(Musketeer.y2 - t, Musketeer.x2 - e))) || (m && Musketeer.reloads[2] == 23 && Musketeer.skinIndex == 53 && Number(Math.round(Math.hypot(Musketeer.y2 - t, Musketeer.x2 - e))) <= 5)))) {
if(m){ /* Projectile is by turret gear */
Musketeer.reloads[2] = 0;
Hacks && Musketeer.reloads[0].rarity > 1 && [4, 5].includes(Musketeer.reloads[0].id) && Math.hypot(R.x2 - Musketeer.x2, R.y2 - Musketeer.y2) > 130 && Math.hypot(R.x2 - Musketeer.x2, R.y2 - Musketeer.y2) < 300 && zwh();
} else {
Musketeer.reloads[1].count = 1
Musketeer.reloads[1].done = false;
if(Musketeer.sid == R.sid || (R.team && Member(Musketeer.sid))) return;
let Target = rq(e, t, n, p.projectiles[Number(p.weapons[Musketeer.weaponIndex].projectile)], Musketeer);
let Ammo = p.projectiles[Number(p.weapons[Musketeer.weaponIndex].projectile)];
if(Target && Target.isPlayer && Target.sid == R.sid) inFlight.push(new Projectile(Musketeer, x, y, n, Math.hypot(R.x2 - e, R.y2 - t), Math.ceil((Math.hypot(R.x2 - e, R.y2 - t) - Ammo.scale) / (Ammo.speed * (1e3 / 9))), Ammo))
};
};
}
};
async function zwh(){
//Jt(6, 0);
await Next();
//Jt(6, 0);
await Next();
//Jt(6, 0);
await Next();
};
function di(e, t) {
for (var n = 0; n < G.length; ++n) G[n].sid == e && (G[n].range = t);
}
function pi(e) {
(_ = Ei(e)) && _.startAnim();
}
function gi(e) {
for (var t = 0; t < Y.length; ++t)
(Y[t].forcePos = !Y[t].visible), (Y[t].visible = !1);
if (e) {
var n = Date.now();
for (t = 0; t < e.length;)
(_ = Ei(e[t])) ?
((_.index = e[t + 1]),
(_.t1 = void 0 === _.t2 ? n : _.t2),
(_.t2 = n),
(_.x1 = _.x),
(_.y1 = _.y),
(_.x2 = e[t + 2]),
(_.y2 = e[t + 3]),
(_.d1 = void 0 === _.d2 ? e[t + 4] : _.d2),
(_.d2 = e[t + 4]),
(_.health = e[t + 5]),
(_.dt = 0),
(_.visible = !0)) :
(((_ = Z.spawn(e[t + 2], e[t + 3], e[t + 4], e[t + 1])).x2 = _.x),
(_.y2 = _.y),
(_.d2 = _.dir),
(_.health = e[t + 5]),
Z.aiTypes[e[t + 1]].name || (_.name = o.cowNames[e[t + 6]]),
(_.forcePos = !0),
(_.sid = e[t]),
(_.visible = !0)),
(t += 7);
}
}
var mi = {};
function yi(e, t) {
var n = e.index,
i = mi[n];
if (!i) {
var r = new Image();
(r.onload = function() {
(this.isLoaded = !0), (this.onload = null);
}),
(r.src = ".././img/animals/" + e.src + ".png"),
(i = r),
(mi[n] = i);
}
if (i.isLoaded) {
var s = 1.2 * e.scale * (e.spriteMlt || 1);
t.drawImage(i, -s, -s, 2 * s, 2 * s);
}
}
function ki(e, t, n) {
return e + n >= 0 && e - n <= oe && t + n >= 0 && t - n <= ce;
}
function vi(e, t) {
var n = (function(e) {
for (var t = 0; t < W.length; ++t)
if (W[t].id == e) return W[t];
return null;
})(e[0]);
n || ((n = new u(e[0], e[1], o, s, J, nt, W, Y, l, et, tt)), W.push(n)),
n.spawn(t ? H : null),
(n.visible = !1),
(n.x2 = void 0),
(n.y2 = void 0),
n.setData(e),
t &&
((U = (R = n).x),
(D = R.y),
$t(),
On(),
Dn(),
Un(0),
(Be.style.display = "block"));
}
function wi(e) {
for (var t = 0; t < W.length; t++)
if (W[t].id == e) {
W.splice(t, 1);
break;
}
}
function bi(e, t) {
R && (R.itemCounts[e] = t);
}
function xi(e, t, n) {
R && ((R[e] = t), n && On());
}
let BullTimer = 0;
/*
function anti(am) {
for(let i = 0; i < am; i++) place(R.items[0], null);
equip(22,19);
setTimeout(() => {
equip(6,21);
},170);
}*/
function OptimisedAnti() {
/*
if(R.health < 100 && R.health > 75) playerAnti = "normal";
if(R.health < 75 && R.health > 55) playerAnti = "barb";
if(R.health > 55) playerAnti = "emp";
if(R.health < 35) playerAnti = "autoq";
if(R.health > 1) playerAnti = "normal";*/
if(R.health < 65 && R.health > 55 && nearestEnemy.hat == 7) {
equip(26, 19);
place(foodType);
place(foodType, null);
}
if(R.health < 55) {
equip(22, 19);
place(foodType);
place(foodType);
}
if(R.health < 50) {
place(foodType);
place(foodType);
place(foodType);
place(foodType);
}
}
var HealTick = 0;
function Si(e, t) {
(_ = Ii(e)) && (t <= _.health ? (_.hitTime = Wish) : _.buildItem(),
_.health = t,
t - _.health == ((R.skinIndex == 7 ? -5 : 0) + (R.tailIndex == 13 ? 3 : 0)) && (inBullTick = false, !InInsta ? equip(6, 21) : null, BullTimer = Wish));
if(AutoHeal && Hacks) {
if(R.health < 100 && R.health > 0){
setTimeout(() => {
r.send('5', R.items[0], null);
r.send('c', 1, null);
r.send('c', 0, null);
r.send('5', R.weaponIndex, true);
},100);
}
}
}
function onBuild(e, t, n, i, r, p){
p = (Math.pow, Math.sqrt);
n = e.x - t.x;
i = e.y - t.y;
r = e.scale + (t.getScale ? t.getScale() : t.scale);
return (p(n * n + i * i) - r < 0)
};
const invisible = (e, n) => {
return e = (e % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI), e = Math.round(e / (2 * Math.PI / invis.size)),
null !== (n = invis.get(e)) && void 0 !== n ? n : null;
};
const aimAt = (e) => {
if(Hacks) {
lastAim = e;
r.send('2', e);
}else{
r.send('2', pn());
}
};
function Aim() {
if(Hacks) {
!AutoAim && !InInsta && !Spinner && aimAt(invisible(2 * Math.PI * Math.random()));
(R.weaponIndex == 11) && aimAt(Number.MAX_VALUE);
}
}
let lastAim;
function place(e, t = pn()){
if(Hacks) {
if(InvisItem) t = invisible(t);
if(qMode) return NoGap(t);
r.send('5', e, null)
r.send('c', 1, t)
r.send('c', 0, t)
r.send('5', R.weaponIndex, true);
r.send('2', lastAim);
}
};
function Placer(){
if(Date.now() - Updated >= 70 || !Hacks) return;
for(let i = 0; i < CPS; i++){
Keys[86] && place(R.items[2]);
Keys[78] && place(R.items[3]);
Keys[70] && place(R.items[4]);
Keys[72] && place(R.items[5]);
};
};
function wear(id) {
r.send('13c', 0, id, 0);
}
var slightLag = false;
function SlightLag(timer) {
setTimeout(() => {
if(slightLag) {
r.wave(20)
}
},timer);
}
function Degree(e){
return Math.PI / 180 * e;
};
function Mills(nr){ nt.checkItemLocation
const a = 10 === R.items[3] ? 1.115820407 : 1.141422642,
s = [ ...Array(3) ].map((e, t) => R.moveDir + (t - 1) * a),
l = s.map((e, t) => Hq(R.items[3], e, R, true));
if(!Hq(R.items[3], R.moveDir, R, true)) return;
if(InvisItem) InvisItem = false, nr = true;
Hq(R.items[3], s[1], R) && (l[1] = !0, l[0] = !1);
const f = l.reduce((e, t) => e + t, 0);
0 !== f && (!(f > 0) || l[1]) && (s.forEach((e, t) => {
l[t] && place(R.items[3], e);
}));
nr && (InvisItem = true)
Mill = {y: R.y2, x: R.x2, z: true, k: R.moveDir};
};
function Hq(e, t, R, n, i, r) {
if(!InInsta){
if(n) r = true;
n = l.list[e];
if(!n) return;
i = (35 + n.scale + (e.placeOffset || 0));
if(r) return n && nt.checkItemLocation(R.x2 + Math.cos(t) * i, R.y2 + Math.sin(t) * i, n.scale, .6, n.id, false)
n && nt.checkItemLocation(R.x2 + Math.cos(t) * i, R.y2 + Math.sin(t) * i, n.scale, .6, n.id, false) && place(e, t);
}
};
let defaultSpam = 0;
function Avg(e, t, n, m, r){
if(!R.items[4] || InInsta || !AutoPlace) return null;
t = N.filter(c => c.isItem && c.active && !c.dontGather && (c.owner.sid == R.sid || (R.team && Member(c.owner.sid))) && [6, 7, 8, 9, 15].includes(c.id) && Math.hypot(c.x - e.x2, c.y - e.y) <= 250);
t && (t = t.sort((a, b) => Math.hypot(a.x - e.x, a.y - e.y) - Math.hypot(b.x - e.x, b.y - e.y))[0]);
if(t && t[0]){
n = Math.atan2(e.y2 - t[0].y, e.x2 - t[0].x);
m = Math.hypot(t[0].y - e.y2, t[0].x - e.x2) + 3;
r = {x: t[0].x + Math.cos(n) * m, y: t[0].y + Math.sin(n) * m};
if(AutoPlace){
place(R.items[2], Math.atan2(r.y - R.y2, r.x - R.x2));
for(let i = 0; i < 50; i += 5) place(R.items[2], Math.atan2(r.y - R.y2, r.x - R.x2) + Degree(i)), place(R.items[2], Math.atan2(r.y - R.y2, r.x - R.x2) - Degree(i));
}
};
t = Math.atan2(e.y - R.y2, e.x - R.x2);
n = R.x2 + Math.cos(t) * 80;
m = R.y2 + Math.sin(t) * 80;
if(Math.hypot(m - e.y2, n - e.x2) <= 50 && AutoPlace){
Hq(R.items[4], t, R);
for(let i = 50; i < 120; i += 5) Hq(R.items[2], t + Degree(i), R);
};
if(wn !== undefined && Math.hypot(R.x2 - e.x2, R.y2 - e.y2) <= 150 && AutoPlace){
defaultSpam = Wish;
for(let i = 0; i < Degree(160); i += Math.PI / 4) Hq(R.items[Math.random() * 4 <= 2 ? 4 : 2], wn + i, R);
for(let i = 0; i < Degree(160); i += Math.PI / 4) Hq(R.items[Math.random() * 4 <= 2 ? 4 : 2], wn - i, R);
}
r = N.find(c => c.isItem && c.active && !c.dontGather && c.owner.sid == R.sid && c.id == 15 && Math.hypot(c.x - e.x2, c.y - e.y2) <= 70);
if(!r || Math.hypot(r.y - R.y2, r.x - R.x2) > 70) return null;
if(AutoPlace){
for(let i = 70; i < 170; i += 5){
Hq(R.items[2], Math.atan2(r.y - R.y2, r.x - R.x2) + Degree(i), R);
Hq(R.items[2], Math.atan2(r.y - R.y2, r.x - R.x2) - Degree(i), R);
};
}
};
setInterval(Placer, 0);
let Shine = false;
let Enemy;
let Point = {in: false, r: 384};
let Keys = new Array(100);
var SpamDash = false;
document.addEventListener('keydown', (e) => KeyMessage(e));
document.addEventListener('keyup', (e) => (Keys[e.keyCode] = false));
async function KeyMessage(e){
if(["allianceinput", 'chatbox', 'nameinput'].includes(document.activeElement.id.toLowerCase())) return null;
if(DisableKeys) return null;
Keys[e.keyCode] = true;
if(!Hacks) return;
switch(e.keyCode){
case 9:
r.free(100);
break;
case 74:
slightLag = !slightLag;
r.send('ch', slightLag+('-Lagger </>'));
break;
case 192:
SpamDash = !SpamDash;
if(SpamDash){
var level = prompt('Level of packets','100');
var time = prompt('Interval ms time','1000');
}
r.send('ch', SpamDash+"-waver </>");
setInterval(() => {
if(SpamDash){
r.free(level);
}
},time);
break;
};
};
document.beks = 10;
document.vex = 1e8;
document.bd = 4;
function NoGap(e){
let Init = Gap[e] ? Gap[e] : Math.PI / 4;
for(i = wn + Init; i < Math.PI * 2 + wn + Init; i += Init) place(R.items[2], i);
};
let Gap = []; 1.3500232038615632
// 0.007838565599999958 per scale+
Gap[6] = 1.3424536955948967; // small spike | 49
Gap[7] = 1.3738079579948965; // greater spike | 52
Gap[8] = 1.3738079579948965; // poison spike | 52
Gap[9] = 1.3738079579948965; // spinning spike | 52
Gap[10] = 1.115820407; // windmill | 45
Gap[11] = 1.141422642; // faster windmill | 47
Gap[12] = 1.141422642;// power windmill | 47
Gap[15] = 1.3581308267948966; // trap | 50
Gap[16] = 1.3581308267948966; // trap | 50
let Ran = function(){};
let Next = function(){
return new Promise((e) => (Ran = e))
}
let InInsta = false;
function delay(a) {
return new Promise(resolve => setTimeout(resolve, a));
}
document.ke = 70;
document.le = 14;
document.gaka = 3;
var nobull = 0;
var laginsta = false;
document.hah = false;
async function Walking(e, t, n, i, y){
t = Math.atan2(R.y2 - Enemy.y2, R.x2 - Enemy.x2);
n = {x: e.x2 + Math.cos(t) * Point.r, y: e.y2 + Math.sin(t) * Point.r};
i = Math.hypot(n.y - R.y2, n.x - R.x2);
y = Math.atan2(n.y - R.y2, n.x - R.x2);
if(i <= document.qkw){
r.send("33", null);
document.hah && Jt(0, 0);
Sn(R.weapons[0], true);
await Next();
if([Point.r - 1, Point.r].includes(Math.round(Math.hypot(Enemy.y - R.y2, Enemy.x - R.x2)))) {
Point.in = false;
return;
};
};
r.send('33', y);
Walked = Date.now();
Jt(0, 1);
if(Date.now() - StartedWalking >= 2e3) {
StartedWalking = Date.now();
e = false;
};
Sn(e && i <= 35 ? R.weapons[1] : R.weapons[0], true);
Jt(!e ? 12 : i <= 35 ? 40 : 0, 0);
Jt(!e ? 11 : i <= 35 ? 0 : 0, 1);
await Next();
Enemy && Point.in && Walking(Enemy);
};
document.qkw = 1;
let Spam = [0, 0];
setInterval(() => {
Spam[0] && Sn(R.weapons[0], true);
Spam[1] && Sn(R.weapons[1], true);
}, 25);
async function bowInsta(){
if(InInsta) return;
InInsta = true;
AutoAim = true;
setTimeout(() => {
equip(53, 19);
r.send("6", 9);
setTimeout(() => {
r.send('7', 1);
Sn(R.weapons[1], true);
setTimeout(() => {
r.send("6", 38);
r.send("6", 12);
setTimeout(() => {
r.send("6", 15);
setTimeout(() => {
equip(0, 0);
equip(6, 21);
Sn(R.weapons[0], true);
r.send('7', 1);
AutoAim = false;
InInsta = false;
}, 1e3 / 9);
}, 1e3 / 9);
}, 1e3 / 9);
}, 1e3 / 9);
}, 1e3 / 9);
};
async function Insta(e, t){
if(InInsta) return null;
if(R.items[4] != 16 || R.weapons[0] != 5 || ![9, 12, 13].includes(R.weapons[1])){
InInsta = true;
await Next();
AutoAim = true;
InInsta = true;
r.send('c', 1, null);
equip(0, 1);
equip(7, 18);
Spam[0] = true;
Sn(R.weapons[0], true);
await delay(document.ke);
r.free(document.le);
equip(53, 19);
Spam[0] = false;
Spam[1] = true;
Sn(R.weapons[1], true);
for(let i = 0; i < document.gaka; i++) await Next();
Spam[1] = false;
r.send('c', 0, null);
Sn(R.weapons[0], true);
Os();
InInsta = false;
AutoAim = false;
chat: "Sub to D_Alpha!"
return;
};
if(!Enemy) return;
InInsta = true;
setTimeout(() => {
Bu(53, 21);
setTimeout(() => {
e = Math.atan2(Enemy.y2 - R.y2, Enemy.x2 - R.x2);
place(R.items[4], e);
Spam[1] = true;
Bu(12, 11);
R.weapons[1] && Sn(R.weapons[1], true);
r.send('c', true);
r.send('33', e);
Aiming = true;
setTimeout(() => {
e = Math.atan2(Enemy.y2 - R.y2, Enemy.x2 - R.x2);
Bu(7, 19);
Spam[1] = false;
Sn(R.weapons[0], true);
Spam[0] = true;
r.send('33', e);
setTimeout(() => {
Aiming = false;
Spam[0] = false;
r.send('c', false);
r.send('33', null);
Os();
InInsta = false;
}, 1e3 / 9);
}, 1e3 / 9);
}, 1e3 / 9);
}, 1e3 / 9);
};
async function InvisBoost(e){
if(R.skins[40] && R.items[4] != 16 && ((R.weapons[0] == 5 && R.reloads[0].rarity > 1) || R.weapons[1] == 10)) return;
r.send('33', e);
place(R.items[4], e);
Jt(40, 0);
r.send("7", 1);
r.send("c", 1, Number.MAX_VALUE);
aimAt(Number.MAX_VALUE);
await Next();
r.send("7", 1);
r.send("c", 0);
Os();
};
const BackPotential = async function(e, t, i, r, k, d, n = Enemy){
/*
1. When a player is not near it should place 3 mills.
2. If a player is near but infront of you it should do spikes.
3. If a player is behind it should do traps.
4. If there's a player in your screen, but he isn't near do traps.
*/
if(AutoPlace) {
t = (!n ? R.items[3] : n && Math.hypot(n.y2 - R.y2, n.x2 - R.x2) >= 350 ? R.items[4] : R.items[2]);
if(t === R.items[2]){
i = Math.atan2(e.y - R.y2, e.x - R.x2);
r = Math.atan2(n.y - R.y2, n.x - R.x2);
k = Math.abs(i - r);
t = k <= Math.PI ? R.items[2] : t;
for(i = 0; i <= Math.PI * 2; i += Math.PI / 32) Hq(t, i, R);
};
}
};
let Walked = Date.now();
let StartedWalking = Date.now();
let Trapped = false;
let Updated = Date.now();
let lastSync = Date.now();
const Sync = async function(a){
return;
if(Date.now() - lastSync < 250) return;
lastSync = Date.now();
if(!a){
r.send('2', 198.849251);
setTimeout(() => r.send('2', 198.849251), 25);
setTimeout(() => r.send('2', 198.849251), 60);
await Next();
console.log(R.d2)
};
AutoAim = true;
Bu(7, 18);
Sn(R.weapons[0], true);
r.send('c', true);
r.send('c', false);
await Next();
Bu(6, 21);
Sn(R.weapons[0], true);
AutoAim = false;
};
function storeBuy(newHat, newAcc) {
r.send("13c", 1, newHat, 0);
r.send("13c", 1, newAcc, 1);
}
function storeEquip(newHat, newAcc) {
r.send("13c", 0, newHat, 0);
r.send("13c", 0, 0, 1);
r.send("13c", 0, newAcc, 1);
}
function equip(newHat, newAcc) {
if(Hacks) {
if (window.location.host == "sandbox.moomoo.io") {
storeBuy(newHat, newAcc);
}
storeEquip(newHat, newAcc);
}
}
var soldierKey = 90;//z
var bullKey = 66;//b
var tankKey = 67;//c
var biomeKey = 77;//m
var unequipKey = 16;//shift
var hasBot = true;
var advantageMod = false;
document.addEventListener("keydown", function(e){
if(["allianceinput", 'chatbox', 'nameinput'].includes(document.activeElement.id.toLowerCase())) return null;
if(DisableKeys) return null;
if(document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none" && !Hacks && advantageMod){
if(e.key == "="){
Sn(primary, true);
window.storeEquip(7);
setTimeout(() => {
r.send('c', 1);
setTimeout(() => {
Sn(secondary, true);
window.storeEquip(53);
},60);
},260);
setTimeout(() => {
setTimeout(() => {
r.send('c', 0);
},40);
setTimeout(() => {
window.storeEquip(0)
},350);
},350);
}
var DoingTank = false
, DoingSoldier = false;
if(e.key == "c" && !DoingSoldier){
DoingTank = true;
setTimeout(() => {
window.storeEquip(40);
},150);
setTimeout(() => {
DoingTank = false;
},250);
}
if(e.key == "z" && !DoingTank){
DoingSoldier = true;
setTimeout(() => {
window.storeEquip(6);
},150);
setTimeout(() => {
DoingSoldier = false;
},250);
}
if(e.key == "r"){
//for(let i = 0; i < cps; i++){
r.send("c", 1);
r.send("c", 0);
setTimeout(() => {
},100);
//}
}
if(e.key == "f"){
//for(let i = 0; i < cps; i++){
r.send("c", 1);
r.send("c", 0);
setTimeout(() => {
},100);
//}
}
if(e.key == "n"){
//for(let i = 0; i < cps; i++){
r.send("c", 1);
r.send("c", 0);
setTimeout(() => {
},100);
//}
}
if(e.key == "h"){
// for(let i = 0; i < cps; i++){
r.send("c", 1);
r.send("c", 0);
setTimeout(() => {
},100);
// }
}
if(e.key == " "){
r.send("c", 1);
}
if(e.keyCode == 86){
r.send("5", R.items[2]);
r.send("c", 1);
r.send("c", 0);
setTimeout(() => {
},100);
}
if(e.keyCode == 81){
if(R.health < 55){
r.send("5", R.items[0]);
r.send("c", 1);
r.send("c", 0);
}
}
if(e.keyCode == 82){
r.send("5", R.items[2])
}
if(e.keyCode == 70){
r.send("5", R.items[4])
r.send("c", 1);
r.send("c", 0);
setTimeout(() => {
},100);
}
if(e.key == "n"){
r.send("5", millType)
}
if(e.key == "h"){
r.send("5", turretType)
}
if(e.key == "1"){
for(let i = 0; i < 10; i++) {
Sn(primary, true);
}
}
if(e.key == "2"){
for(let i = 0; i < 10; i++) {
Sn(secondary, true);
}
}
}
if(e.keyCode == 220 && document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none"){
Hacks = !Hacks;
if(!Hacks){
Jt(0, 1)
oe = 1920;
ce = 1080;
un();
};
r.send('ch', Hacks+"-hacks");
}
if(e.key == "l" && document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none"){
autopush = !autopush;
Hacks ? r.send('ch', autopush+"-autopush") : alert(autopush+"-autopush");
}
if(e.key == "]" && !Hacks && document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none"){
advantageMod = !advantageMod;
alert(advantageMod+"-advantage");
}
if(e.key == "u" && document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none"){
Removing = true;
hasBot = false;
r.send('ch', "Warning[D_Alphas-Removed] </>");
}
if(e.key == "i" && document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none"){
var botCount = prompt('BotCount[1-40]');
Bots(botCount, "D_Alphabot_A");
hasBot = true;
r.send('ch', `Warning[Connecting D_Alpha-[${botCount}]D_Alpha] </>`);
}
if(document.activeElement.id.toLowerCase() !== 'chatbox' && document.getElementById("mainMenu").style.display == "none" && Hacks){
if(e.key == "y") { // lag insta
AutoAim = true;
InInsta = true;
if(R.health < 25) return place(R.items[0]);
doNewSend(["5", [primary, true]]);
equip(nearestEnemy.hat == 11 ? 6 : 7, 21);
r.wave(23)
doNewSend(["c", [1]]);
setTimeout( () => {
r.wave(15)
if(R.health < 25) return place(R.items[0]);
equip(nearestEnemy.hat == 22 ? 11 : 53, 21);
r.wave(10)
doNewSend(["5", [secondary, true]]);
}, instaSpeed - 110);
setTimeout( () => {
doNewSend(["c", [0]]);
doNewSend(["5", [primary, true]]);
if(isEnemyNear) {
equip(6, 21);
}else{
equip(6, 11);
}
InInsta = false;
AutoAim = false;
}, instaSpeed);
}
if(e.key == "r") {
AutoAim = true;
InInsta = true;
doNewSend(["5", [primary, true]]);
equip(nearestEnemy.hat == 11 ? 6 : 7, 21);
doNewSend(["c", [1]]);
setTimeout( () => {
if(R.health < 25) return place(R.items[0]);
equip(nearestEnemy.hat == 22 ? 11 : 53, 21);
doNewSend(["5", [secondary, true]]);
}, instaSpeed - 110);
setTimeout( () => {
doNewSend(["c", [0]]);
doNewSend(["5", [primary, true]]);
if(isEnemyNear) {
equip(6, 21);
}else{
equip(6, 11);
}
InInsta = false;
AutoAim = false;
}, instaSpeed);
}
if(e.key == "t") {
AutoAim = true;
InInsta = true;
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [0, 0, 18]]);
place(boostType, nearestEnemyAngle);
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["5", [secondary, true]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["7", [2]]);
setTimeout(() => {
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
}, 110);
setTimeout(() => {
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["7", [1]]);
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [1, 11, 1]]);
InInsta = false;
AutoAim = false;
}, 225);
}
if(e.key == ".") {
AutoAim = true;
InInsta = true;
doNewSend(["5", [secondary, true]]);
equip(53, 21);
doNewSend(["c", [1]]);
setTimeout( () => {
equip(26, 21);
doNewSend(["6", [12]]);
}, 100);
setTimeout( () => {
doNewSend(["6", [15]]);
}, 200);
setTimeout( () => {
doNewSend(["c", [0]]);
if(isEnemyNear) {
equip(6, 21);
}else{
equip(6, 11);
}
doNewSend(["5", [primary, true]]);
InInsta = false;
AutoAim = false;
}, 300);
}
if(e.key == " ") {
AutoAim = true;
InInsta = true;
doNewSend(["5", [primary, true]]);
equip(nearestEnemy.hat == 11 ? 6 : 7, 21);
place(spikeType, boostDir + toRad(45));
place(spikeType, boostDir - toRad(45));
doNewSend(["c", [1]]);
setTimeout( () => {
equip(53, 21);
}, 100);
setTimeout( () => {
doNewSend(["c", [0]]);
if(isEnemyNear) {
equip(6, 21);
}else{
equip(6, 11);
}
InInsta = false;
AutoAim = false;
}, 200);
}
if(e.key == "["){
AutoBreak = !AutoBreak;
r.send('ch', AutoBreak+"-autobreak </>");
}
if(e.key == "]"){
AutoPlace = !AutoPlace;
r.send('ch', AutoPlace+"-autoplace </>");
}
if(e.key == ","){
automill = !automill;
r.send('ch', automill+"-automill </>");
}
if(e.key == "з"){
gameUi = !gameUi;
for(let i in ElementsUI) document.getElementById(ElementsUI[i]).style.display = gameUi && ElementsUI[i] != 'allianceMenu' ? 'block' : 'none';
r.send('ch', gameUi+"-ui </>");
}
if(e.key == "p"){
InvisItem = !InvisItem;
InvisProj = !InvisProj;
r.send('ch', InvisItem+"-invis </>");
}
if(e.key == "х"){
r.free(1e3, document.boko)
}
if(e.key == "/"){
HatLoop = !HatLoop;
r.send('ch', HatLoop+"-loophat </>");
}
if(e.keyCode == bullKey && document.activeElement.id.toLowerCase() !== 'chatbox'){
equip(7,18)
}else if(e.keyCode == soldierKey && document.activeElement.id.toLowerCase() !== 'chatbox'){
equip(6,21)
}else if(e.keyCode == tankKey && document.activeElement.id.toLowerCase() !== 'chatbox'){
equip(40,19)
}else if(e.keyCode == unequipKey && document.activeElement.id.toLowerCase() !== 'chatbox'){
equip(0,0)
}else if(e.keyCode == biomeKey && document.activeElement.id.toLowerCase() !== 'chatbox'){
if (R.y < 2400) {
equip(15,11)
}else if (R.y > 6850 && R.y < 7550) {
equip(31,11)
} else if (R.y > 2400 && (R.y < 6850 || R.y > 7550)) {
equip(12,11)
}
}
}
});
function isElementVisible(e) {
return (e.offsetParent !== null);
}
function toRad(angle) {
return angle * 0.01745329251;
}
var OldX;
var OldY;
var automillx = 15;
var Tick = 0
var automilly = 15;
var automill = false;
function Am() {
if(automillx == false){
automillx = R.x;
}
if(automilly == false){
automilly = R.y;
}
if(OldY != R.y || OldX != R.x){
if (automill==true) {
if(Math.sqrt(Math.pow((R.y-automilly), 2) + Math.pow((R.x-automillx), 2)) > 100) {
place(R.items[3], Math.atan2(OldY - R.y, OldX - R.x) + toRad(71));
place(R.items[3], Math.atan2(OldY - R.y, OldX - R.x) - toRad(71));
place(R.items[3], Math.atan2(OldY - R.y, OldX - R.x) - toRad(0));
automillx = R.x;
automilly = R.y;
}
}
OldX = R.x;
OldY = R.y;
}
}
var autopush = false;
let Push = false;
function whenBuild(e, t, n, i, r, p, k = 0){
p = (Math.pow, Math.sqrt);
n = e.x - t.x;
i = e.y - t.y;
r = e.scale + (t.getScale ? t.getScale() : t.scale) - k;
return (p(n * n + i * i) - r < 0)
};
const isMember = function(e){
for(let i = 0; i < Pt.length; i += 2){
if(e == Pt[i]) return true;
};
return false;
}
async function Pusher(e, t, n, i, k, v, l, j, m){
if(autopush && R !== _){
e = function(){
Push && (Push = false, r.send('33', null));
};
t = N.find(c => c.isItem && c.active && !c.dontGather && c.owner.sid == R.sid && c.id == 15 && Math.hypot(c.x - _.x2, c.y - _.y2) <= 50);
if(!t) return e();
if(t && Math.hypot(t.x - R.x2, t.y - R.y2) <= 300){
n = N.filter(c => c.isItem && c.active && !c.dontGather && c.owner && (c.owner.sid == R.sid || (R.team && isMember(c.owner.sid))) && [6, 7, 8, 9].includes(c.id));
if(!n || !n.length) return e();
n = n.sort((a, b) => Math.hypot(a.x - _.x2, a.y - _.y2) - Math.hypot(b.x - _.x2, b.y - _.y2))[0];
if(!n) return e();
if(Math.hypot(t.x - n.x, t.y - n.y) <= 50 + n.scale + 35){
i = Math.atan2(_.y - n.y, _.x - n.x);
function uc(h){
k = Math.hypot(n.x - _.x, n.y - _.y) + h;
v = {
x: n.x + (k * Math.cos(i)),
y: n.y + (k * Math.sin(i))
};
m = N.find(c => c.isItem && !c.ignoreCollision && whenBuild({x: v.x, y: v.y, scale: 35}, c));
};
uc(70);
uc(!m ? 70 : 60);
uc(!m ? 60 : 50);
if(whenBuild(_, n)) return e();
Push = true;
r.send('33', Math.hypot(v.x - R.x2, v.y - R.y2) > 20 ? Math.atan2(v.y - R.y2, v.x - R.x2) : Math.atan2(n.y - R.y2, n.x - R.x2));
};
};
}
};
/*
function EnemyTracer() {
if(!Enemy) return Mt = {};
if(Enemy){
Mt
Mt.x = Enemy.x
Mt.y = Enemy.y
}
}
function AnimalTracer() {
if(!_.isPlayer){
Ar
Ar.x = _.x
Ar.y = _.y
}
}*/
function Ti(e) {
r.send("chat", 'hey');
if(Hacks) {
Am();
Aim();
SlightLag();
}
if(AutoHeal && Hacks) {
OptimisedAnti();
}
if(R.health < 100){
HealTick++
}
if(R.weaponIndex[1] == 9 || R.weaponIndex[1] == 12 || R.weaponIndex[1] == 13 || R.weaponIndex[1] == 15){
Spinner = false;
}else{
if(Hacks){
Spinner = true;
}else{
Spinner = false;
}
}
Enemy = null;
for (var t = Date.now(), n = 0; n < W.length; ++n)
(W[n].forcePos = !W[n].visible), (W[n].visible = !1);
for (n = 0; n < e.length;)
(_ = Ii(e[n])) &&
((_.t1 = void 0 === _.t2 ? t : _.t2),
(_.t2 = t),
(_.x1 = _.x),
(_.y1 = _.y),
(_.x2 = e[n + 1]),
(_.y2 = e[n + 2]),
(_.d1 = void 0 === _.d2 ? e[n + 3] : _.d2),
(_.d2 = e[n + 3]),
(_.dt = 0),
(_.moveDir = Math.atan2(_.y1 - _.y2, _.x1 - _.x2)),
(_.speed = Math.hypot(_.y1 - _.y2, _.x1 - _.x2)),
(_.buildIndex = e[n + 4]),
(_.weaponIndex = e[n + 5]),
(_.weaponVariant = e[n + 6]),
(_.team = e[n + 7]),
(_.isLeader = e[n + 8]),
(_.skinIndex = e[n + 9]),
(_.tailIndex = e[n + 10]),
(_.iconIndex = e[n + 11]),
(_.zIndex = e[n + 12]),
(_.forcePos && _.spawn()),
(_.visible = !0),
!_.xWare && (!Enemy || Math.hypot(Enemy.y2 - R.y2, Enemy.x2 - R.x2) > Math.hypot(_.y2 - R.y2, _.x2 - R.x2)) && R.sid != _.sid && (!R.team || e[n + 7] != R.team) && (Enemy = _),
(_.skinIndex == 45 && _.shameCount > 0 && (_.shameCount = 0)),
_.onTick()),
(n += 13);
Wish++;
Updated = Date.now();
for(let i in inFlight) !inFlight[i].active ? (inFlight.splice(i, 1)) : inFlight[i].update();
for(let i of Fixed) i.indicator(...i.data);
Fixed = [];
if(!Hacks) return;
DamagePotential();
ProjectileSafety();
Enemy && Avg(Enemy);
Mill.z && Mills();
Enemy
let Shined = Shine;
le && (Hvk[0] || Hvk[1]) && Hgs();
Date.now() - Walked < 500 && Enemy && R.weapons[0] == 5 && R.weapons[1] == 13 && [383, 384].includes(Math.round(Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2))) && Math.round(R.speed) <= 2 && Insta();
Date.now() - Walked < 500 && Enemy && R.weapons[1] == 9 && [694, 695, 696, 697, 698, 699].includes(Math.round(Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2))) && Math.round(Enemy.speed) <= 5 && Math.round(R.speed) <= 0 && bowInsta();
Enemy && spikeSync(Enemy);
R.shameCount > 0 && R.skinIndex != 45 && (Wish - BullTimer) % 9 >= 0 && R.skinIndex != 7 && (inBullTick = true, equip(7, 0));
if(AutoHeal && Hacks && le && R.skinIndex != 45 && R.hitTime && R.health < R.maxHealth) {
Wish - R.hitTime >= (R.health - canDmg <= 0 && R.shameCount <= 5 ? 0 : 2) && /*Ji() R.health <= 70 */ Jh(Enemy);
};
Shined && (Shine = false);
Os();
Trapped = false;
let Trap = N.find(c => c.active && Math.hypot(c.y - R.y2, c.x - R.x2) <= c.scale && c.id == 15 && c.owner.sid != R.sid && (!R.team || !Member(c.owner.sid)));
let Scary = Enemy && Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2) <= 262;
if(Trap && AutoBreak){
let Offense = Number(R.weapons[1] == 10);
if(OldTrap != Trap.sid) BackPotential(Trap);
OldTrap = Trap.sid;
Offense && Trap.health - (l.weapons[R.weapons[0]].dmg * o.weaponVariants[R.reloads[0].rarity].val * 3.3) <= 0 && (Offense = 0);
Trapped = true;
if(R.reloads[Number(Offense)].done){
r.send('c', 1);
r.send('c', 0);
aimAt(Number.MAX_VALUE);
equip(0, 0);
equip(40, Scary ? 21 : 11);
} else {
equip(0, 0);
equip(Scary ? 26 : 6, Scary ? 21 : 11);
};
r.send('5', R.weapons[Offense], true);
BreakWeapon = (R.weapons[1] === 11 && Keys[50] ? 11 : R.weapons[Offense]);
R.weapons[1] === 11 && Keys[50] && (Bu(0, 0), BreakWeapon = 11, Bu(Scary ? 26 : 6, Scary ? 21 : 11), aimAt(Number.MAX_VALUE), Sn(R.weapons[1], true));
} else { /* Not in trap */
le && (Hvk[0] || Hvk[1]) && Hgs();
Date.now() - Walked < 500 && Enemy && R.weapons[0] == 5 && R.weapons[1] == 13 && [383, 384].includes(Math.round(Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2))) && Math.round(R.speed) <= 2 && Insta();
Date.now() - Walked < 500 && Enemy && R.weapons[1] == 9 && [694, 695, 696, 697, 698, 699].includes(Math.round(Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2))) && Math.round(Enemy.speed) <= 5 && Math.round(R.speed) <= 0 && bowInsta();
Enemy && spikeSync(Enemy);
R.shameCount > 0 && R.skinIndex != 45 && (Wish - BullTimer) % 9 >= 0 && R.skinIndex != 7 && (inBullTick = true, equip(7, 0));
};
le && (Hvk[0] || Hvk[1]) && Hgs();
Date.now() - Walked < 500 && Enemy && R.weapons[0] == 5 && R.weapons[1] == 13 && [383, 384].includes(Math.round(Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2))) && Math.round(R.speed) <= 2 && Insta();
Date.now() - Walked < 500 && Enemy && R.weapons[1] == 9 && [694, 695, 696, 697, 698, 699].includes(Math.round(Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2))) && Math.round(Enemy.speed) <= 5 && Math.round(R.speed) <= 0 && bowInsta();
Enemy && spikeSync(Enemy);
R.shameCount > 0 && R.skinIndex != 45 && (Wish - BullTimer) % 9 >= 0 && R.skinIndex != 7 && (inBullTick = true, equip(7, 0));
Ran();
Enemy && Agy(Enemy);
Ables = [];
setTimeout(() => PrototypePlace(), 90)
};
function PrototypePlace(e, t){
if(AutoPlace || [9, 12, 13, 15].includes(R.weaponIndex) || !Enemy || Math.hypot(R.x2 - Enemy.x2, R.y2 - Enemy.y2) >= 300) return;
t = N.filter(c => c.active && c.hitTime && Date.now() - c.hitTime <= 1e3 && c.health <= c.maxHealth / 2 && [6, 7, 8, 9, 15].includes(c.id) && Math.hypot(R.x2 - c.x, R.y2 - c.y) <= c.scale + 147);
e = Keys[86] || R.items[4] != 15 ? R.items[2] : R.items[4];
if(t) for(let j of t){
for(let i = 0; i < Math.PI / 4; i += Math.PI / 8) place(e, i + Math.atan2(j.y - R.y2, j.x - R.x2)), place(e, i - Math.atan2(j.y - R.y2, j.x - R.x2));
};
};
let inBullTick = false;
document.bek = 6;
document.awq = 360 * 2
const Gaps = [1.2718244790949085, 1.2718244790949085, 1.2718244790949085, 1.2718244790949085, 1.2718244790949085];
function GapCheck(){
for(let i = 0; i < Math.PI; i += Math.PI / document.awq){
if(Hqh(R.items[document.asn], i)){
console.log(i);
return;
};
};
};
function Hqh(e, t, n, i) {
n = l.list[e];
i = (35 + n.scale + (e.placeOffset || 0));
if(n && nt.checkItemLocation(R.x2 + Math.cos(t) * i, R.y2 + Math.sin(t) * i, n.scale, .6, n.id, false)){
Ables.push({x: R.x2 + Math.cos(t) * i, y: R.y2 + Math.sin(t) * i})
return true;
};
return false;
};
let Ables = [];
let OldTrap = 0;
let BreakWeapon = 0;
document.ek = 25;
function spikeSync(e, j, t, n, i, k){
k = e.speed - document.ek;
n = (l.weapons[R.weapons[0]].dmg * o.weaponVariants[R.reloads[0].rarity].val * 1.5 * (e.skinIndex == 6 ? .75 : 1))
t = {x: (e.x2 + Math.cos(e.moveDir) * k), y: (e.y2 + Math.sin(R.moveDir) * k)}
j = N.find(c => c.active && onBuild({x: t.x, y: t.y, scale: 35}, c) && [6, 7, 8, 9].includes(c.id) && (R.sid == c.owner.sid || (R.team && !Member(c.owner.sid))));
i = Boolean(j && 100 - j.dmg * (e.skinIndex == 6 ? .75 : 1) - n <= 0 && Math.hypot(R.y2 - t.y, R.x2 - t.x) <= 200);
i && (AutoAim = true,
Sn(R.weapons[0], true),
Bu(7, 18),
r.send('c', true),
r.send('c', false),
setTimeout(() => {
AutoAim = false;
}, 120));
};
function Agy(e, t, n, i, k, j, h){
j = Math.hypot(R.y2 - e.y2, R.x2 - e.x2);
n = (j <= 395 && j >= 340);
t = ([9, 12, 13].includes(e.reloads[1].id) && e.reloads[0].id == 5 && [2, 3].includes(e.reloads[0].rarity) && e.reloads[2] > 21 && n);
if(n && [9, 12, 13].includes(e.weaponIndex) && e.reloads[0].id == 5 && [2, 3].includes(e.reloads[0].rarity)){
//Jt(6, 0);
} else if(t){
};
};
let EmpOn = Date.now();
function Rhs(e, t){
if(AutoPlace) {
if([9, 12, 13, 15].includes(R.weaponIndex) || !Enemy || Math.hypot(R.x2 - Enemy.x2, R.y2 - Enemy.y2) >= 450) return;
t = N.filter(c => c.active && c.hitTime && Date.now() - c.hitTime <= 2e3 && c.health <= c.maxHealth / 2 + 10 && [6, 7, 8, 9, 15].includes(c.id) && Math.hypot(R.x2 - c.x, R.y2 - c.y) <= c.scale + 147);
e = Keys[86] || R.items[4] != 15 ? R.items[2] : R.items[4];
if(t) for(let j of t) place(e, Math.atan2(j.y - R.y2, j.x - R.x2));
}
};
let Hvk = [0, 0];
setInterval(() => {
if(AutoAim){
aimAt(nearestEnemyAngle);
} else if(Trapped && AutoBreak) {
r.send('5', BreakWeapon, true);
r.send('c', true);
r.send('c', false);
};
});
async function Hgs(e, t, i, h, k){
if(!Hacks || R.weaponIndex == 11) return;
h = pn();
Enemy && (i = Enemy);
e = (i && Math.atan2(i.y2 - R.y2, i.x2 - R.x2) - Math.PI / 2 < h && h < Math.atan(i.y2 - R.y2, i.x2 - R.x2) + Math.PI / 2 && Math.hypot(i.y2 - R.y2, i.x2 - R.x2) - 70 <= l.weapons[R.weapons[0]].range);
t = N.find(c => c.isItem && c.active && Math.atan2(c.y - R.y2, c.x - R.x2) - Math.PI / 2 < h && h < Math.atan(c.y - R.y2, c.x - R.x2) + Math.PI / 2 && Math.hypot(c.y - R.y2, c.x - R.x2) - 35 - c.scale <= l.weapons[R.weapons[0]].range);
k = N.find(c => !c.isItem && Math.atan2(c.y - R.y2, c.x - R.x2) - Math.PI / 2 < h && h < Math.atan(c.y - R.y2, c.x - R.x2) + Math.PI / 2 && Math.hypot(c.y - R.y2, c.x - R.x2) - 35 - c.scale <= l.weapons[R.weapons[0]].range);
!e && !t && (e = Y.find(c => c.visible && Math.atan2(c.y2 - R.y2, c.x2 - R.x2) - Math.PI / 2 < h && h < Math.atan(c.y2 - R.y2, c.x2 - R.x2) + Math.PI / 2 && Math.hypot(c.y2 - R.y2, c.x2 - R.x2) - 35 - c.scale <= l.weapons[R.weapons[0]].range));
if(R && R.reloads[Number(R.weaponIndex > 8)].done){
if([9, 12, 13, 15].includes(R.weaponIndex)){
let aimFixer = (Enemy && Math.abs(Math.atan2(Enemy.y2 - R.y2, Enemy.x2 - R.x2) - h) <= Math.PI / 2.2);
if(aimFixer) h = Math.atan2(Enemy.y2 - R.y2, Enemy.x2 - R.x2);
aimAt(InvisProj ? invisible(h) : h);
Bu(Enemy && Math.hypot(Enemy.y2 - R.y2, Enemy.x2 - R.x2) <= 300 ? 20 : 1, 11);
} else if(![9, 12, 13, 15].includes(R.weaponIndex)){
if(e || t || k) e ? (R.tailIndex == 11 && Jt(0, 1), Bu(7, 18)) : k ? Bu(20, 11) : null
let xU = W.find(c => c.sid != R.sid && c.xWare && (!R.team || !Member(c.sid)) && Math.abs(Math.atan2(c.y2 - R.y2, c.x2 - R.x2) - h) <= Math.PI / 2 && Math.hypot(c.y2 - R.y2, c.x2 - R.x2) <= l.weapons[R.weaponIndex].range + 70);
if(xU) h += Math.PI;
aimAt(Number.MAX_VALUE);
};
} else if(![9, 12, 13, 15].includes(R.weaponIndex)){
Enemy && Math.hypot(Enemy.y2 - R.y2, Enemy.x2 - R.x2) <= 300 && Bu(11, 11);
};
};
document.hasu = 80;
function DamagePotential(e, t, n, i, r){
r = 0;
let Rx = {x: R.speed * Math.cos(R.moveDir - Math.PI) + R.x2, y: R.speed * Math.sin(R.moveDir - Math.PI) + R.y2, scale: 35};
t = N.filter(c => c.active && c.isItem && c.owner.sid != R.sid && (!R.team || !Member(c.owner.sid)) && [6, 7, 8, 9].includes(c.id) && !c.ignoreCollision && onBuild(Rx, c));
n = W.filter(c => c.visible && c.sid != R.sid && (!R.team || !Member(c.sid)) && Math.hypot(c.y2 - Rx.y, c.x2 - Rx.x) <= l.weapons[c.reloads[0].id].range + 70);
i = Y.filter(c => c.visible && Math.hypot(c.y2 - Rx.y, c.x - Rx.x) <= c.scale + 35 && [2, 3, 4, 8].includes(c.index));
if(t) for(let a of t) r += (a.dmg ? a.dmg : 0);
if(i) for(let a of i) r += (a.dmg ? a.dmg : 0);
if(n) for(let a of n) r += (a.reloads[0].done ? (l.weapons[a.reloads[0].id].dmg * o.weaponVariants[a.reloads[0].rarity].val * 1.5) : 0) + (a.reloads[2] == 23 ? 25 : 0) + (a.reloads[1].done ? (l.weapons[a.reloads[1].id].projectile !== undefined ? l.projectiles[l.weapons[a.reloads[1].id].projectile].dmg : (l.weapons[a.reloads[1].id].dmg * o.weaponVariants[a.reloads[1].rarity].val * 1.5)) : 0);
canDmg = r + SafeDefense;
return;
R.shameCount < 7 && canDmg >= document.hasu && setTimeout(() => {
//Bu(6, 21);
Ji();
}, 120);
};
let canDmg = 0;
let defaultStop = 0;
document.beku = 14;
function InstaCounter(){
R.shameCount >= 4 && r.free(document.beku);
Ji(R.health);
};
function Jh(e, t, n, v) {
return;
if(!e) return;
t = W.find(c => c.sid != e.sid && R.sid != c.sid && (!R.team || !Member(c.sid)) && [3, 4, 5].includes(c.reloads[0].id) && Math.hypot(c.y2 - R.y2, c.x2 - R.x2) <= 200);
if(R.shameCount < 7 && (Wish - defaultStop > 1 || t) && !N.find(c => c.isItem && c.owner.sid != R.sid && (!R.team || !Member(c.owner.sid)) && [6, 7, 8, 9].includes(c.id) && !c.ignoreCollision && onBuild({x: R.x2, y: R.y2, scale: 35}, c)) && ((Math.hypot(e.y2 - R.y2, e.x2 - R.x2) <= 240 && [3, 4, 5].includes(e.reloads[0].id)) || t)) {
defaultStop = Wish;
equip(22, 21);
r.free(document.rarar);
InstaCounter();
};
};
let FreeHats = [51, 50, 28, 29, 30, 36, 37, 38, 44, 35, 42, 43, 49];
let HatIndex = 0;
function HatLooping(e){
e = FreeHats[HatIndex];
if(!e){
HatIndex = 0;
e = 51;
};
HatIndex++;
return Jt(e);
};
let defaultHat = 6;
let defaultAccessor = 21;
function Os(e , t){ // fix this
!AutoAim && Spinner && aimAt(invisible(2 * Math.PI * Math.random()));
(Aim360 || R.weaponIndex == 11) && aimAt(Number.MAX_VALUE);
if(HatLoop){
HatIndex++;
if(!FreeHats[HatIndex]) HatIndex = 0;
};
n = N.filter(c => c.active && c.isItem && R.sid != c.owner.sid && (!R.team || !Member(c.owner.sid)) && c.id == 17 && Math.hypot(R.y2 - c.y, R.x2 - c.x) <= 700 + 35 + c.scale);
e = n && n.length >= 6 ? 22 : R.y2 >= 6838 && R.y2 <= 7562 && "number" == typeof wn ? 31 : Enemy && Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2) <= l.weapons[Enemy.reloads[0].id].range + 70 && 0 === Enemy.reloads[0].rarity ? "number" == typeof wn ? 26 : 6 : n && n.length >= 2 ? 22 : R.y2 <= 2400 && "number" == typeof wn ? 15 : HatLoop ? FreeHats[HatIndex] : AssassinGear ? 56 : "number" == typeof wn ? 12 : defaultHat;
t = 26 === e || 11 === e && R.speed < 15 ? 21 : "number" == typeof wn ? 11 : defaultAccessor;
Bu(0, 0);
Bu(e, t)
return;
if(AssassinGear) {
Jt(56, 0);
return Jt(11, 1);
};
e = N.filter(c => c.active && c.isItem && R.sid != c.owner.sid && (!R.team || !Member(c.owner.sid)) && c.id == 17 && Math.hypot(R.y2 - c.y, R.x2 - c.x) <= 700 + 35 + c.scale);
if(e && e.length >= 4){
!HatLoop ? Jt(22, 0) : HatLooping();
} else if(Enemy && Math.hypot(R.y2 - Enemy.y2, R.x2 - Enemy.x2) <= 262){
Bu(11, 11);
return null;
} else if(!AssassinGear && !HatLoop && wn === undefined){
return Bu(0, 0)
} else if(R.y > 6850 && R.y < 7550){
Jt(31, 0);
} else if(R.y < 2400){
(!HatLoop || wn !== undefined) ? Jt(15, 0) : HatLooping();
} else {
HatLoop ? HatLooping() : Jt(12, 0);
};
Jt(11, 1);
};
function Ji(e, t = [20, 40, 30]) {
if(AssassinGear || R.skinIndex == 56) Jt(0, 0);
for (var n = 0; n < 100; n += 20) place(R.items[0]);
}
function Ii(e) {
for (var t = 0; t < W.length; ++t)
if (W[t].sid == e) return W[t];
return null;
}
function Ei(e) {
for (var t = 0; t < Y.length; ++t)
if (Y[t].sid == e) return Y[t];
return null;
}
function Mi(e) {
for (var t = 0; t < N.length; ++t)
if (N[t].sid == e) return N[t];
return null;
}
var Ai = -1;
let Lds = Date.now();
setInterval(() => {
window.pingTime = Date.now() - Ai;
if(window.pingTime > 10e3) return;
if(window.pingTime > 75 && Enemy && Math.hypot(Enemy.y2 - R.y2, Enemy.x2 - R.x2) <= 200 && [3, 4, 5].includes(Enemy.reloads[0].id) && Date.now() - Lds > 130) {
Lds = Date.now();
//for(let i = 0; i < 5; i++) place(R.items[0]);
};
}, 20);
let Responsed = true;
function Pi() {
Responsed = true;
}
document.currentPing = 0;
function Bi() {
if(!Responsed && Date.now() - Ai < 1e3) return;
document.currentPing = Date.now() - Ai;
Ie.innerText = " " + " ";
window.pingTime = document.current
Responsed = false;
// window.pingTime && window.pingTime > 85 && console.log(window.pingTime);
Ai = Date.now();
r.send("pp");
}
function br(t, x, y, i, r, u, k = 0) {
be.save();
// be.shadowColor = 'rgba(0, 0, 0, 0.5)';
// be.shadowBlur = 1000000000000;
// be.shadowOffsetY = 0;
t.fillStyle = "#3d3f42";
t.roundRect(x - 54.5, y + _.scale + 34, 2 * (50 + k) + 2 * 4.5, 17, 8);
t.fill();
be.restore();
t.fillStyle = i;
t.roundRect(x - 50, y + _.scale + 38.5, 2 * (50 + k) * (r / u), 8, 7);
t.fill();
};
function Ci(e) {
if (!(e < 0)) {
var t = Math.floor(e / 60),
n = e % 60;
(n = ("0" + n).slice(-2)),
(Ee.innerText = "Server restarting in " + t + ":" + n),
(Ee.hidden = !1);
}
}
let Icon = {loaded: false, image: new Image(60, 45)};
Icon.image.src = '';
Icon.image.onload = function(){
Icon.loaded = true;
};
function Beautify(e){
e = $("#pingDisplay")
e.css("display", "block")
$("body").append(e)
$("#consentBlock").css({display: "none"});
$("#moomooio_728x90_home").parent().css({display: "none"});
$("moomooio_728x90_home").hide();
document.getElementById('promoImgHolder').remove();
document.getElementById('linksContainer2').remove();
$("#promoImgHolder").remove();
$("div#menuCard.adCard").remove();
document.getElementById('adCard').remove();
document.getElementById('errorNotification').remove();
$("#promoImgHolder").hide();
$("div[style*='inline-block']").css('display', 'block');
document.getElementById("moomooio_728x90_home").style.display = "none";
let removeInterval = setInterval(() => {
let displayer = document.getElementById("ot-sdk-btn-floating");
if(displayer){
displayer.remove();
clearInterval(removeInterval);
};
});
};
function Oi(e) {
window.open(e, "_blank");
}
let FPS = 0;
(window.requestAnimFrame =
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function(e) {
window.setTimeout(e, 1e3 / 60);
}),
(function() {
var e = o.mapScale / 2;
nt.add(0, e, e + 200, 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(1, e, e - Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(2, e + Math.random(), e + Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(3, e - Math.random(), e - Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(4, e - Math.random(), e - Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(5, e - Math.random(), e + Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(6, e + Math.random(), e - Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(7, e - Math.random(), e + Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(8, e + Math.random(), e + Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(9, e - Math.random(), e + Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(10, e - Math.random(), e + Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(11, e + Math.random(), e - Math.random(), 0, l.list[4].scale, l.list[4].id, l.list[10])
//nt.add(12, e - 400, e - 450, 0, o.rockScales[2], 2)
})(),
(function e() {
FPS++
setTimeout(() => (FPS--), 1e3);
(B = Date.now()),
(P = B - q),
(q = B),
(function() {
if (
(R &&
(!C || B - C >= 1e3 / o.clientSendRate) &&
((C = B), ((!AutoAim && !Spinner && !Aim360) || !Hacks) && (aimAt(pn()))),
An < 120 &&
((An += 0.1 * P),
(Ge.style.fontSize = Math.min(Math.round(An), 120) + "px")),
R)
) {
var e = s.getDistance(U, D, R.x, R.y),
t = s.getDirection(R.x, R.y, U, D),
n = Math.min(0.01 * e * P, e);
e > 0.05 ?
((U += n * Math.cos(t)), (D += n * Math.sin(t))) :
((U = R.x), (D = R.y));
} else(U = o.mapScale / 2), (D = o.mapScale / 2);
for (
var i = B - 1e3 / o.serverUpdateRate, a = 0; a < W.length + Y.length;
++a
)
if ((_ = W[a] || Y[a - W.length]) && _.visible)
if (_.forcePos)(_.x = _.x2), (_.y = _.y2), (_.dir = _.d2);
else {
var c = _.t2 - _.t1,
l = (i - _.t1) / c;
_.dt += P;
var h = Math.min(1.7, _.dt / 170),
u = _.x2 - _.x1;
(_.x = _.x1 + u * h),
(u = _.y2 - _.y1),
(_.y = _.y1 + u * h),
(_.dir = Math.lerpAngle(_.d2, _.d1, Math.min(1.2, l)));
}
var f = U - oe / 2,
d = D - ce / 2;
o.snowBiomeTop - d <= 0 && o.mapScale - o.snowBiomeTop - d >= ce ?
((be.fillStyle = "#b6db66"), be.fillRect(0, 0, oe, ce)) :
o.mapScale - o.snowBiomeTop - d <= 0 ?
((be.fillStyle = "#dbc666"), be.fillRect(0, 0, oe, ce)) :
o.snowBiomeTop - d >= ce ?
((be.fillStyle = "#fff"), be.fillRect(0, 0, oe, ce)) :
o.snowBiomeTop - d >= 0 ?
((be.fillStyle = "#fff"),
be.fillRect(0, 0, oe, o.snowBiomeTop - d),
(be.fillStyle = "#b6db66"),
be.fillRect(
0,
o.snowBiomeTop - d,
oe,
ce - (o.snowBiomeTop - d),
)) :
((be.fillStyle = "#b6db66"),
be.fillRect(0, 0, oe, o.mapScale - o.snowBiomeTop - d),
(be.fillStyle = "#dbc666"),
be.fillRect(
0,
o.mapScale - o.snowBiomeTop - d,
oe,
ce - (o.mapScale - o.snowBiomeTop - d),
)),
In ||
((ee += te * o.waveSpeed * P) >= o.waveMax ?
((ee = o.waveMax), (te = -1)) :
ee <= 1 && (ee = te = 1),
(be.globalAlpha = 1),
(be.fillStyle = "#dbc666"),
qn(f, d, be, o.riverPadding),
(be.fillStyle = "#91b2db"),
qn(f, d, be, 250 * (ee - 1))),
(be.lineWidth = 4),
(be.strokeStyle = "#000"),
(be.globalAlpha = 0.06),
be.beginPath();
for (var p = (14400 - f) % 50; p < oe; p += 50)
p > 0 && (be.moveTo(p, 0), be.lineTo(p, ce));
for (var g = (14400 - d) % 50; g < ce; g += 50)
p > 0 && (be.moveTo(0, g), be.lineTo(oe, g));
for (
be.stroke(),
be.globalAlpha = 1,
be.strokeStyle = it,
Yn(-1, f, d),
be.globalAlpha = 1,
be.lineWidth = 5.5,
zn(0, f, d),
Xn(f, d, 0),
be.globalAlpha = 1,
a = 0; a < Y.length;
++a
)
(_ = Y[a]).active &&
_.visible &&
(_.animate(P),
be.save(),
be.translate(_.x - f, _.y - d),
be.rotate(_.dir + _.dirPlus - Math.PI / 2),
yi(_, be),
be.restore());
if (
(Yn(0, f, d),
zn(1, f, d),
Yn(1, f, d),
Xn(f, d, 1),
Yn(2, f, d),
Yn(3, f, d),
(be.fillStyle = "#000"),
(be.globalAlpha = 0.09),
f <= 0 && be.fillRect(0, 0, -f, ce),
o.mapScale - f <= oe)
) {
var y = Math.max(0, -d);
be.fillRect(o.mapScale - f, y, oe - (o.mapScale - f), ce - y);
}
if (
(d <= 0 && be.fillRect(-f, 0, oe + f, -d), o.mapScale - d <= ce)
) {
var k = Math.max(0, -f),
v = 0;
o.mapScale - f <= oe && (v = oe - (o.mapScale - f)),
be.fillRect(
k,
o.mapScale - d,
oe - k - v,
ce - (o.mapScale - d),
);
}
for (
be.globalAlpha = 1,
be.fillStyle = "rgba(0, 0, 70, 0.35)",
be.fillRect(0, 0, oe, ce),
be.strokeStyle = rt,
a = 0; a < W.length + Y.length;
++a
)
if ((_ = W[a] || Y[a - W.length]).visible && (10 != _.skinIndex || _ == R || _.team && _.team == R.team || UI)) {
var w = (_.team ? "[" + _.team + "] " : "") + (_.name + ' ' || "") + (`${Hacks ? _.isPlayer ? "<"+_.shameCount+">" : "" : ""}`);
if ("" != w) {
if (be.font = (_.nameScale || 30) + "px Hammersmith One",
be.fillStyle = "#fff",
be.textBaseline = "middle",
be.textAlign = "center",
be.lineWidth = _.nameScale ? 11 : 8,
be.lineJoin = "round",
be.strokeText(w, _.x - f, _.y - d - _.scale - o.nameY),
be.fillText(w, _.x - f, _.y - d - _.scale - o.nameY),
_.isLeader && Rn.crown.isLoaded) {
var b = o.crownIconScale;
k = _.x - f - b / 2 - be.measureText(w).width / 2 - o.crownPad,
be.drawImage(Rn.crown, k, _.y - d - _.scale - o.nameY - b / 2 - 5, b, b)
}
1 == _.iconIndex && Rn.skull.isLoaded && (b = o.crownIconScale,
k = _.x - f - b / 2 + be.measureText(w).width / 2 + o.crownPad,
be.drawImage(Rn.skull, k, _.y - d - _.scale - o.nameY - b / 2 - 5, b, b))
}
var tracer = true;
if(tracer && Hacks && _.isPlayer){
be.strokeStyle = "black";
be.lineWidth = .2;
be.beginPath();
be.lineCap = "round";
be.moveTo(R.x-f, R.y-d);
be.lineTo(_.x-f, _.y-d);
be.stroke();
be.strokeStyle = bt;
}
_.health > 0 && (o.healthBarWidth,
be.fillStyle = rt,
be.roundRect(_.x - f - o.healthBarWidth - o.healthBarPad, _.y - d + _.scale + o.nameY, 2 * o.healthBarWidth + 2 * o.healthBarPad, 17, 8),
be.fill(),
be.fillStyle = _ == R || _.team && _.team == R.team ? "#8ecc51" : "#cc5151",
be.roundRect(_.x - f - o.healthBarWidth, _.y - d + _.scale + o.nameY + o.healthBarPad, 2 * o.healthBarWidth * (_.health / _.maxHealth), 17 - 2 * o.healthBarPad, 7),
be.fill())
}
for (m.update(P, be, f, d), a = 0; a < W.length; ++a)
if ((_ = W[a]).visible && _.chatCountdown > 0) {
(_.chatCountdown -= P),
_.chatCountdown <= 0 && (_.chatCountdown = 0),
(be.font = "32px Hammersmith One");
var x = be.measureText(_.chatMessage);
(be.textBaseline = "middle"),
(be.textAlign = "center"),
(k = _.x - f),
(y = _.y - _.scale - d - 90);
var S = x.width + 17;
(be.fillStyle = "rgba(0,0,0,0.2)"),
be.roundRect(k - S / 2, y - 23.5, S, 47, 6),
be.fill(),
(be.fillStyle = "#fff"),
be.fillText(_.chatMessage, k, y);
}!(function(e) {
if (R && R.alive) {
Ke.clearRect(0, 0, Ne.width, Ne.height),
(Ke.strokeStyle = "#fff"),
(Ke.lineWidth = 4);
for (var t = 0; t < qt.length; ++t)(Vt = qt[t]).update(Ke, e);
if (
((Ke.globalAlpha = 1),
(Ke.fillStyle = "#fff"),
si(
(R.x / o.mapScale) * Ne.width,
(R.y / o.mapScale) * Ne.height,
7,
Ke,
!0,
),
(Ke.fillStyle = "green"),
R.team && Et)
)
for (t = 0; t < Et.length;)
si(
(Et[t] / o.mapScale) * Ne.width,
(Et[t + 1] / o.mapScale) * Ne.height,
7,
Ke,
!0,
),
//for (t = 0; t < Enemy.length;){
(t += 2);
It && ( Ke.fillStyle = "darkred",
Ke.font = "34px Hammersmith One",
Ke.textBaseline = "middle",
Ke.textAlign = "center",
Ke.fillText("x", It.x / o.mapScale * Ne.width, It.y / o.mapScale * Ne.height))
Mt && ( Ke.fillStyle = "red",
Ke.font = "50px Hammersmith One",
Ke.textBaseline = "middle",
Ke.textAlign = "center",
/*Ke.strokeStyle = "black",// st
Ke.lineWidth = 1,
Ke.beginPath(),
Ke.lineCap = "round",
Ke.moveTo(R.x / o.mapScale * Ne.width, R.y / o.mapScale * Ne.height),
Ke.lineTo(Mt.x / o.mapScale * Ne.width, Mt.y / o.mapScale * Ne.height),
Ke.stroke(),
Ke.strokeStyle = bt, tracers*/
Ke.fillText("•", Mt.x / o.mapScale * Ne.width, Mt.y / o.mapScale * Ne.height));
Ar && (Ke.fillStyle = "yellow",
Ke.font = "50px Hammersmith One",
Ke.textBaseline = "middle",
Ke.textAlign = "center",
Ke.fillText("•", Ar.x / o.mapScale * Ne.width, Ar.y / o.mapScale * Ne.height)),
Ez && (Ke.fillStyle = "#fff",
Ke.font = "34px Hammersmith One",
Ke.textBaseline = "middle",
Ke.textAlign = "center",
Ke.fillText("x", Ez.x / o.mapScale * Ne.width, Ez.y / o.mapScale * Ne.height))
}
})(P),
- 1 !== re.id &&
Fn(re.startX, re.startY, re.currentX, re.currentY),
-1 !== se.id &&
Fn(se.startX, se.startY, se.currentX, se.currentY);
})(),
Nights += ((Nighte ? 1 : 0) - Nights) / 160;
const eb = be.getTransform();
be.setTransform(1, 0, 0, 1, 0, 0);
be.fillStyle = `rgba(${[24, 0, 82, .3].map(e => e * Nights).join(", ")})`,
be.fillRect(0, 0, we.width, we.height);
be.setTransform(eb);
requestAnimFrame(e);
})(),
(window.openLink = Oi),
(window.aJoinReq = Dt),
(window.follmoo = function() {
H || ((H = !0), I("moofoll", 1));
}),
(window.kickFromClan = Lt),
(window.sendJoin = Ft),
(window.leaveAlliance = Ht),
(window.createAlliance = zt),
(window.storeBuy = Kt),
(window.storeEquip = Jt),
(window.showItemInfo = Tt),
Beautify(),
(window.selectSkinColor = function(e) {
(ae = e), en();
}),
(window.changeStoreIndex = function(e) {
Xt != e && ((Xt = e), Gt());
}),
(window.config = o);
},
function(e, t) {
!(function(e, t, n) {
function i(e, t) {
return typeof e === t;
}
var r = [],
s = [],
a = {
_version: "3.5.0",
_config: {
classPrefix: "",
enableClasses: !0,
enableJSClass: !0,
usePrefixes: !0,
},
_q: [],
on: function(e, t) {
var n = this;
setTimeout(function() {
t(n[e]);
}, 0);
},
addTest: function(e, t, n) {
s.push({
name: e,
fn: t,
options: n
});
},
addAsyncTest: function(e) {
s.push({
name: null,
fn: e
});
},
},
o = function() {};
(o.prototype = a), (o = new o());
var c = t.documentElement,
l = "svg" === c.nodeName.toLowerCase();
o.addTest("passiveeventlisteners", function() {
var t = !1;
try {
var n = Object.defineProperty({}, "passive", {
get: function() {
t = !0;
},
});
e.addEventListener("test", null, n);
} catch (e) {}
return t;
}),
(function() {
var e, t, n, a, c, l;
for (var h in s)
if (s.hasOwnProperty(h)) {
if (
((e = []),
(t = s[h]).name &&
(e.push(t.name.toLowerCase()),
t.options && t.options.aliases && t.options.aliases.length))
)
for (n = 0; n < t.options.aliases.length; n++)
e.push(t.options.aliases[n].toLowerCase());
for (
a = i(t.fn, "function") ? t.fn() : t.fn, c = 0; c < e.length; c++
)
1 === (l = e[c].split(".")).length ?
(o[l[0]] = a) :
(!o[l[0]] ||
o[l[0]] instanceof Boolean ||
(o[l[0]] = new Boolean(o[l[0]])),
(o[l[0]][l[1]] = a)),
r.push((a ? "" : "no-") + l.join("-"));
}
})(),
(function(e) {
var t = c.className,
n = o._config.classPrefix || "";
if ((l && (t = t.baseVal), o._config.enableJSClass)) {
var i = new RegExp("(^|\\s)" + n + "no-js(\\s|$)");
t = t.replace(i, "$1" + n + "js$2");
}
o._config.enableClasses &&
((t += " " + n + e.join(" " + n)),
l ? (c.className.baseVal = t) : (c.className = t));
})(r),
delete a.addTest,
delete a.addAsyncTest;
for (var h = 0; h < o._q.length; h++) o._q[h]();
e.Modernizr = o;
})(window, document);
},
function(e, t, n) {
var i = n(24);
n(19),
(e.exports = {
socket: null,
connected: !1,
socketId: -1,
connect: function(e, t, n) {
if (!this.socket) {
var r = this;
try {
var s = !1,
a = e;
(this.socket = new WebSocket(a)),
(this.socket.binaryType = "arraybuffer"),
(this.socket.onmessage = function(e) {
var t = new Uint8Array(e.data),
s = i.decode(t),
a = s[0];
(t = s[1]),
"io-init" == a
?
(r.socketId = t[0]) :
n[a].apply(void 0, t);
}),
(this.socket.onopen = function() {
(r.connected = !0), t();
null === localStorage.getItem("xWare") && localStorage.setItem("xWare", btoa(JSON.stringify({
})));
const n = JSON.parse(atob(localStorage.getItem("xWare")));
}),
(this.socket.onclose = function(e) {
(r.connected = !1),
4001 == e.code ?
t("Invalid Connection") :
s || t("disconnected");
}),
(this.socket.onerror = function(e) {
this.socket &&
this.socket.readyState != WebSocket.OPEN &&
((s = !0),
console.error("Socket error", arguments),
t("Socket error"));
});
} catch (e) {
console.warn("Socket connection error:", e), t(e);
}
}
},
dash: function(e){
if(this.connected) for(let i = 0; i < e; i++) this.socket.send(new Uint8Array([151,8,192,103,36,183,235,99,236,91,233,118,103,249,168,199,56,173,146,212,95,55,88,215,114,23,163,37,216,18,153,90,204,58,152,204,128,97,61,232,38,38,207,172,78,33,157,98,168,162,17,222,226,204,16,5,61,180,102,14,184,102,132,152,125,171,208,193,154,115,218,139,150,218,203,116,195,140,171,109,242,166,53,55,124,192,33,70,78,134,149,39,179,178,198,142,134,69,139,153,10,11,143,194,154,176,102,15,206,140,37,66,194,123,241,66,81,17,124,208,148,148,16,202,203,122,129,16,221,0,246,221,198]));
},
send: function(e) {
if(!this.connected) return;
if(!document.wsURL) document.wsURL = this.socket.url;
var t = Array.prototype.slice.call(arguments, 1),
n = i.encode([e, t]);
this.socket.send(n);
},
wave: function(e){
for(let i = 0; i < e; i++) this.socket.send(10000000);
},
free: function(e){
for(let i = 0; i < e; i++) this.socket.send(10000000);
},
original: function(e) {
this.socket.send(e);
},
socketReady: function() {
return this.socket && this.connected;
},
close: function() {
this.socket && this.socket.close();
},
});
},
function(e, t, n) {
(t.encode = n(9).encode),
(t.decode = n(15).decode),
(t.Encoder = n(37).Encoder),
(t.Decoder = n(38).Decoder),
(t.createCodec = n(39).createCodec),
(t.codec = n(40).codec);
},
function(e, t, n) {
(function(t) {
function n(e) {
return e && e.isBuffer && e;
}
e.exports =
n(void 0 !== t && t) ||
n(this.Buffer) ||
n("undefined" != typeof window && window.Buffer) ||
this.Buffer;
}.call(this, n(11).Buffer));
},
function(e, t, n) {
"use strict";
(t.byteLength = function(e) {
var t = l(e),
n = t[0],
i = t[1];
return (3 * (n + i)) / 4 - i;
}),
(t.toByteArray = function(e) {
var t,
n,
i = l(e),
a = i[0],
o = i[1],
c = new s(
(function(e, t, n) {
return (3 * (t + n)) / 4 - n;
})(0, a, o),
),
h = 0,
u = o > 0 ? a - 4 : a;
for (n = 0; n < u; n += 4)
(t =
(r[e.charCodeAt(n)] << 18) |
(r[e.charCodeAt(n + 1)] << 12) |
(r[e.charCodeAt(n + 2)] << 6) |
r[e.charCodeAt(n + 3)]),
(c[h++] = (t >> 16) & 255),
(c[h++] = (t >> 8) & 255),
(c[h++] = 255 & t);
return (
2 === o &&
((t = (r[e.charCodeAt(n)] << 2) | (r[e.charCodeAt(n + 1)] >> 4)),
(c[h++] = 255 & t)),
1 === o &&
((t =
(r[e.charCodeAt(n)] << 10) |
(r[e.charCodeAt(n + 1)] << 4) |
(r[e.charCodeAt(n + 2)] >> 2)),
(c[h++] = (t >> 8) & 255),
(c[h++] = 255 & t)),
c
);
}),
(t.fromByteArray = function(e) {
for (
var t, n = e.length, r = n % 3, s = [], a = 0, o = n - r; a < o; a += 16383
)
s.push(u(e, a, a + 16383 > o ? o : a + 16383));
return (
1 === r ?
((t = e[n - 1]), s.push(i[t >> 2] + i[(t << 4) & 63] + "==")) :
2 === r &&
((t = (e[n - 2] << 8) + e[n - 1]),
s.push(i[t >> 10] + i[(t >> 4) & 63] + i[(t << 2) & 63] + "=")),
s.join("")
);
});
for (
var i = [],
r = [],
s = "undefined" != typeof Uint8Array ? Uint8Array : Array,
a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
o = 0,
c = a.length; o < c;
++o
)
(i[o] = a[o]), (r[a.charCodeAt(o)] = o);
function l(e) {
var t = e.length;
if (t % 4 > 0)
throw new Error("Invalid string. Length must be a multiple of 4");
var n = e.indexOf("=");
return -1 === n && (n = t), [n, n === t ? 0 : 4 - (n % 4)];
}
function h(e) {
return (
i[(e >> 18) & 63] + i[(e >> 12) & 63] + i[(e >> 6) & 63] + i[63 & e]
);
}
function u(e, t, n) {
for (var i, r = [], s = t; s < n; s += 3)
(i =
((e[s] << 16) & 16711680) +
((e[s + 1] << 8) & 65280) +
(255 & e[s + 2])),
r.push(h(i));
return r.join("");
}
(r["-".charCodeAt(0)] = 62), (r["_".charCodeAt(0)] = 63);
},
function(e, t) {
var n = {}.toString;
e.exports =
Array.isArray ||
function(e) {
return "[object Array]" == n.call(e);
};
},
function(e, t, n) {
var i = n(0);
function r(e) {
return new Array(e);
}
((t = e.exports = r(0)).alloc = r),
(t.concat = i.concat),
(t.from = function(e) {
if (!i.isBuffer(e) && i.isView(e)) e = i.Uint8Array.from(e);
else if (i.isArrayBuffer(e)) e = new Uint8Array(e);
else {
if ("string" == typeof e) return i.from.call(t, e);
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number');
}
return Array.prototype.slice.call(e);
});
},
function(e, t, n) {
var i = n(0),
r = i.global;
function s(e) {
return new r(e);
}
((t = e.exports = i.hasBuffer ? s(0) : []).alloc =
(i.hasBuffer && r.alloc) || s),
(t.concat = i.concat),
(t.from = function(e) {
if (!i.isBuffer(e) && i.isView(e)) e = i.Uint8Array.from(e);
else if (i.isArrayBuffer(e)) e = new Uint8Array(e);
else {
if ("string" == typeof e) return i.from.call(t, e);
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number');
}
return r.from && 1 !== r.from.length ? r.from(e) : new r(e);
});
},
function(e, t, n) {
var i = n(0);
function r(e) {
return new Uint8Array(e);
}
((t = e.exports = i.hasArrayBuffer ? r(0) : []).alloc = r),
(t.concat = i.concat),
(t.from = function(e) {
if (i.isView(e)) {
var n = e.byteOffset,
r = e.byteLength;
(e = e.buffer).byteLength !== r &&
(e.slice ?
(e = e.slice(n, n + r)) :
(e = new Uint8Array(e)).byteLength !== r &&
(e = Array.prototype.slice.call(e, n, n + r)));
} else {
if ("string" == typeof e) return i.from.call(t, e);
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number');
}
return new Uint8Array(e);
});
},
function(e, t) {
(t.copy = function(e, t, n, i) {
var r;
n || (n = 0), i || 0 === i || (i = this.length), t || (t = 0);
var s = i - n;
if (e === this && n < t && t < i)
for (r = s - 1; r >= 0; r--) e[r + t] = this[r + n];
else
for (r = 0; r < s; r++) e[r + t] = this[r + n];
return s;
}),
(t.toString = function(e, t, n) {
var i = 0 | t;
n || (n = this.length);
for (var r = "", s = 0; i < n;)
(s = this[i++]) < 128 ?
(r += String.fromCharCode(s)) :
(192 == (224 & s) ?
(s = ((31 & s) << 6) | (63 & this[i++])) :
224 == (240 & s) ?
(s =
((15 & s) << 12) |
((63 & this[i++]) << 6) |
(63 & this[i++])) :
240 == (248 & s) &&
(s =
((7 & s) << 18) |
((63 & this[i++]) << 12) |
((63 & this[i++]) << 6) |
(63 & this[i++])),
s >= 65536 ?
((s -= 65536),
(r += String.fromCharCode(
55296 + (s >>> 10),
56320 + (1023 & s),
))) :
(r += String.fromCharCode(s)));
return r;
}),
(t.write = function(e, t) {
for (var n = t || (t |= 0), i = e.length, r = 0, s = 0; s < i;)
(r = e.charCodeAt(s++)) < 128 ?
(this[n++] = r) :
r < 2048 ?
((this[n++] = 192 | (r >>> 6)), (this[n++] = 128 | (63 & r))) :
r < 55296 || r > 57343 ?
((this[n++] = 224 | (r >>> 12)),
(this[n++] = 128 | ((r >>> 6) & 63)),
(this[n++] = 128 | (63 & r))) :
((r =
65536 + (((r - 55296) << 10) | (e.charCodeAt(s++) - 56320))),
(this[n++] = 240 | (r >>> 18)),
(this[n++] = 128 | ((r >>> 12) & 63)),
(this[n++] = 128 | ((r >>> 6) & 63)),
(this[n++] = 128 | (63 & r)));
return n - t;
});
},
function(e, t, n) {
t.setExtPackers = function(e) {
e.addExtPacker(14, Error, [u, c]),
e.addExtPacker(1, EvalError, [u, c]),
e.addExtPacker(2, RangeError, [u, c]),
e.addExtPacker(3, ReferenceError, [u, c]),
e.addExtPacker(4, SyntaxError, [u, c]),
e.addExtPacker(5, TypeError, [u, c]),
e.addExtPacker(6, URIError, [u, c]),
e.addExtPacker(10, RegExp, [h, c]),
e.addExtPacker(11, Boolean, [l, c]),
e.addExtPacker(12, String, [l, c]),
e.addExtPacker(13, Date, [Number, c]),
e.addExtPacker(15, Number, [l, c]),
"undefined" != typeof Uint8Array &&
(e.addExtPacker(17, Int8Array, a),
e.addExtPacker(18, Uint8Array, a),
e.addExtPacker(19, Int16Array, a),
e.addExtPacker(20, Uint16Array, a),
e.addExtPacker(21, Int32Array, a),
e.addExtPacker(22, Uint32Array, a),
e.addExtPacker(23, Float32Array, a),
"undefined" != typeof Float64Array &&
e.addExtPacker(24, Float64Array, a),
"undefined" != typeof Uint8ClampedArray &&
e.addExtPacker(25, Uint8ClampedArray, a),
e.addExtPacker(26, ArrayBuffer, a),
e.addExtPacker(29, DataView, a)),
r.hasBuffer && e.addExtPacker(27, s, r.from);
};
var i,
r = n(0),
s = r.global,
a = r.Uint8Array.from,
o = {
name: 1,
message: 1,
stack: 1,
columnNumber: 1,
fileName: 1,
lineNumber: 1,
};
function c(e) {
return i || (i = n(9).encode), i(e);
}
function l(e) {
return e.valueOf();
}
function h(e) {
(e = RegExp.prototype.toString.call(e).split("/")).shift();
var t = [e.pop()];
return t.unshift(e.join("/")), t;
}
function u(e) {
var t = {};
for (var n in o) t[n] = e[n];
return t;
}
},
function(e, t, n) {
var i = n(5),
r = n(7),
s = r.Uint64BE,
a = r.Int64BE,
o = n(0),
c = n(6),
l = n(34),
h = n(13).uint8,
u = n(3).ExtBuffer,
f = "undefined" != typeof Uint8Array,
d = "undefined" != typeof Map,
p = [];
(p[1] = 212),
(p[2] = 213),
(p[4] = 214),
(p[8] = 215),
(p[16] = 216),
(t.getWriteType = function(e) {
var t = l.getWriteToken(e),
n = e && e.useraw,
r = f && e && e.binarraybuffer,
g = r ? o.isArrayBuffer : o.isBuffer,
m = r ?
function(e, t) {
w(e, new Uint8Array(t));
} :
w,
y =
d && e && e.usemap ?
function(e, n) {
if (!(n instanceof Map)) return b(e, n);
var i = n.size;
t[i < 16 ? 128 + i : i <= 65535 ? 222 : 223](e, i);
var r = e.codec.encode;
n.forEach(function(t, n, i) {
r(e, n), r(e, t);
});
} :
b;
return {
boolean: function(e, n) {
t[n ? 195 : 194](e, n);
},
function: v,
number: function(e, n) {
var i = 0 | n;
n === i ?
t[
-32 <= i && i <= 127 ?
255 & i :
0 <= i ?
i <= 255 ?
204 :
i <= 65535 ?
205 :
206 :
-128 <= i ?
208 :
-32768 <= i ?
209 :
210
](e, i) :
t[203](e, n);
},
object: n ?
function(e, n) {
if (g(n))
return (function(e, n) {
var i = n.length;
t[i < 32 ? 160 + i : i <= 65535 ? 218 : 219](e, i),
e.send(n);
})(e, n);
k(e, n);
} : k,
string: (function(e) {
return function(n, i) {
var r = i.length,
s = 5 + 3 * r;
n.offset = n.reserve(s);
var a = n.buffer,
o = e(r),
l = n.offset + o;
r = c.write.call(a, i, l);
var h = e(r);
if (o !== h) {
var u = l + h - o,
f = l + r;
c.copy.call(a, a, u, l, f);
}
t[1 === h ? 160 + r : h <= 3 ? 215 + h : 219](n, r),
(n.offset += r);
};
})(
n ?
function(e) {
return e < 32 ? 1 : e <= 65535 ? 3 : 5;
} :
function(e) {
return e < 32 ? 1 : e <= 255 ? 2 : e <= 65535 ? 3 : 5;
},
),
symbol: v,
undefined: v,
};
function k(e, n) {
if (null === n) return v(e, n);
if (g(n)) return m(e, n);
if (i(n))
return (function(e, n) {
var i = n.length;
t[i < 16 ? 144 + i : i <= 65535 ? 220 : 221](e, i);
for (var r = e.codec.encode, s = 0; s < i; s++) r(e, n[s]);
})(e, n);
if (s.isUint64BE(n))
return (function(e, n) {
t[207](e, n.toArray());
})(e, n);
if (a.isInt64BE(n))
return (function(e, n) {
t[211](e, n.toArray());
})(e, n);
var r = e.codec.getExtPacker(n);
if ((r && (n = r(n)), n instanceof u))
return (function(e, n) {
var i = n.buffer,
r = i.length,
s = p[r] || (r < 255 ? 199 : r <= 65535 ? 200 : 201);
t[s](e, r), h[n.type](e), e.send(i);
})(e, n);
y(e, n);
}
function v(e, n) {
t[192](e, n);
}
function w(e, n) {
var i = n.length;
t[i < 255 ? 196 : i <= 65535 ? 197 : 198](e, i), e.send(n);
}
function b(e, n) {
var i = Object.keys(n),
r = i.length;
t[r < 16 ? 128 + r : r <= 65535 ? 222 : 223](e, r);
var s = e.codec.encode;
i.forEach(function(t) {
s(e, t), s(e, n[t]);
});
}
});
},
function(e, t, n) {
var i = n(4),
r = n(7),
s = r.Uint64BE,
a = r.Int64BE,
o = n(13).uint8,
c = n(0),
l = c.global,
h = c.hasBuffer && "TYPED_ARRAY_SUPPORT" in l && !l.TYPED_ARRAY_SUPPORT,
u = (c.hasBuffer && l.prototype) || {};
function f() {
var e = o.slice();
return (
(e[196] = d(196)),
(e[197] = p(197)),
(e[198] = g(198)),
(e[199] = d(199)),
(e[200] = p(200)),
(e[201] = g(201)),
(e[202] = m(202, 4, u.writeFloatBE || v, !0)),
(e[203] = m(203, 8, u.writeDoubleBE || w, !0)),
(e[204] = d(204)),
(e[205] = p(205)),
(e[206] = g(206)),
(e[207] = m(207, 8, y)),
(e[208] = d(208)),
(e[209] = p(209)),
(e[210] = g(210)),
(e[211] = m(211, 8, k)),
(e[217] = d(217)),
(e[218] = p(218)),
(e[219] = g(219)),
(e[220] = p(220)),
(e[221] = g(221)),
(e[222] = p(222)),
(e[223] = g(223)),
e
);
}
function d(e) {
return function(t, n) {
var i = t.reserve(2),
r = t.buffer;
(r[i++] = e), (r[i] = n);
};
}
function p(e) {
return function(t, n) {
var i = t.reserve(3),
r = t.buffer;
(r[i++] = e), (r[i++] = n >>> 8), (r[i] = n);
};
}
function g(e) {
return function(t, n) {
var i = t.reserve(5),
r = t.buffer;
(r[i++] = e),
(r[i++] = n >>> 24),
(r[i++] = n >>> 16),
(r[i++] = n >>> 8),
(r[i] = n);
};
}
function m(e, t, n, i) {
return function(r, s) {
var a = r.reserve(t + 1);
(r.buffer[a++] = e), n.call(r.buffer, s, a, i);
};
}
function y(e, t) {
new s(this, t, e);
}
function k(e, t) {
new a(this, t, e);
}
function v(e, t) {
i.write(this, e, t, !1, 23, 4);
}
function w(e, t) {
i.write(this, e, t, !1, 52, 8);
}
t.getWriteToken = function(e) {
return e && e.uint8array ?
(function() {
var e = f();
return (e[202] = m(202, 4, v)), (e[203] = m(203, 8, w)), e;
})() :
h || (c.hasBuffer && e && e.safe) ?
(function() {
var e = o.slice();
return (
(e[196] = m(196, 1, l.prototype.writeUInt8)),
(e[197] = m(197, 2, l.prototype.writeUInt16BE)),
(e[198] = m(198, 4, l.prototype.writeUInt32BE)),
(e[199] = m(199, 1, l.prototype.writeUInt8)),
(e[200] = m(200, 2, l.prototype.writeUInt16BE)),
(e[201] = m(201, 4, l.prototype.writeUInt32BE)),
(e[202] = m(202, 4, l.prototype.writeFloatBE)),
(e[203] = m(203, 8, l.prototype.writeDoubleBE)),
(e[204] = m(204, 1, l.prototype.writeUInt8)),
(e[205] = m(205, 2, l.prototype.writeUInt16BE)),
(e[206] = m(206, 4, l.prototype.writeUInt32BE)),
(e[207] = m(207, 8, y)),
(e[208] = m(208, 1, l.prototype.writeInt8)),
(e[209] = m(209, 2, l.prototype.writeInt16BE)),
(e[210] = m(210, 4, l.prototype.writeInt32BE)),
(e[211] = m(211, 8, k)),
(e[217] = m(217, 1, l.prototype.writeUInt8)),
(e[218] = m(218, 2, l.prototype.writeUInt16BE)),
(e[219] = m(219, 4, l.prototype.writeUInt32BE)),
(e[220] = m(220, 2, l.prototype.writeUInt16BE)),
(e[221] = m(221, 4, l.prototype.writeUInt32BE)),
(e[222] = m(222, 2, l.prototype.writeUInt16BE)),
(e[223] = m(223, 4, l.prototype.writeUInt32BE)),
e
);
})() :
f();
};
},
function(e, t, n) {
t.setExtUnpackers = function(e) {
e.addExtUnpacker(14, [o, l(Error)]),
e.addExtUnpacker(1, [o, l(EvalError)]),
e.addExtUnpacker(2, [o, l(RangeError)]),
e.addExtUnpacker(3, [o, l(ReferenceError)]),
e.addExtUnpacker(4, [o, l(SyntaxError)]),
e.addExtUnpacker(5, [o, l(TypeError)]),
e.addExtUnpacker(6, [o, l(URIError)]),
e.addExtUnpacker(10, [o, c]),
e.addExtUnpacker(11, [o, h(Boolean)]),
e.addExtUnpacker(12, [o, h(String)]),
e.addExtUnpacker(13, [o, h(Date)]),
e.addExtUnpacker(15, [o, h(Number)]),
"undefined" != typeof Uint8Array &&
(e.addExtUnpacker(17, h(Int8Array)),
e.addExtUnpacker(18, h(Uint8Array)),
e.addExtUnpacker(19, [u, h(Int16Array)]),
e.addExtUnpacker(20, [u, h(Uint16Array)]),
e.addExtUnpacker(21, [u, h(Int32Array)]),
e.addExtUnpacker(22, [u, h(Uint32Array)]),
e.addExtUnpacker(23, [u, h(Float32Array)]),
"undefined" != typeof Float64Array &&
e.addExtUnpacker(24, [u, h(Float64Array)]),
"undefined" != typeof Uint8ClampedArray &&
e.addExtUnpacker(25, h(Uint8ClampedArray)),
e.addExtUnpacker(26, u),
e.addExtUnpacker(29, [u, h(DataView)])),
r.hasBuffer && e.addExtUnpacker(27, h(s));
};
var i,
r = n(0),
s = r.global,
a = {
name: 1,
message: 1,
stack: 1,
columnNumber: 1,
fileName: 1,
lineNumber: 1,
};
function o(e) {
return i || (i = n(15).decode), i(e);
}
function c(e) {
return RegExp.apply(null, e);
}
function l(e) {
return function(t) {
var n = new e();
for (var i in a) n[i] = t[i];
return n;
};
}
function h(e) {
return function(t) {
return new e(t);
};
}
function u(e) {
return new Uint8Array(e).buffer;
}
},
function(e, t, n) {
var i = n(17);
function r(e) {
var t,
n = new Array(256);
for (t = 0; t <= 127; t++) n[t] = s(t);
for (t = 128; t <= 143; t++) n[t] = o(t - 128, e.map);
for (t = 144; t <= 159; t++) n[t] = o(t - 144, e.array);
for (t = 160; t <= 191; t++) n[t] = o(t - 160, e.str);
for (
n[192] = s(null),
n[193] = null,
n[194] = s(!1),
n[195] = s(!0),
n[196] = a(e.uint8, e.bin),
n[197] = a(e.uint16, e.bin),
n[198] = a(e.uint32, e.bin),
n[199] = a(e.uint8, e.ext),
n[200] = a(e.uint16, e.ext),
n[201] = a(e.uint32, e.ext),
n[202] = e.float32,
n[203] = e.float64,
n[204] = e.uint8,
n[205] = e.uint16,
n[206] = e.uint32,
n[207] = e.uint64,
n[208] = e.int8,
n[209] = e.int16,
n[210] = e.int32,
n[211] = e.int64,
n[212] = o(1, e.ext),
n[213] = o(2, e.ext),
n[214] = o(4, e.ext),
n[215] = o(8, e.ext),
n[216] = o(16, e.ext),
n[217] = a(e.uint8, e.str),
n[218] = a(e.uint16, e.str),
n[219] = a(e.uint32, e.str),
n[220] = a(e.uint16, e.array),
n[221] = a(e.uint32, e.array),
n[222] = a(e.uint16, e.map),
n[223] = a(e.uint32, e.map),
t = 224; t <= 255; t++
)
n[t] = s(t - 256);
return n;
}
function s(e) {
return function() {
return e;
};
}
function a(e, t) {
return function(n) {
var i = e(n);
return t(n, i);
};
}
function o(e, t) {
return function(n) {
return t(n, e);
};
}
t.getReadToken = function(e) {
var t = i.getReadFormat(e);
return e && e.useraw ?
(function(e) {
var t,
n = r(e).slice();
for (
n[217] = n[196], n[218] = n[197], n[219] = n[198], t = 160; t <= 191; t++
)
n[t] = o(t - 160, e.bin);
return n;
})(t) :
r(t);
};
},
function(e, t, n) {
t.Encoder = s;
var i = n(18),
r = n(10).EncodeBuffer;
function s(e) {
if (!(this instanceof s)) return new s(e);
r.call(this, e);
}
(s.prototype = new r()),
i.mixin(s.prototype),
(s.prototype.encode = function(e) {
this.write(e), this.emit("data", this.read());
}),
(s.prototype.end = function(e) {
arguments.length && this.encode(e), this.flush(), this.emit("end");
});
},
function(e, t, n) {
t.Decoder = s;
var i = n(18),
r = n(16).DecodeBuffer;
function s(e) {
if (!(this instanceof s)) return new s(e);
r.call(this, e);
}
(s.prototype = new r()),
i.mixin(s.prototype),
(s.prototype.decode = function(e) {
arguments.length && this.write(e), this.flush();
}),
(s.prototype.push = function(e) {
this.emit("data", e);
}),
(s.prototype.end = function(e) {
this.decode(e), this.emit("end");
});
},
function(e, t, n) {
n(8), n(2), (t.createCodec = n(1).createCodec);
},
function(e, t, n) {
n(8), n(2), (t.codec = {
preset: n(1).preset
});
},
function(e, t) {
var n,
i,
r = (e.exports = {});
function s() {
throw new Error("setTimeout has not been defined");
}
function a() {
throw new Error("clearTimeout has not been defined");
}
function o(e) {
if (n === setTimeout) return setTimeout(e, 0);
if ((n === s || !n) && setTimeout)
return (n = setTimeout), setTimeout(e, 0);
try {
return n(e, 0);
} catch (t) {
try {
return n.call(null, e, 0);
} catch (t) {
return n.call(this, e, 0);
}
}
}!(function() {
try {
n = "function" == typeof setTimeout ? setTimeout : s;
} catch (e) {
n = s;
}
try {
i = "function" == typeof clearTimeout ? clearTimeout : a;
} catch (e) {
i = a;
}
})();
var c,
l = [],
h = !1,
u = -1;
function f() {
h &&
c &&
((h = !1), c.length ? (l = c.concat(l)) : (u = -1), l.length && d());
}
function d() {
if (!h) {
var e = o(f);
h = !0;
for (var t = l.length; t;) {
for (c = l, l = []; ++u < t;) c && c[u].run();
(u = -1), (t = l.length);
}
(c = null),
(h = !1),
(function(e) {
if (i === clearTimeout) return clearTimeout(e);
if ((i === a || !i) && clearTimeout)
return (i = clearTimeout), clearTimeout(e);
try {
i(e);
} catch (t) {
try {
return i.call(null, e);
} catch (t) {
return i.call(this, e);
}
}
})(e);
}
}
function p(e, t) {
(this.fun = e), (this.array = t);
}
function g() {}
(r.nextTick = function(e) {
var t = new Array(arguments.length - 1);
if (arguments.length > 1)
for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
l.push(new p(e, t)), 1 !== l.length || h || o(d);
}),
(p.prototype.run = function() {
this.fun.apply(null, this.array);
}),
(r.title = "browser"),
(r.browser = !0),
(r.env = {}),
(r.argv = []),
(r.version = ""),
(r.versions = {}),
(r.on = g),
(r.addListener = g),
(r.once = g),
(r.off = g),
(r.removeListener = g),
(r.removeAllListeners = g),
(r.emit = g),
(r.prependListener = g),
(r.prependOnceListener = g),
(r.listeners = function(e) {
return [];
}),
(r.binding = function(e) {
throw new Error("process.binding is not supported");
}),
(r.cwd = function() {
return "/";
}),
(r.chdir = function(e) {
throw new Error("process.chdir is not supported");
}),
(r.umask = function() {
return 0;
});
},
function(e, t) {
var n = Math.abs,
i = (Math.cos, Math.sin, Math.pow, Math.sqrt),
r = ((n = Math.abs), Math.atan2),
s = Math.PI;
(e.exports.randInt = function(e, t) {
return Math.floor(Math.random() * (t - e + 1)) + e;
}),
(e.exports.randFloat = function(e, t) {
return Math.random() * (t - e + 1) + e;
}),
(e.exports.lerp = function(e, t, n) {
return e + (t - e) * n;
}),
(e.exports.decel = function(e, t) {
return (
e > 0 ? (e = Math.max(0, e - t)) : e < 0 && (e = Math.min(0, e + t)),
e
);
}),
(e.exports.getDistance = function(e, t, n, r) {
return i((n -= e) * n + (r -= t) * r);
}),
(e.exports.getDirection = function(e, t, n, i) {
return r(t - i, e - n);
}),
(e.exports.getAngleDist = function(e, t) {
var i = n(t - e) % (2 * s);
return i > s ? 2 * s - i : i;
}),
(e.exports.isNumber = function(e) {
return "number" == typeof e && !isNaN(e) && isFinite(e);
}),
(e.exports.isString = function(e) {
return e && "string" == typeof e;
}),
(e.exports.kFormat = function(e) {
return e > 999 ? (e / 1e3).toFixed(1) + "k" : e;
}),
(e.exports.capitalizeFirst = function(e) {
return e.charAt(0).toUpperCase() + e.slice(1);
}),
(e.exports.fixTo = function(e, t) {
return parseFloat(e.toFixed(t));
}),
(e.exports.sortByPoints = function(e, t) {
return parseFloat(t.points) - parseFloat(e.points);
}),
(e.exports.lineInRect = function(e, t, n, i, r, s, a, o) {
var c = r,
l = a;
if (
(r > a && ((c = a), (l = r)),
l > n && (l = n),
c < e && (c = e),
c > l)
)
return !1;
var h = s,
u = o,
f = a - r;
if (Math.abs(f) > 1e-7) {
var d = (o - s) / f,
p = s - d * r;
(h = d * c + p), (u = d * l + p);
}
if (h > u) {
var g = u;
(u = h), (h = g);
}
return u > i && (u = i), h < t && (h = t), !(h > u);
}),
(e.exports.containsPoint = function(e, t, n) {
var i = e.getBoundingClientRect(),
r = i.left + window.scrollX,
s = i.top + window.scrollY,
a = i.width,
o = i.height;
return t > r && t < r + a && n > s && n < s + o;
}),
(e.exports.mousifyTouchEvent = function(e) {
var t = e.changedTouches[0];
(e.screenX = t.screenX),
(e.screenY = t.screenY),
(e.clientX = t.clientX),
(e.clientY = t.clientY),
(e.pageX = t.pageX),
(e.pageY = t.pageY);
}),
(e.exports.hookTouchEvents = function(t, n) {
var i = !n,
r = !1;
function s(n) {
e.exports.mousifyTouchEvent(n),
window.setUsingTouch(!0),
i && (n.preventDefault(), n.stopPropagation()),
r &&
(t.onclick && t.onclick(n),
t.onmouseout && t.onmouseout(n),
(r = !1));
}
t.addEventListener(
"touchstart",
e.exports.checkTrusted(function(n) {
e.exports.mousifyTouchEvent(n),
window.setUsingTouch(!0),
i && (n.preventDefault(), n.stopPropagation()),
t.onmouseover && t.onmouseover(n),
(r = !0);
}),
!1,
),
t.addEventListener(
"touchmove",
e.exports.checkTrusted(function(n) {
e.exports.mousifyTouchEvent(n),
window.setUsingTouch(!0),
i && (n.preventDefault(), n.stopPropagation()),
e.exports.containsPoint(t, n.pageX, n.pageY) ?
r || (t.onmouseover && t.onmouseover(n), (r = !0)) :
r && (t.onmouseout && t.onmouseout(n), (r = !1));
}),
!1,
),
t.addEventListener("touchend", e.exports.checkTrusted(s), !1),
t.addEventListener("touchcancel", e.exports.checkTrusted(s), !1),
t.addEventListener("touchleave", e.exports.checkTrusted(s), !1);
}),
(e.exports.removeAllChildren = function(e) {
for (; e.hasChildNodes();) e.removeChild(e.lastChild);
}),
e.exports.generateElement = function(t) {
var n = document.createElement(t.tag || "div");
function i(e, i) {
t[e] && (n[i] = t[e])
}
for (var r in i("text", "textContent"),
i("html", "innerHTML"),
i("class", "className"),
t) {
switch (r) {
case "tag":
case "text":
case "html":
case "class":
case "style":
case "hookTouch":
case "parent":
case "children":
continue
}
n[r] = t[r]
}
if (n.onclick && (n.onclick = e.exports.checkTrusted(n.onclick)),
n.onmouseover && (n.onmouseover = e.exports.checkTrusted(n.onmouseover)),
n.onmouseout && (n.onmouseout = e.exports.checkTrusted(n.onmouseout)),
t.style && (n.style.cssText = t.style),
t.hookTouch && e.exports.hookTouchEvents(n),
t.parent && t.parent.appendChild(n),
t.children)
for (var s = 0; s < t.children.length; s++)
n.appendChild(t.children[s]);
return n
}
,
e.exports.eventIsTrusted = function(e) {
return !e || "boolean" != typeof e.isTrusted || e.isTrusted
}
,
e.exports.checkTrusted = function(t) {
return function(n) {
n && n instanceof Event && e.exports.eventIsTrusted(n) && t(n)
}
}
,
e.exports.randomString = function(e) {
for (var t = "", n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", i = 0; i < e; i++)
t += n.charAt(Math.floor(Math.random() * n.length));
return t
}
,
e.exports.countInArray = function(e, t) {
for (var n = 0, i = 0; i < e.length; i++)
e[i] === t && n++;
return n
}
}
, function(e, t) {
e.exports.AnimText = function() {
this.init = function(e, t, n, i, r, s, a) {
this.x = e,
this.y = t,
this.color = a,
this.scale = n,
this.startScale = this.scale,
this.maxScale = 1.5 * n,
this.scaleSpeed = .7,
this.speed = i,
this.life = r,
this.text = s
}
,
this.update = function(e) {
this.life && (this.life -= e,
this.y -= this.speed * e,
this.scale += this.scaleSpeed * e,
this.scale >= this.maxScale ? (this.scale = this.maxScale,
this.scaleSpeed *= -1) : this.scale <= this.startScale && (this.scale = this.startScale,
this.scaleSpeed = 0),
this.life <= 0 && (this.life = 0))
}
,
this.render = function(e, t, n) {
e.fillStyle = this.color,
e.strokeStyle = "black",
e.font = this.scale + "px Hammersmith One",
e.strokeText(this.text, this.x - t, this.y - n),
e.fillText(this.text, this.x - t, this.y - n)
}
}
,
e.exports.TextManager = function() {
this.texts = [],
this.update = function(e, t, n, i) {
t.textBaseline = "middle",
t.textAlign = "center";
for (var r = 0; r < this.texts.length; ++r)
this.texts[r].life && (this.texts[r].update(e),
this.texts[r].render(t, n, i))
}
,
this.showText = function(t, n, i, r, s, a, o) {
for (var c, l = 0; l < this.texts.length; ++l)
if (!this.texts[l].life) {
c = this.texts[l];
break
}
c || (c = new e.exports.AnimText,
this.texts.push(c)),
c.init(t, n, i, r, s, a, o)
}
}
},
function(e, t) {
e.exports = function(e) {
(this.sid = e),
(this.init = function(e, t, n, i, r, s, a) {
(s = s || {}),
(this.sentTo = {}),
(this.gridLocations = []),
(this.active = !0),
(this.doUpdate = s.doUpdate),
(this.x = e),
(this.y = t),
(this.dir = s.id ? (n > Math.PI * 2 || -2 * Math.PI < n ? Math.atan2(Math.sin(n), Math.cos(n)) : n) : n),
(this.xWiggle = 0),
(this.yWiggle = 0),
(this.scale = i),
(this.type = r),
(this.id = s.id),
(this.owner = a),
(this.name = s.name),
(this.isItem = null != this.id),
(this.group = s.group),
(this.health = s.health),
(this.maxHealth = s.health),
(this.healthMov = s.health),
(this.layer = 2),
null != this.group ?
(this.layer = this.group.layer) :
0 == this.type ?
(this.layer = 3) :
2 == this.type ?
(this.layer = 0) :
4 == this.type && (this.layer = -1),
(this.colDiv = s.colDiv || 1),
(this.blocker = s.blocker),
(this.ignoreCollision = s.ignoreCollision),
(this.dontGather = s.dontGather),
(this.hideFromEnemy = s.hideFromEnemy),
(this.friction = s.friction),
(this.projDmg = s.projDmg),
(this.dmg = s.dmg),
(this.pDmg = s.pDmg),
(this.pps = s.pps),
(this.zIndex = s.zIndex || 0),
(this.turnSpeed = s.turnSpeed),
(this.req = s.req),
(this.trap = s.trap),
(this.healCol = s.healCol),
(this.teleport = s.teleport),
(this.boostSpeed = s.boostSpeed),
(this.projectile = s.projectile),
(this.shootRange = s.shootRange),
(this.shootRate = s.shootRate),
(this.shootCount = this.shootRate),
(this.spawnPoint = s.spawnPoint);
}),
(this.changeHealth = function(e, t) {
return (this.health += e), this.health <= 0;
}),
(this.getScale = function(e, t) {
return (
(e = e || 1),
this.scale *
(this.isItem || 2 == this.type || 3 == this.type || 4 == this.type ?
1 :
0.6 * e) *
(t ? 1 : this.colDiv)
);
}),
(this.visibleToPlayer = function(e) {
return (
!this.hideFromEnemy ||
(this.owner &&
(this.owner == e ||
(this.owner.team && e.team == this.owner.team)))
);
}),
this.update = function(e) {
if(this.health != this.healthMov){
this.health < this.healthMov ? (this.healthMov -= 7.5) : (this.healthMov += 7.5);
if(Math.abs(this.health - this.healthMov) < 7.5) this.healthMov = this.health;
};
this.id == 17 && this.shootCount < 2200 && (this.shootCount += e, this.shootCount > 2200 && (this.shootCount = 2200));
this.anim > 0 && (this.anim -= e * (5 / this.maxHealth), this.anim < 0 && (this.anim = 0));
this.active && (this.xWiggle && (this.xWiggle *= Math.pow(.99, e)),
this.yWiggle && (this.yWiggle *= Math.pow(.99, e)),
this.turnSpeed && (this.dir = document.spinIn))
}
};
},
function(e, t) {
e.exports.groups = [{
id: 0,
name: "food",
layer: 0
}, {
id: 1,
name: "walls",
place: !0,
limit: 30,
layer: 0
}, {
id: 2,
name: "spikes",
place: !0,
limit: 15,
layer: 0
}, {
id: 3,
name: "mill",
place: !0,
limit: 7,
layer: 1
}, {
id: 4,
name: "mine",
place: !0,
limit: 1,
layer: 0
}, {
id: 5,
name: "trap",
place: !0,
limit: 6,
layer: -1
}, {
id: 6,
name: "booster",
place: !0,
limit: 12,
layer: -1
}, {
id: 7,
name: "turret",
place: !0,
limit: 2,
layer: 1
}, {
id: 8,
name: "watchtower",
place: !0,
limit: 12,
layer: 1
}, {
id: 9,
name: "buff",
place: !0,
limit: 4,
layer: -1
}, {
id: 10,
name: "spawn",
place: !0,
limit: 1,
layer: -1
}, {
id: 11,
name: "sapling",
place: !0,
limit: 2,
layer: 0
}, {
id: 12,
name: "blocker",
place: !0,
limit: 3,
layer: -1
}, {
id: 13,
name: "teleporter",
place: !0,
limit: 2,
layer: -1
}],
t.projectiles = [{
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 25,
speed: 1.6,
scale: 103,
range: 1e3
}, {
range: 700,
indx: 1,
layer: 1,
dmg: 25,
scale: 20,
speed: 1.5
}, {
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 35,
speed: 2.5,
scale: 103,
range: 1200
}, {
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 30,
speed: 2,
scale: 103,
range: 1200
}, {
indx: 1,
layer: 1,
dmg: 16,
scale: 20,
speed: 1.5
}, {
indx: 0,
layer: 0,
src: "bullet_1",
dmg: 50,
speed: 3.6,
scale: 160,
range: 1400
}],
t.weapons = [{
id: 0,
type: 0,
name: "tool hammer",
desc: "tool for gathering all resources",
src: "hammer_1",
length: 140,
width: 140,
xOff: -3,
yOff: 18,
dmg: 25,
range: 65,
gather: 1,
speed: 300
}, {
id: 1,
type: 0,
age: 2,
name: "hand axe",
desc: "gathers resources at a higher rate",
src: "axe_1",
length: 140,
width: 140,
xOff: 3,
yOff: 24,
dmg: 30,
spdMult: 1,
range: 70,
gather: 2,
speed: 400
}, {
id: 2,
type: 0,
age: 8,
name: "great axe",
desc: "deal more damage and gather more resources",
src: "great_axe_1",
length: 140,
width: 140,
xOff: -8,
yOff: 25,
dmg: 35,
spdMult: 1,
range: 75,
gather: 4,
speed: 400
}, {
id: 3,
type: 0,
age: 2,
name: "short sword",
desc: "increased attack power but slower move speed",
src: "sword_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 46,
dmg: 35,
spdMult: .85,
range: 110,
gather: 1,
speed: 300
}, {
id: 4,
type: 0,
age: 8,
name: "katana",
desc: "greater range and damage",
src: "samurai_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 59,
dmg: 40,
spdMult: .8,
range: 118,
gather: 1,
speed: 300
}, {
id: 5,
type: 0,
age: 2,
name: "polearm",
desc: "long range melee weapon",
src: "spear_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 53,
dmg: 45,
knock: .2,
spdMult: .82,
range: 142,
gather: 1,
speed: 700
}, {
id: 6,
type: 0,
age: 2,
name: "bat",
desc: "fast long range melee weapon",
src: "bat_1",
iPad: 1.3,
length: 110,
width: 180,
xOff: -8,
yOff: 53,
dmg: 20,
knock: .7,
range: 110,
gather: 1,
speed: 300
}, {
id: 7,
type: 0,
age: 2,
name: "daggers",
desc: "really fast short range weapon",
src: "dagger_1",
iPad: .8,
length: 110,
width: 110,
xOff: 18,
yOff: 0,
dmg: 20,
knock: .1,
range: 65,
gather: 1,
hitSlow: .1,
spdMult: 1.13,
speed: 100
}, {
id: 8,
type: 0,
age: 2,
name: "stick",
desc: "great for gathering but very weak",
src: "stick_1",
length: 140,
width: 140,
xOff: 3,
yOff: 24,
dmg: 1,
spdMult: 1,
range: 70,
gather: 7,
speed: 400
}, {
id: 9,
type: 1,
age: 6,
name: "hunting bow",
desc: "bow used for ranged combat and hunting",
src: "bow_1",
req: ["wood", 4],
length: 120,
width: 120,
xOff: -6,
yOff: 0,
projectile: 0,
spdMult: .75,
speed: 600
}, {
id: 10,
type: 1,
age: 6,
name: "great hammer",
desc: "hammer used for destroying structures",
src: "great_hammer_1",
length: 140,
width: 140,
xOff: -9,
yOff: 25,
dmg: 10,
spdMult: .88,
range: 75,
sDmg: 7.5,
gather: 1,
speed: 400
}, {
id: 11,
type: 1,
age: 6,
name: "wooden shield",
desc: "blocks projectiles and reduces melee damage",
src: "shield_1",
length: 120,
width: 120,
shield: .2,
xOff: 6,
yOff: 0,
spdMult: .7
}, {
id: 12,
type: 1,
age: 8,
name: "crossbow",
desc: "deals more damage and has greater range",
src: "crossbow_1",
req: ["wood", 5],
aboveHand: !0,
armS: .75,
length: 120,
width: 120,
xOff: -4,
yOff: 0,
projectile: 2,
spdMult: .7,
speed: 850
}, {
id: 13,
type: 1,
age: 9,
name: "repeater crossbow",
desc: "high firerate crossbow with reduced damage",
src: "crossbow_2",
req: ["wood", 10],
aboveHand: !0,
armS: .75,
length: 120,
width: 120,
xOff: -4,
yOff: 0,
projectile: 3,
spdMult: .7,
speed: 300
}, {
id: 14,
type: 1,
age: 6,
name: "mc grabby",
desc: "steals resources from enemies",
src: "grab_1",
length: 130,
width: 210,
xOff: -8,
yOff: 53,
dmg: 0,
steal: 250,
knock: .2,
spdMult: 1.05,
range: 125,
gather: 0,
speed: 700
}, {
id: 15,
type: 1,
age: 9,
name: "musket",
desc: "slow firerate but high damage and range",
src: "musket_1",
req: ["stone", 10],
aboveHand: !0,
rec: .35,
armS: .6,
hndS: .3,
hndD: 1.6,
length: 205,
width: 205,
xOff: 25,
yOff: 0,
projectile: 5,
hideProjectile: !0,
spdMult: .6,
speed: 1750
}],
e.exports.list = [{
group: e.exports.groups[0],
name: "apple",
desc: "restores 20 health when consumed",
req: ["food", 10],
consume: function(e){
return e.changeHealth(20, e)
},
scale: 22,
holdOffset: 15
}, {
age: 3,
group: e.exports.groups[0],
name: "cookie",
desc: "restores 40 health when consumed",
req: ["food", 15],
consume: function(e){
return e.changeHealth(40, e)
},
scale: 27,
holdOffset: 15
}, {
age: 7,
group: e.exports.groups[0],
name: "cheese",
desc: "restores 30 health and another 50 over 5 seconds",
req: ["food", 25],
consume: function(e){
return !!(e.changeHealth(30, e) || e.health < Infinity) && (e.dmgOverTime.dmg = -10, e.dmgOverTime.doer = e, e.dmgOverTime.time = 5, !0)
},
scale: 27,
holdOffset: 15
}, {
group: e.exports.groups[1],
name: "wood wall",
desc: "provides protection for your village",
req: ["wood", 10],
projDmg: !0,
health: 380,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 3,
group: e.exports.groups[1],
name: "stone wall",
desc: "provides improved protection for your village",
req: ["stone", 25],
health: 900,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[1],
name: "castle wall",
desc: "provides powerful protection for your village",
req: ["stone", 35],
health: 1500,
scale: 52,
holdOffset: 20,
placeOffset: -5
}, {
group: e.exports.groups[2],
name: "spikes",
desc: "damages enemies when they touch them",
req: ["wood", 20, "stone", 5],
health: 400,
dmg: 20,
scale: 49,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 5,
group: e.exports.groups[2],
name: "greater spikes",
desc: "damages enemies when they touch them",
req: ["wood", 30, "stone", 10],
health: 500,
dmg: 35,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 9,
group: e.exports.groups[2],
name: "poison spikes",
desc: "poisons enemies when they touch them",
req: ["wood", 35, "stone", 15],
health: 600,
dmg: 30,
pDmg: 5,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 9,
group: e.exports.groups[2],
name: "spinning spikes",
desc: "damages enemies when they touch them",
req: ["wood", 30, "stone", 20],
health: 500,
dmg: 45,
turnSpeed: .003,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
group: e.exports.groups[3],
name: "windmill",
desc: "generates gold over time",
req: ["wood", 50, "stone", 10],
health: 400,
pps: 1,
turnSpeed: .0016,
spritePadding: 25,
iconLineMult: 12,
scale: 45,
holdOffset: 20,
placeOffset: 5
}, {
age: 5,
group: e.exports.groups[3],
name: "faster windmill",
desc: "generates more gold over time",
req: ["wood", 60, "stone", 20],
health: 500,
pps: 1.5,
turnSpeed: .0025,
spritePadding: 25,
iconLineMult: 12,
scale: 47,
holdOffset: 20,
placeOffset: 5
}, {
age: 8,
group: e.exports.groups[3],
name: "power mill",
desc: "generates more gold over time",
req: ["wood", 100, "stone", 50],
health: 800,
pps: 2,
turnSpeed: .005,
spritePadding: 25,
iconLineMult: 12,
scale: 47,
holdOffset: 20,
placeOffset: 5
}, {
age: 5,
group: e.exports.groups[4],
type: 2,
name: "mine",
desc: "allows you to mine stone",
req: ["wood", 20, "stone", 100],
iconLineMult: 12,
scale: 65,
holdOffset: 20,
placeOffset: 0
}, {
age: 5,
group: e.exports.groups[11],
type: 0,
name: "sapling",
desc: "allows you to farm wood",
req: ["wood", 150],
iconLineMult: 12,
colDiv: .5,
scale: 110,
holdOffset: 50,
placeOffset: -15
}, {
age: 4,
group: e.exports.groups[5],
name: "pit trap",
desc: "pit that traps enemies if they walk over it",
req: ["wood", 10, "stone", 10],
trap: !0,
ignoreCollision: !0,
hideFromEnemy: !0,
health: 500,
colDiv: .2,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 4,
group: e.exports.groups[6],
name: "boost pad",
desc: "provides boost when stepped on",
req: ["stone", 20, "wood", 5],
ignoreCollision: !0,
boostSpeed: 1.5,
health: 150,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[7],
doUpdate: !0,
name: "turret",
desc: "defensive structure that shoots at enemies",
req: ["wood", 200, "stone", 150],
health: 800,
projectile: 1,
shootRange: 700,
shootRate: 2200,
scale: 43,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[8],
name: "platform",
desc: "platform to shoot over walls and cross over water",
req: ["wood", 20],
ignoreCollision: !0,
zIndex: 1,
health: 300,
scale: 43,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[9],
name: "healing pad",
desc: "standing on it will slowly heal you",
req: ["wood", 30, "food", 10],
ignoreCollision: !0,
healCol: 15,
health: 400,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 9,
group: e.exports.groups[10],
name: "spawn pad",
desc: "you will spawn here when you die but it will dissapear",
req: ["wood", 100, "stone", 100],
health: 400,
ignoreCollision: !0,
spawnPoint: !0,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[12],
name: "blocker",
desc: "blocks building in radius",
req: ["wood", 30, "stone", 25],
ignoreCollision: !0,
blocker: 300,
health: 400,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[13],
name: "teleporter",
desc: "teleports you to a random point on the map",
req: ["wood", 60, "stone", 60],
ignoreCollision: !0,
teleport: !0,
health: 200,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}];
for (var n = 0; n < e.exports.list.length; ++n)
(e.exports.list[n].id = n),
e.exports.list[n].pre &&
(e.exports.list[n].pre = n - e.exports.list[n].pre);
},
function(e, t) {
e.exports = {};
},
function(e, t) {
var n = Math.floor,
i = Math.abs,
r = Math.cos,
s = Math.sin,
a = (Math.pow, Math.sqrt);
e.exports = function(e, t, o, c, l, h) {
var u, f;
(this.objects = t), (this.grids = {}), (this.updateObjects = []);
var d = c.mapScale / c.colGrid;
(this.setObjectGrids = function(e) {
for (
var t = Math.min(c.mapScale, Math.max(0, e.x)),
n = Math.min(c.mapScale, Math.max(0, e.y)),
i = 0; i < c.colGrid;
++i
) {
u = i * d;
for (var r = 0; r < c.colGrid; ++r)
(f = r * d),
t + e.scale >= u &&
t - e.scale <= u + d &&
n + e.scale >= f &&
n - e.scale <= f + d &&
(this.grids[i + "_" + r] || (this.grids[i + "_" + r] = []),
this.grids[i + "_" + r].push(e),
e.gridLocations.push(i + "_" + r));
}
}),
(this.removeObjGrid = function(e) {
for (var t, n = 0; n < e.gridLocations.length; ++n)
(t = this.grids[e.gridLocations[n]].indexOf(e)) >= 0 &&
this.grids[e.gridLocations[n]].splice(t, 1);
}),
(this.disableObj = function(e) {
if (((e.active = !1), h)) {
e.owner && e.pps && (e.owner.pps -= e.pps), this.removeObjGrid(e);
var t = this.updateObjects.indexOf(e);
t >= 0 && this.updateObjects.splice(t, 1);
}
}),
(this.hitObj = function(e, t) {
for (var n = 0; n < l.length; ++n)
l[n].active &&
(e.sentTo[l[n].id] &&
(e.active ?
l[n].canSee(e) && h.send(l[n].id, "8", o.fixTo(t, 1), e.sid) :
h.send(l[n].id, "12", e.sid)),
e.active ||
e.owner != l[n] ||
l[n].changeItemCount(e.group.id, -1));
});
var p,
g,
m = [];
(this.getGridArrays = function(e, t, i) {
(u = n(e / d)), (f = n(t / d)), (m.length = 0);
try {
this.grids[u + "_" + f] && m.push(this.grids[u + "_" + f]),
e + i >= (u + 1) * d &&
((p = this.grids[u + 1 + "_" + f]) && m.push(p),
f && t - i <= f * d ?
(p = this.grids[u + 1 + "_" + (f - 1)]) && m.push(p) :
t + i >= (f + 1) * d &&
(p = this.grids[u + 1 + "_" + (f + 1)]) &&
m.push(p)),
u &&
e - i <= u * d &&
((p = this.grids[u - 1 + "_" + f]) && m.push(p),
f && t - i <= f * d ?
(p = this.grids[u - 1 + "_" + (f - 1)]) && m.push(p) :
t + i >= (f + 1) * d &&
(p = this.grids[u - 1 + "_" + (f + 1)]) &&
m.push(p)),
t + i >= (f + 1) * d &&
(p = this.grids[u + "_" + (f + 1)]) &&
m.push(p),
f &&
t - i <= f * d &&
(p = this.grids[u + "_" + (f - 1)]) &&
m.push(p);
} catch (e) {}
return m;
}),
(this.add = function(n, i, r, s, a, o, c, l, u) {
g = null;
for (var f = 0; f < t.length; ++f)
if (t[f].sid == n) {
g = t[f];
break;
}
if (!g)
for (f = 0; f < t.length; ++f)
if (!t[f].active) {
g = t[f];
break;
}
g || ((g = new e(n)), t.push(g)),
l && (g.sid = n),
g.init(i, r, s, a, o, c, u),
true &&
(this.setObjectGrids(g),
g.doUpdate && this.updateObjects.push(g));
}),
(this.disableBySid = function(e) {
for (var n = 0; n < t.length; ++n)
if (t[n].sid == e) {
this.disableObj(t[n]);
break;
}
}),
(this.removeAllItems = function(e, n) {
for (var i = 0; i < t.length; ++i)
t[i].active &&
t[i].owner &&
t[i].owner.sid == e &&
this.disableObj(t[i]);
n && n.broadcast("13", e);
}),
(this.fetchSpawnObj = function(e) {
for (var n = null, i = 0; i < t.length; ++i)
if ((g = t[i]).active && g.owner && g.owner.sid == e && g.spawnPoint) {
n = [g.x, g.y],
this.disableObj(g),
h.broadcast("12", g.sid),
g.owner && g.owner.changeItemCount(g.group.id, -1);
break
}
return n
}),
(this.checkItemLocation = function(e, n, i, r, s, a, l) {
for (var h = 0; h < t.length; ++h) {
var u = t[h].blocker ? t[h].blocker : t[h].getScale(r, t[h].isItem);
if (t[h].active && o.getDistance(e, n, t[h].x, t[h].y) < i + u)
return !1;
}
return !(
!a &&
18 != s &&
n >= c.mapScale / 2 - c.riverWidth / 2 &&
n <= c.mapScale / 2 + c.riverWidth / 2
);
}),
(this.addProjectile = function(e, t, n, i, r) {
for (
var s, a = items.projectiles[r], c = 0; c < projectiles.length;
++c
)
if (!projectiles[c].active) {
s = projectiles[c];
break;
}
s || ((s = new Projectile(l, o)), projectiles.push(s)),
s.init(r, e, t, n, a.speed, i, a.scale);
}),
(this.checkCollision = function(e, t, n) {
n = n || 1;
var l = e.x - t.x,
h = e.y - t.y,
u = e.scale + t.scale;
if (i(l) <= u || i(h) <= u) {
u = e.scale + (t.getScale ? t.getScale() : t.scale);
var f = a(l * l + h * h) - u;
if (f <= 0) {
if (t.ignoreCollision)
!t.trap ||
e.noTrap ||
t.owner == e ||
(t.owner && t.owner.team && t.owner.team == e.team) ?
t.boostSpeed ?
((e.xVel +=
n * t.boostSpeed * (t.weightM || 1) * r(t.dir)),
(e.yVel +=
n * t.boostSpeed * (t.weightM || 1) * s(t.dir))) :
t.healCol ?
(e.healCol = t.healCol) :
t.teleport &&
((e.x = o.randInt(0, c.mapScale)),
(e.y = o.randInt(0, c.mapScale))) :
((e.lockMove = !0), (t.hideFromEnemy = !1));
else {
var d = o.getDirection(e.x, e.y, t.x, t.y);
if (
(o.getDistance(e.x, e.y, t.x, t.y),
t.isPlayer ?
((f = (-1 * f) / 2),
(e.x += f * r(d)),
(e.y += f * s(d)),
(t.x -= f * r(d)),
(t.y -= f * s(d))) :
((e.x = t.x + u * r(d)),
(e.y = t.y + u * s(d)),
(e.xVel *= 0.75),
(e.yVel *= 0.75)),
t.dmg &&
t.owner != e &&
(!t.owner || !t.owner.team || t.owner.team != e.team))
) {
e.changeHealth(-t.dmg, t.owner, t);
var p = 1.5 * (t.weightM || 1);
(e.xVel += p * r(d)),
(e.yVel += p * s(d)),
!t.pDmg ||
(e.skin && e.skin.poisonRes) ||
((e.dmgOverTime.dmg = t.pDmg),
(e.dmgOverTime.time = 5),
(e.dmgOverTime.doer = t.owner)),
e.colDmg &&
t.health &&
(t.changeHealth(-e.colDmg) && this.disableObj(t),
this.hitObj(t, o.getDirection(e.x, e.y, t.x, t.y)));
}
}
return t.zIndex > e.zIndex && (e.zIndex = t.zIndex), !0;
}
}
return !1;
});
};
},
function(e, t, n) {
var i = new(n(49))();
i.addWords(
"jew",
"black",
"baby",
"child",
"white",
"porn",
"pedo",
"trump",
"clinton",
"hitler",
"nazi",
"gay",
"pride",
"sex",
"pleasure",
"touch",
"poo",
"kids",
"rape",
"white power",
"nigga",
"nig nog",
"doggy",
"rapist",
"boner",
"nigger",
"nigg",
"finger",
"nogger",
"nagger",
"nig",
"fag",
"gai",
"pole",
"stripper",
"penis",
"vagina",
"pussy",
"nazi",
"hitler",
"stalin",
"burn",
"chamber",
"cock",
"peen",
"dick",
"spick",
"nieger",
"die",
"satan",
"n|ig",
"nlg",
"cunt",
"c0ck",
"fag",
"lick",
"condom",
"anal",
"shit",
"phile",
"little",
"kids",
"free KR",
"tiny",
"sidney",
"ass",
"kill",
".io",
"(dot)",
"[dot]",
"mini",
"whiore",
"whore",
"faggot",
"github",
"1337",
"666",
"satan",
"senpa",
"discord",
"d1scord",
"mistik",
".io",
"senpa.io",
"sidney",
"sid",
"senpaio",
"vries",
"asa",
);
var r = Math.abs,
s = Math.cos,
a = Math.sin,
o = Math.pow,
c = Math.sqrt;
e.exports = function(e, t, n, l, h, u, f, d, p, g, m, y, k, v) {
(this.id = e),
(this.sid = t),
(this.tmpScore = 0),
(this.team = null),
(this.skinIndex = 0),
(this.tailIndex = 0),
(this.hitTime = 0),
(this.tails = {});
for (var w = 0; w < m.length; ++w)
m[w].price <= 0 && (this.tails[m[w].id] = 1);
for (this.skins = {}, w = 0; w < g.length; ++w)
g[w].price <= 0 && (this.skins[g[w].id] = 1);
(this.points = 0),
(this.dt = 0),
(this.hidden = !1),
(this.itemCounts = {}),
(this.isPlayer = !0),
(this.pps = 0),
(this.moveDir = void 0),
(this.skinRot = 0),
(this.lastPing = 0),
(this.iconIndex = 0),
(this.skinColor = 0),
(this.reloads = [{count: Math.ceil(300 / 111), max: Math.ceil(300 / 111), id: 0, rarity: 0}, {count: Math.ceil(1500 / 111), max: Math.ceil(1500 / 111), id: 15, rarity: 0}, 23]),
(this.spawn = function(e) {
(this.active = !0),
(this.alive = !0),
(this.lockMove = !1),
(this.lockDir = !1),
(this.minimapCounter = 0),
(this.chatCountdown = 0),
(this.shameCount = 0),
(this.shameTimer = 0),
(this.sentTo = {}),
(this.gathering = 0),
(this.autoGather = 0),
(this.animTime = 0),
(this.animSpeed = 0),
(this.mouseState = 0),
(this.buildIndex = -1),
(this.healthMov = 100),
(this.shameMov = 8),
(this.weaponIndex = 0),
(this.dmgOverTime = {}),
(this.noMovTimer = 0),
(this.maxXP = 300),
(this.XP = 0),
(this.age = 1),
(this.kills = 0),
(this.upgrAge = 2),
(this.upgradePoints = 0),
(this.x = 0),
(this.y = 0),
(this.zIndex = 0),
(this.xVel = 0),
(this.yVel = 0),
(this.slowMult = 1),
(this.dir = 0),
(this.dirPlus = 0),
(this.targetDir = 0),
(this.targetAngle = 0),
(this.maxHealth = 100),
(this.health = this.maxHealth),
(this.scale = n.playerScale),
(this.speed = n.playerSpeed),
this.resetMoveDir(),
this.resetResources(e),
(this.items = [0, 3, 6, 10]),
(this.weapons = [0]),
(this.shootCount = 0),
(this.weaponXP = []),
(this.reloads = [{count: Math.ceil(300 / 111), max: Math.ceil(300 / 111), id: 0, rarity: 0, done: true}, {count: Math.ceil(1500 / 111), max: Math.ceil(1500 / 111), id: 15, rarity: 0, done: true}, 23]);
}),
(this.resetMoveDir = function() {
this.moveDir = void 0;
}),
(this.resetResources = function(e) {
for (var t = 0; t < n.resourceTypes.length; ++t)
this[n.resourceTypes[t]] = e ? 100 : 0;
}),
(this.addItem = function(e) {
var t = p.list[e];
if (t) {
for (var n = 0; n < this.items.length; ++n)
if (p.list[this.items[n]].group == t.group)
return (
this.buildIndex == this.items[n] && (this.buildIndex = e),
(this.items[n] = e),
!0
);
return this.items.push(e), !0;
}
return !1;
}),
(this.setUserData = function(e) {
if (e) {
this.name = "a-ware";
var t = e.name + "",
r = !1,
s = (t = (t = (t = (t = t.slice(0, n.maxNameLength)).replace(
/[^\w:\(\)\/? -]+/gim,
" ",
)).replace(/[^\x00-\x7F]/g, " ")).trim())
.toLowerCase()
.replace(/\s/g, "")
.replace(/1/g, "i")
.replace(/0/g, "o")
.replace(/5/g, "s");
for (var a of i.list)
if (-1 != s.indexOf(a)) {
r = !0;
break;
}
t.length > 0 && !r && (this.name = t),
(this.skinColor = 0),
n.skinColors[e.skin] && (this.skinColor = e.skin);
}
}),
(this.getData = function() {
return [
this.id,
this.sid,
this.name,
l.fixTo(this.x, 2),
l.fixTo(this.y, 2),
l.fixTo(this.dir, 3),
this.health,
this.maxHealth,
this.scale,
this.skinColor,
];
}),
(this.setData = function(e) {
(this.id = e[0]),
(this.sid = e[1]),
(this.name = e[2]),
(this.x = e[3]),
(this.y = e[4]),
(this.dir = e[5]),
(this.health = e[6]),
(this.maxHealth = e[7]),
(this.scale = e[8]),
(this.skinColor = e[9]);
});
var b = 0;
(this.update = function(e) {
if (this.alive) {
if(this.health != this.healthMov){
this.health < this.healthMov ? (this.healthMov -= 3) : (this.healthMov += 3);
if(Math.abs(this.health - this.healthMov) < 3) this.healthMov = this.health;
};
if(this.shameCount != this.shameMov) this.shameCount < this.shameMov ? (this.shameMov -= .1) : (this.shameMov += .1), Math.abs(this.shameCount - this.shameMov) < .1 && (this.shameMov = this.shameCount);
};
}),
(this.onTick = function(e) {
let Reload = this.reloads[Number(this.weaponIndex > 8)]; /* Secondary / Primary */
let Weapon = p.weapons[this.weaponIndex];
if(Reload.id != Weapon.id) {
Reload.id = Weapon.id;
Reload.max = Weapon.speed ? (Math.ceil(Weapon.speed / 111)) : 0;
Reload.count = Reload.max;
Reload.done = true;
Reload.rarity = this.weaponVariant;
};
if(this.weaponVariant != Reload.rarity) Reload.rarity = this.weaponVariant;
if(Reload.count < Reload.max && this.buildIndex == -1){
Reload.count += 1;
Reload.done = Reload.count == Reload.max;
};
this.reloads[Number(this.weaponIndex > 8)] = Reload;
if(this.reloads[2] < 23) this.reloads[2]++;
}),
(this.addWeaponXP = function(e) {
this.weaponXP[this.weaponIndex] ||
(this.weaponXP[this.weaponIndex] = 0),
(this.weaponXP[this.weaponIndex] += e);
}),
(this.earnXP = function(e) {
this.age < n.maxAge &&
((this.XP += e),
this.XP >= this.maxXP ?
(this.age < n.maxAge ?
(this.age++, (this.XP = 0), (this.maxXP *= 1.2)) :
(this.XP = this.maxXP),
this.upgradePoints++,
y.send(this.id, "16", this.upgradePoints, this.upgrAge),
y.send(
this.id,
"15",
this.XP,
l.fixTo(this.maxXP, 1),
this.age,
)) :
y.send(this.id, "15", this.XP));
}),
(this.changeHealth = function(e, t) {
if (e > 0 && this.health >= this.maxHealth) return !1;
e < 0 && this.skin && (e *= this.skin.dmgMult || 1),
e < 0 && this.tail && (e *= this.tail.dmgMult || 1),
e < 0 && (this.hitTime = Date.now()),
(this.health += e),
this.health > this.maxHealth &&
((e -= this.health - this.maxHealth),
(this.health = this.maxHealth)),
this.health <= 0 && this.kill(t);
for (var n = 0; n < f.length; ++n)
this.sentTo[f[n].id] &&
y.send(f[n].id, "h", this.sid, Math.round(this.health));
return (
!t ||
!t.canSee(this) ||
(t == this && e < 0) ||
y.send(
t.id,
"t",
Math.round(this.x),
Math.round(this.y),
Math.round(-e),
1,
),
!0
);
}),
(this.kill = function(e) {
e &&
e.alive &&
(e.kills++,
e.skin && e.skin.goldSteal ?
k(e, Math.round(this.points / 2)) :
k(
e,
Math.round(
100 *
this.age *
(e.skin && e.skin.kScrM ? e.skin.kScrM : 1),
),
),
y.send(e.id, "9", "kills", e.kills, 1)),
(this.alive = !1),
y.send(this.id, "11"),
v();
}),
(this.addResource = function(e, t, i) {
!i && t > 0 && this.addWeaponXP(t),
3 == e ?
k(this, t, !0) :
((this[n.resourceTypes[e]] += t),
y.send(
this.id,
"9",
n.resourceTypes[e],
this[n.resourceTypes[e]],
1,
));
}),
(this.changeItemCount = function(e, t) {
(this.itemCounts[e] = this.itemCounts[e] || 0),
(this.itemCounts[e] += t),
y.send(this.id, "14", e, this.itemCounts[e]);
}),
(this.buildItem = function() {
if (this.hitTime) {
let o = Wish - this.hitTime;
this.hitTime = 0;
o < 2 ? (this.shameCount++,
this.shameCount >= 8 && (this.shameTimer = 3e4, this.shameCount = 0)) : (this.shameCount = Math.max(0, this.shameCount - 2))
}
}),
(this.hasRes = function(e, t) {
for (var n = 0; n < e.req.length;) {
if (this[e.req[n]] < Math.round(e.req[n + 1] * (t || 1))) return !1;
n += 2;
}
return !0;
}),
(this.useRes = function(e, t) {
if (!n.inSandbox)
for (var i = 0; i < e.req.length;)
this.addResource(
n.resourceTypes.indexOf(e.req[i]),
-Math.round(e.req[i + 1] * (t || 1)),
),
(i += 2);
}),
(this.canBuild = function(e) {
return (
!!n.inSandbox ||
(!(e.group.limit && this.itemCounts[e.group.id] >= e.group.limit) &&
this.hasRes(e))
);
}),
this.gather = function(oe, ot, on){
this.reloads[ot].count = 0;
this.reloads[ot].done = false;
this.noMovTimer = 0, this.slowMult -= on.hitSlow ||
.3, this.slowMult < 0 && (this.slowMult = 0);
for(var e, t, i, r = n.fetchVariant(this), o = r.poison, c = r.val, h = {},
g = u.getGridArrays(this.x, this.y, on.range),
m = 0; m < g.length; ++m)
for(var y = 0; y < g[m].length; ++y)
if ((t = g[m][y]).active && !t.dontGather && !h[t.sid] && Date.now() - t.hitTime <= 100 && l.getDistance(this.x, this.y, t.x, t.y) - t.scale - 35 <= p.weapons[this.weaponIndex].range){
e = l.getDirection(t.x, t.y, this.x, this.y);
if(l.getAngleDist(e, this.d2) <= n.gatherAngle) {
h[t.sid] = 1;
if (t.health) {
if (t.changeHealth(-on.dmg * c * (oe == 10 ? 7.5 : 1) * (this.skinIndex == 40 ? 3.3 : 1), this)) {
null;
}
}
}
}
};
var x = 0,
S = 0;
(this.animate = function(e) {
this.animTime > 0 &&
((this.animTime -= e),
this.animTime <= 0 ?
((this.animTime = 0), (this.dirPlus = 0), (x = 0), (S = 0)) :
0 == S ?
((x += e / (this.animSpeed * n.hitReturnRatio)),
(this.dirPlus = l.lerp(0, this.targetAngle, Math.min(1, x))),
x >= 1 && ((x = 1), (S = 1))) :
((x -= e / (this.animSpeed * (1 - n.hitReturnRatio))),
(this.dirPlus = l.lerp(0, this.targetAngle, Math.max(0, x)))));
}),
(this.startAnim = function(e, t) {
(this.animTime = this.animSpeed = p.weapons[t].speed),
(this.targetAngle = e ? -n.hitAngle : -Math.PI),
(x = 0),
(S = 0);
}),
(this.canSee = function(e) {
if (!e) return !1;
if (e.skin && e.skin.invisTimer && e.noMovTimer >= e.skin.invisTimer)
return !1;
var t = r(e.x - this.x) - e.scale,
i = r(e.y - this.y) - e.scale;
return (
t <= (n.maxScreenWidth / 2) * 1.3 &&
i <= (n.maxScreenHeight / 2) * 1.3
);
});
};
},
function(e, t, n) {
const i = n(50).words,
r = n(51).array;
e.exports = class {
constructor(e = {}) {
Object.assign(this, {
list: (e.emptyList && []) ||
Array.prototype.concat.apply(i, [r, e.list || []]),
exclude: e.exclude || [],
placeHolder: e.placeHolder || "*",
regex: e.regex || /[^a-zA-Z0-9|\$|\@]|\^/g,
replaceRegex: e.replaceRegex || /\w/g,
});
}
isProfane(e) {
return (
this.list.filter((t) => {
const n = new RegExp(`\\b${t.replace(/(\W)/g, "\\$1")}\\b`, "gi");
return !this.exclude.includes(t.toLowerCase()) && n.test(e);
}).length > 0 || !1
);
}
replaceWord(e) {
return e
.replace(this.regex, "")
.replace(this.replaceRegex, this.placeHolder);
}
clean(e) {
return e
.split(/\b/)
.map((e) => (this.isProfane(e) ? this.replaceWord(e) : e))
.join("");
}
addWords() {
let e = Array.from(arguments);
this.list.push(...e),
e
.map((e) => e.toLowerCase())
.forEach((e) => {
this.exclude.includes(e) &&
this.exclude.splice(this.exclude.indexOf(e), 1);
});
}
removeWords() {
this.exclude.push(...Array.from(arguments).map((e) => e.toLowerCase()));
}
};
},
function(e) {
e.exports = {
words: [
"ahole",
"anus",
"ash0le",
"ash0les",
"asholes",
"ass",
"Ass Monkey",
"Assface",
"assh0le",
"assh0lez",
"asshole",
"assholes",
"assholz",
"asswipe",
"azzhole",
"bassterds",
"bastard",
"bastards",
"bastardz",
"basterds",
"basterdz",
"Biatch",
"bitch",
"bitches",
"Blow Job",
"boffing",
"butthole",
"buttwipe",
"c0ck",
"c0cks",
"c0k",
"Carpet Muncher",
"cawk",
"cawks",
"Clit",
"cnts",
"cntz",
"cock",
"cockhead",
"cock-head",
"cocks",
"CockSucker",
"cock-sucker",
"crap",
"cum",
"cunt",
"cunts",
"cuntz",
"dick",
"dild0",
"dild0s",
"dildo",
"dildos",
"dilld0",
"dilld0s",
"dominatricks",
"dominatrics",
"dominatrix",
"dyke",
"enema",
"f u c k",
"f u c k e r",
"fag",
"fag1t",
"faget",
"fagg1t",
"faggit",
"faggot",
"fagg0t",
"fagit",
"fags",
"fagz",
"faig",
"faigs",
"fart",
"flipping the bird",
"fuck",
"fucker",
"fuckin",
"fucking",
"fucks",
"Fudge Packer",
"fuk",
"Fukah",
"Fuken",
"fuker",
"Fukin",
"Fukk",
"Fukkah",
"Fukken",
"Fukker",
"Fukkin",
"g00k",
"God-damned",
"h00r",
"h0ar",
"h0re",
"hells",
"hoar",
"hoor",
"hoore",
"jackoff",
"jap",
"japs",
"jerk-off",
"jisim",
"jiss",
"jizm",
"jizz",
"knob",
"knobs",
"knobz",
"kunt",
"kunts",
"kuntz",
"Lezzian",
"Lipshits",
"Lipshitz",
"masochist",
"masokist",
"massterbait",
"masstrbait",
"masstrbate",
"masterbaiter",
"masterbate",
"masterbates",
"Motha Fucker",
"Motha Fuker",
"Motha Fukkah",
"Motha Fukker",
"Mother Fucker",
"Mother Fukah",
"Mother Fuker",
"Mother Fukkah",
"Mother Fukker",
"mother-fucker",
"Mutha Fucker",
"Mutha Fukah",
"Mutha Fuker",
"Mutha Fukkah",
"Mutha Fukker",
"n1gr",
"nastt",
"nigger;",
"nigur;",
"niiger;",
"niigr;",
"orafis",
"orgasim;",
"orgasm",
"orgasum",
"oriface",
"orifice",
"orifiss",
"packi",
"packie",
"packy",
"paki",
"pakie",
"paky",
"pecker",
"peeenus",
"peeenusss",
"peenus",
"peinus",
"pen1s",
"penas",
"penis",
"penis-breath",
"penus",
"penuus",
"Phuc",
"Phuck",
"Phuk",
"Phuker",
"Phukker",
"polac",
"polack",
"polak",
"Poonani",
"pr1c",
"pr1ck",
"pr1k",
"pusse",
"pussee",
"pussy",
"puuke",
"puuker",
"queer",
"queers",
"queerz",
"qweers",
"qweerz",
"qweir",
"recktum",
"rectum",
"retard",
"sadist",
"scank",
"schlong",
"screwing",
"semen",
"sex",
"sexy",
"Sh!t",
"sh1t",
"sh1ter",
"sh1ts",
"sh1tter",
"sh1tz",
"shit",
"shits",
"shitter",
"Shitty",
"Shity",
"shitz",
"Shyt",
"Shyte",
"Shytty",
"Shyty",
"skanck",
"skank",
"skankee",
"skankey",
"skanks",
"Skanky",
"slag",
"slut",
"sluts",
"Slutty",
"slutz",
"son-of-a-bitch",
"tit",
"turd",
"va1jina",
"vag1na",
"vagiina",
"vagina",
"vaj1na",
"vajina",
"vullva",
"vulva",
"w0p",
"wh00r",
"wh0re",
"whore",
"xrated",
"xxx",
"b!+ch",
"bitch",
"blowjob",
"clit",
"arschloch",
"fuck",
"shit",
"ass",
"asshole",
"b!tch",
"b17ch",
"b1tch",
"bastard",
"bi+ch",
"boiolas",
"buceta",
"c0ck",
"cawk",
"chink",
"cipa",
"clits",
"cock",
"cum",
"cunt",
"dildo",
"dirsa",
"ejakulate",
"fatass",
"fcuk",
"fuk",
"fux0r",
"hoer",
"hore",
"jism",
"kawk",
"l3itch",
"l3i+ch",
"lesbian",
"masturbate",
"masterbat*",
"masterbat3",
"motherfucker",
"s.o.b.",
"mofo",
"nazi",
"nigga",
"nigger",
"nutsack",
"phuck",
"pimpis",
"pusse",
"pussy",
"scrotum",
"sh!t",
"shemale",
"shi+",
"sh!+",
"slut",
"smut",
"teets",
"tits",
"boobs",
"b00bs",
"teez",
"testical",
"testicle",
"titt",
"w00se",
"jackoff",
"wank",
"whoar",
"whore",
"*damn",
"*dyke",
"*fuck*",
"*shit*",
"@$$",
"amcik",
"andskota",
"arse*",
"assrammer",
"ayir",
"bi7ch",
"bitch*",
"bollock*",
"breasts",
"butt-pirate",
"cabron",
"cazzo",
"chraa",
"chuj",
"Cock*",
"cunt*",
"d4mn",
"daygo",
"dego",
"dick*",
"dike*",
"dupa",
"dziwka",
"ejackulate",
"Ekrem*",
"Ekto",
"enculer",
"faen",
"fag*",
"fanculo",
"fanny",
"feces",
"feg",
"Felcher",
"ficken",
"fitt*",
"Flikker",
"foreskin",
"Fotze",
"Fu(*",
"fuk*",
"futkretzn",
"gook",
"guiena",
"h0r",
"h4x0r",
"hell",
"helvete",
"hoer*",
"honkey",
"Huevon",
"hui",
"injun",
"jizz",
"kanker*",
"kike",
"klootzak",
"kraut",
"knulle",
"kuk",
"kuksuger",
"Kurac",
"kurwa",
"kusi*",
"kyrpa*",
"lesbo",
"mamhoon",
"masturbat*",
"merd*",
"mibun",
"monkleigh",
"mouliewop",
"muie",
"mulkku",
"muschi",
"nazis",
"nepesaurio",
"nigger*",
"orospu",
"paska*",
"perse",
"picka",
"pierdol*",
"pillu*",
"pimmel",
"piss*",
"pizda",
"poontsee",
"poop",
"porn",
"p0rn",
"pr0n",
"preteen",
"pula",
"pule",
"puta",
"puto",
"qahbeh",
"queef*",
"rautenberg",
"schaffer",
"scheiss*",
"schlampe",
"schmuck",
"screw",
"sh!t*",
"sharmuta",
"sharmute",
"shipal",
"shiz",
"skribz",
"skurwysyn",
"sphencter",
"spic",
"spierdalaj",
"splooge",
"suka",
"b00b*",
"testicle*",
"titt*",
"twat",
"vittu",
"wank*",
"wetback*",
"wichser",
"wop*",
"yed",
"zabourah",
],
};
},
function(e, t, n) {
e.exports = {
object: n(52),
array: n(53),
regex: n(54)
};
},
function(e, t) {
e.exports = {
"4r5e": 1,
"5h1t": 1,
"5hit": 1,
a55: 1,
anal: 1,
anus: 1,
ar5e: 1,
arrse: 1,
arse: 1,
ass: 1,
"ass-fucker": 1,
asses: 1,
assfucker: 1,
assfukka: 1,
asshole: 1,
assholes: 1,
asswhole: 1,
a_s_s: 1,
"b!tch": 1,
b00bs: 1,
b17ch: 1,
b1tch: 1,
ballbag: 1,
balls: 1,
ballsack: 1,
bastard: 1,
beastial: 1,
beastiality: 1,
bellend: 1,
bestial: 1,
bestiality: 1,
"bi+ch": 1,
biatch: 1,
bitch: 1,
bitcher: 1,
bitchers: 1,
bitches: 1,
bitchin: 1,
bitching: 1,
bloody: 1,
"blow job": 1,
blowjob: 1,
blowjobs: 1,
boiolas: 1,
bollock: 1,
bollok: 1,
boner: 1,
boob: 1,
boobs: 1,
booobs: 1,
boooobs: 1,
booooobs: 1,
booooooobs: 1,
breasts: 1,
buceta: 1,
bugger: 1,
bum: 1,
"bunny fucker": 1,
butt: 1,
butthole: 1,
buttmuch: 1,
buttplug: 1,
c0ck: 1,
c0cksucker: 1,
"carpet muncher": 1,
cawk: 1,
chink: 1,
cipa: 1,
cl1t: 1,
clit: 1,
clitoris: 1,
clits: 1,
cnut: 1,
cock: 1,
"cock-sucker": 1,
cockface: 1,
cockhead: 1,
cockmunch: 1,
cockmuncher: 1,
cocks: 1,
cocksuck: 1,
cocksucked: 1,
cocksucker: 1,
cocksucking: 1,
cocksucks: 1,
cocksuka: 1,
cocksukka: 1,
cok: 1,
cokmuncher: 1,
coksucka: 1,
coon: 1,
cox: 1,
crap: 1,
cum: 1,
cummer: 1,
cumming: 1,
cums: 1,
cumshot: 1,
cunilingus: 1,
cunillingus: 1,
cunnilingus: 1,
cunt: 1,
cuntlick: 1,
cuntlicker: 1,
cuntlicking: 1,
cunts: 1,
cyalis: 1,
cyberfuc: 1,
cyberfuck: 1,
cyberfucked: 1,
cyberfucker: 1,
cyberfuckers: 1,
cyberfucking: 1,
d1ck: 1,
damn: 1,
dick: 1,
dickhead: 1,
dildo: 1,
dildos: 1,
dink: 1,
dinks: 1,
dirsa: 1,
dlck: 1,
"dog-fucker": 1,
doggin: 1,
dogging: 1,
donkeyribber: 1,
doosh: 1,
duche: 1,
dyke: 1,
ejaculate: 1,
ejaculated: 1,
ejaculates: 1,
ejaculating: 1,
ejaculatings: 1,
ejaculation: 1,
ejakulate: 1,
"f u c k": 1,
"f u c k e r": 1,
f4nny: 1,
fag: 1,
fagging: 1,
faggitt: 1,
faggot: 1,
faggs: 1,
fagot: 1,
fagots: 1,
fags: 1,
fanny: 1,
fannyflaps: 1,
fannyfucker: 1,
fanyy: 1,
fatass: 1,
fcuk: 1,
fcuker: 1,
fcuking: 1,
feck: 1,
fecker: 1,
felching: 1,
fellate: 1,
fellatio: 1,
fingerfuck: 1,
fingerfucked: 1,
fingerfucker: 1,
fingerfuckers: 1,
fingerfucking: 1,
fingerfucks: 1,
fistfuck: 1,
fistfucked: 1,
fistfucker: 1,
fistfuckers: 1,
fistfucking: 1,
fistfuckings: 1,
fistfucks: 1,
flange: 1,
fook: 1,
fooker: 1,
fuck: 1,
fucka: 1,
fucked: 1,
fucker: 1,
fuckers: 1,
fuckhead: 1,
fuckheads: 1,
fuckin: 1,
fucking: 1,
fuckings: 1,
fuckingshitmotherfucker: 1,
fuckme: 1,
fucks: 1,
fuckwhit: 1,
fuckwit: 1,
"fudge packer": 1,
fudgepacker: 1,
fuk: 1,
fuker: 1,
fukker: 1,
fukkin: 1,
fuks: 1,
fukwhit: 1,
fukwit: 1,
fux: 1,
fux0r: 1,
f_u_c_k: 1,
gangbang: 1,
gangbanged: 1,
gangbangs: 1,
gaylord: 1,
gaysex: 1,
goatse: 1,
God: 1,
"god-dam": 1,
"god-damned": 1,
goddamn: 1,
goddamned: 1,
hardcoresex: 1,
hell: 1,
heshe: 1,
hoar: 1,
hoare: 1,
hoer: 1,
homo: 1,
hore: 1,
horniest: 1,
horny: 1,
hotsex: 1,
"jack-off": 1,
jackoff: 1,
jap: 1,
"jerk-off": 1,
jism: 1,
jiz: 1,
jizm: 1,
jizz: 1,
kawk: 1,
knob: 1,
knobead: 1,
knobed: 1,
knobend: 1,
knobhead: 1,
knobjocky: 1,
knobjokey: 1,
kock: 1,
kondum: 1,
kondums: 1,
kum: 1,
kummer: 1,
kumming: 1,
kums: 1,
kunilingus: 1,
"l3i+ch": 1,
l3itch: 1,
labia: 1,
lust: 1,
lusting: 1,
m0f0: 1,
m0fo: 1,
m45terbate: 1,
ma5terb8: 1,
ma5terbate: 1,
masochist: 1,
"master-bate": 1,
masterb8: 1,
"masterbat*": 1,
masterbat3: 1,
masterbate: 1,
masterbation: 1,
masterbations: 1,
masturbate: 1,
"mo-fo": 1,
mof0: 1,
mofo: 1,
mothafuck: 1,
mothafucka: 1,
mothafuckas: 1,
mothafuckaz: 1,
mothafucked: 1,
mothafucker: 1,
mothafuckers: 1,
mothafuckin: 1,
mothafucking: 1,
mothafuckings: 1,
mothafucks: 1,
"mother fucker": 1,
motherfuck: 1,
motherfucked: 1,
motherfucker: 1,
motherfuckers: 1,
motherfuckin: 1,
motherfucking: 1,
motherfuckings: 1,
motherfuckka: 1,
motherfucks: 1,
muff: 1,
mutha: 1,
muthafecker: 1,
muthafuckker: 1,
muther: 1,
mutherfucker: 1,
n1gga: 1,
n1gger: 1,
nazi: 1,
nigg3r: 1,
nigg4h: 1,
nigga: 1,
niggah: 1,
niggas: 1,
niggaz: 1,
nigger: 1,
niggers: 1,
nob: 1,
"nob jokey": 1,
nobhead: 1,
nobjocky: 1,
nobjokey: 1,
numbnuts: 1,
nutsack: 1,
orgasim: 1,
orgasims: 1,
orgasm: 1,
orgasms: 1,
p0rn: 1,
pawn: 1,
pecker: 1,
penis: 1,
penisfucker: 1,
phonesex: 1,
phuck: 1,
phuk: 1,
phuked: 1,
phuking: 1,
phukked: 1,
phukking: 1,
phuks: 1,
phuq: 1,
pigfucker: 1,
pimpis: 1,
piss: 1,
pissed: 1,
pisser: 1,
pissers: 1,
pisses: 1,
pissflaps: 1,
pissin: 1,
pissing: 1,
pissoff: 1,
poop: 1,
porn: 1,
porno: 1,
pornography: 1,
pornos: 1,
prick: 1,
pricks: 1,
pron: 1,
pube: 1,
pusse: 1,
pussi: 1,
pussies: 1,
pussy: 1,
pussys: 1,
rectum: 1,
retard: 1,
rimjaw: 1,
rimming: 1,
"s hit": 1,
"s.o.b.": 1,
sadist: 1,
schlong: 1,
screwing: 1,
scroat: 1,
scrote: 1,
scrotum: 1,
semen: 1,
sex: 1,
"sh!+": 1,
"sh!t": 1,
sh1t: 1,
shag: 1,
shagger: 1,
shaggin: 1,
shagging: 1,
shemale: 1,
"shi+": 1,
shit: 1,
shitdick: 1,
shite: 1,
shited: 1,
shitey: 1,
shitfuck: 1,
shitfull: 1,
shithead: 1,
shiting: 1,
shitings: 1,
shits: 1,
shitted: 1,
shitter: 1,
shitters: 1,
shitting: 1,
shittings: 1,
shitty: 1,
skank: 1,
slut: 1,
sluts: 1,
smegma: 1,
smut: 1,
snatch: 1,
"son-of-a-bitch": 1,
spac: 1,
spunk: 1,
s_h_i_t: 1,
t1tt1e5: 1,
t1tties: 1,
teets: 1,
teez: 1,
testical: 1,
testicle: 1,
tit: 1,
titfuck: 1,
tits: 1,
titt: 1,
tittie5: 1,
tittiefucker: 1,
titties: 1,
tittyfuck: 1,
tittywank: 1,
titwank: 1,
tosser: 1,
turd: 1,
tw4t: 1,
twat: 1,
twathead: 1,
twatty: 1,
twunt: 1,
twunter: 1,
v14gra: 1,
v1gra: 1,
vagina: 1,
viagra: 1,
vulva: 1,
w00se: 1,
wang: 1,
wank: 1,
wanker: 1,
wanky: 1,
whoar: 1,
whore: 1,
willies: 1,
willy: 1,
xrated: 1,
xxx: 1,
};
},
function(e, t) {
e.exports = [
"4r5e",
"5h1t",
"5hit",
"a55",
"anal",
"anus",
"ar5e",
"arrse",
"arse",
"ass",
"ass-fucker",
"asses",
"assfucker",
"assfukka",
"asshole",
"assholes",
"asswhole",
"a_s_s",
"b!tch",
"b00bs",
"b17ch",
"b1tch",
"ballbag",
"balls",
"ballsack",
"bastard",
"beastial",
"beastiality",
"bellend",
"bestial",
"bestiality",
"bi+ch",
"biatch",
"bitch",
"bitcher",
"bitchers",
"bitches",
"bitchin",
"bitching",
"bloody",
"blow job",
"blowjob",
"blowjobs",
"boiolas",
"bollock",
"bollok",
"boner",
"boob",
"boobs",
"booobs",
"boooobs",
"booooobs",
"booooooobs",
"breasts",
"buceta",
"bugger",
"bum",
"bunny fucker",
"butt",
"butthole",
"buttmuch",
"buttplug",
"c0ck",
"c0cksucker",
"carpet muncher",
"cawk",
"chink",
"cipa",
"cl1t",
"clit",
"clitoris",
"clits",
"cnut",
"cock",
"cock-sucker",
"cockface",
"cockhead",
"cockmunch",
"cockmuncher",
"cocks",
"cocksuck",
"cocksucked",
"cocksucker",
"cocksucking",
"cocksucks",
"cocksuka",
"cocksukka",
"cok",
"cokmuncher",
"coksucka",
"coon",
"cox",
"crap",
"cum",
"cummer",
"cumming",
"cums",
"cumshot",
"cunilingus",
"cunillingus",
"cunnilingus",
"cunt",
"cuntlick",
"cuntlicker",
"cuntlicking",
"cunts",
"cyalis",
"cyberfuc",
"cyberfuck",
"cyberfucked",
"cyberfucker",
"cyberfuckers",
"cyberfucking",
"d1ck",
"damn",
"dick",
"dickhead",
"dildo",
"dildos",
"dink",
"dinks",
"dirsa",
"dlck",
"dog-fucker",
"doggin",
"dogging",
"donkeyribber",
"doosh",
"duche",
"dyke",
"ejaculate",
"ejaculated",
"ejaculates",
"ejaculating",
"ejaculatings",
"ejaculation",
"ejakulate",
"f u c k",
"f u c k e r",
"f4nny",
"fag",
"fagging",
"faggitt",
"faggot",
"faggs",
"fagot",
"fagots",
"fags",
"fanny",
"fannyflaps",
"fannyfucker",
"fanyy",
"fatass",
"fcuk",
"fcuker",
"fcuking",
"feck",
"fecker",
"felching",
"fellate",
"fellatio",
"fingerfuck",
"fingerfucked",
"fingerfucker",
"fingerfuckers",
"fingerfucking",
"fingerfucks",
"fistfuck",
"fistfucked",
"fistfucker",
"fistfuckers",
"fistfucking",
"fistfuckings",
"fistfucks",
"flange",
"fook",
"fooker",
"fuck",
"fucka",
"fucked",
"fucker",
"fuckers",
"fuckhead",
"fuckheads",
"fuckin",
"fucking",
"fuckings",
"fuckingshitmotherfucker",
"fuckme",
"fucks",
"fuckwhit",
"fuckwit",
"fudge packer",
"fudgepacker",
"fuk",
"fuker",
"fukker",
"fukkin",
"fuks",
"fukwhit",
"fukwit",
"fux",
"fux0r",
"f_u_c_k",
"gangbang",
"gangbanged",
"gangbangs",
"gaylord",
"gaysex",
"goatse",
"God",
"god-dam",
"god-damned",
"goddamn",
"goddamned",
"hardcoresex",
"hell",
"heshe",
"hoar",
"hoare",
"hoer",
"homo",
"hore",
"horniest",
"horny",
"hotsex",
"jack-off",
"jackoff",
"jap",
"jerk-off",
"jism",
"jiz",
"jizm",
"jizz",
"kawk",
"knob",
"knobead",
"knobed",
"knobend",
"knobhead",
"knobjocky",
"knobjokey",
"kock",
"kondum",
"kondums",
"kum",
"kummer",
"kumming",
"kums",
"kunilingus",
"l3i+ch",
"l3itch",
"labia",
"lust",
"lusting",
"m0f0",
"m0fo",
"m45terbate",
"ma5terb8",
"ma5terbate",
"masochist",
"master-bate",
"masterb8",
"masterbat*",
"masterbat3",
"masterbate",
"masterbation",
"masterbations",
"masturbate",
"mo-fo",
"mof0",
"mofo",
"mothafuck",
"mothafucka",
"mothafuckas",
"mothafuckaz",
"mothafucked",
"mothafucker",
"mothafuckers",
"mothafuckin",
"mothafucking",
"mothafuckings",
"mothafucks",
"mother fucker",
"motherfuck",
"motherfucked",
"motherfucker",
"motherfuckers",
"motherfuckin",
"motherfucking",
"motherfuckings",
"motherfuckka",
"motherfucks",
"muff",
"mutha",
"muthafecker",
"muthafuckker",
"muther",
"mutherfucker",
"n1gga",
"n1gger",
"nazi",
"nigg3r",
"nigg4h",
"nigga",
"niggah",
"niggas",
"niggaz",
"nigger",
"niggers",
"nob",
"nob jokey",
"nobhead",
"nobjocky",
"nobjokey",
"numbnuts",
"nutsack",
"orgasim",
"orgasims",
"orgasm",
"orgasms",
"p0rn",
"pawn",
"pecker",
"penis",
"penisfucker",
"phonesex",
"phuck",
"phuk",
"phuked",
"phuking",
"phukked",
"phukking",
"phuks",
"phuq",
"pigfucker",
"pimpis",
"piss",
"pissed",
"pisser",
"pissers",
"pisses",
"pissflaps",
"pissin",
"pissing",
"pissoff",
"poop",
"porn",
"porno",
"pornography",
"pornos",
"prick",
"pricks",
"pron",
"pube",
"pusse",
"pussi",
"pussies",
"pussy",
"pussys",
"rectum",
"retard",
"rimjaw",
"rimming",
"s hit",
"s.o.b.",
"sadist",
"schlong",
"screwing",
"scroat",
"scrote",
"scrotum",
"semen",
"sex",
"sh!+",
"sh!t",
"sh1t",
"shag",
"shagger",
"shaggin",
"shagging",
"shemale",
"shi+",
"shit",
"shitdick",
"shite",
"shited",
"shitey",
"shitfuck",
"shitfull",
"shithead",
"shiting",
"shitings",
"shits",
"shitted",
"shitter",
"shitters",
"shitting",
"shittings",
"shitty",
"skank",
"slut",
"sluts",
"smegma",
"smut",
"snatch",
"son-of-a-bitch",
"spac",
"spunk",
"s_h_i_t",
"t1tt1e5",
"t1tties",
"teets",
"teez",
"testical",
"testicle",
"tit",
"titfuck",
"tits",
"titt",
"tittie5",
"tittiefucker",
"titties",
"tittyfuck",
"tittywank",
"titwank",
"tosser",
"turd",
"tw4t",
"twat",
"twathead",
"twatty",
"twunt",
"twunter",
"v14gra",
"v1gra",
"vagina",
"viagra",
"vulva",
"w00se",
"wang",
"wank",
"wanker",
"wanky",
"whoar",
"whore",
"willies",
"willy",
"xrated",
"xxx",
];
},
function(e, t) {
e.exports =
/\b(4r5e|5h1t|5hit|a55|anal|anus|ar5e|arrse|arse|ass|ass-fucker|asses|assfucker|assfukka|asshole|assholes|asswhole|a_s_s|b!tch|b00bs|b17ch|b1tch|ballbag|balls|ballsack|bastard|beastial|beastiality|bellend|bestial|bestiality|bi\+ch|biatch|bitch|bitcher|bitchers|bitches|bitchin|bitching|bloody|blow job|blowjob|blowjobs|boiolas|bollock|bollok|boner|boob|boobs|booobs|boooobs|booooobs|booooooobs|breasts|buceta|bugger|bum|bunny fucker|butt|butthole|buttmuch|buttplug|c0ck|c0cksucker|carpet muncher|cawk|chink|cipa|cl1t|clit|clitoris|clits|cnut|cock|cock-sucker|cockface|cockhead|cockmunch|cockmuncher|cocks|cocksuck|cocksucked|cocksucker|cocksucking|cocksucks|cocksuka|cocksukka|cok|cokmuncher|coksucka|coon|cox|crap|cum|cummer|cumming|cums|cumshot|cunilingus|cunillingus|cunnilingus|cunt|cuntlick|cuntlicker|cuntlicking|cunts|cyalis|cyberfuc|cyberfuck|cyberfucked|cyberfucker|cyberfuckers|cyberfucking|d1ck|damn|dick|dickhead|dildo|dildos|dink|dinks|dirsa|dlck|dog-fucker|doggin|dogging|donkeyribber|doosh|duche|dyke|ejaculate|ejaculated|ejaculates|ejaculating|ejaculatings|ejaculation|ejakulate|f u c k|f u c k e r|f4nny|fag|fagging|faggitt|faggot|faggs|fagot|fagots|fags|fanny|fannyflaps|fannyfucker|fanyy|fatass|fcuk|fcuker|fcuking|feck|fecker|felching|fellate|fellatio|fingerfuck|fingerfucked|fingerfucker|fingerfuckers|fingerfucking|fingerfucks|fistfuck|fistfucked|fistfucker|fistfuckers|fistfucking|fistfuckings|fistfucks|flange|fook|fooker|fuck|fucka|fucked|fucker|fuckers|fuckhead|fuckheads|fuckin|fucking|fuckings|fuckingshitmotherfucker|fuckme|fucks|fuckwhit|fuckwit|fudge packer|fudgepacker|fuk|fuker|fukker|fukkin|fuks|fukwhit|fukwit|fux|fux0r|f_u_c_k|gangbang|gangbanged|gangbangs|gaylord|gaysex|goatse|God|god-dam|god-damned|goddamn|goddamned|hardcoresex|hell|heshe|hoar|hoare|hoer|homo|hore|horniest|horny|hotsex|jack-off|jackoff|jap|jerk-off|jism|jiz|jizm|jizz|kawk|knob|knobead|knobed|knobend|knobhead|knobjocky|knobjokey|kock|kondum|kondums|kum|kummer|kumming|kums|kunilingus|l3i\+ch|l3itch|labia|lust|lusting|m0f0|m0fo|m45terbate|ma5terb8|ma5terbate|masochist|master-bate|masterb8|masterbat*|masterbat3|masterbate|masterbation|masterbations|masturbate|mo-fo|mof0|mofo|mothafuck|mothafucka|mothafuckas|mothafuckaz|mothafucked|mothafucker|mothafuckers|mothafuckin|mothafucking|mothafuckings|mothafucks|mother fucker|motherfuck|motherfucked|motherfucker|motherfuckers|motherfuckin|motherfucking|motherfuckings|motherfuckka|motherfucks|muff|mutha|muthafecker|muthafuckker|muther|mutherfucker|n1gga|n1gger|nazi|nigg3r|nigg4h|nigga|niggah|niggas|niggaz|nigger|niggers|nob|nob jokey|nobhead|nobjocky|nobjokey|numbnuts|nutsack|orgasim|orgasims|orgasm|orgasms|p0rn|pawn|pecker|penis|penisfucker|phonesex|phuck|phuk|phuked|phuking|phukked|phukking|phuks|phuq|pigfucker|pimpis|piss|pissed|pisser|pissers|pisses|pissflaps|pissin|pissing|pissoff|poop|porn|porno|pornography|pornos|prick|pricks|pron|pube|pusse|pussi|pussies|pussy|pussys|rectum|retard|rimjaw|rimming|s hit|s.o.b.|sadist|schlong|screwing|scroat|scrote|scrotum|semen|sex|sh!\+|sh!t|sh1t|shag|shagger|shaggin|shagging|shemale|shi\+|shit|shitdick|shite|shited|shitey|shitfuck|shitfull|shithead|shiting|shitings|shits|shitted|shitter|shitters|shitting|shittings|shitty|skank|slut|sluts|smegma|smut|snatch|son-of-a-bitch|spac|spunk|s_h_i_t|t1tt1e5|t1tties|teets|teez|testical|testicle|tit|titfuck|tits|titt|tittie5|tittiefucker|titties|tittyfuck|tittywank|titwank|tosser|turd|tw4t|twat|twathead|twatty|twunt|twunter|v14gra|v1gra|vagina|viagra|vulva|w00se|wang|wank|wanker|wanky|whoar|whore|willies|willy|xrated|xxx)\b/gi;
},
function(e, t) {
(e.exports.hats = [{
id: 45,
name: "Shame!",
dontSell: !0,
price: 0,
scale: 120,
desc: "hacks are for losers",
},
{
id: 51,
name: "Moo Cap",
price: 0,
scale: 120,
desc: "coolest mooer around",
},
{
id: 50,
name: "Apple Cap",
price: 0,
scale: 120,
desc: "apple farms remembers",
},
{
id: 28,
name: "Moo Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 29,
name: "Pig Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 30,
name: "Fluff Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 36,
name: "Pandou Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 37,
name: "Bear Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 38,
name: "Monkey Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 44,
name: "Polar Head",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 35,
name: "Fez Hat",
price: 0,
scale: 120,
desc: "no effect"
},
{
id: 42,
name: "Enigma Hat",
price: 0,
scale: 120,
desc: "join the enigma army",
},
{
id: 43,
name: "Blitz Hat",
price: 0,
scale: 120,
desc: "hey everybody i'm blitz",
},
{
id: 49,
name: "Bob XIII Hat",
price: 0,
scale: 120,
desc: "like and subscribe",
},
{
id: 57,
name: "Pumpkin",
price: 50,
scale: 120,
desc: "Spooooky"
},
{
id: 8,
name: "Bummle Hat",
price: 100,
scale: 120,
desc: "no effect"
},
{
id: 2,
name: "Straw Hat",
price: 500,
scale: 120,
desc: "no effect"
},
{
id: 15,
name: "Winter Cap",
price: 600,
scale: 120,
desc: "allows you to move at normal speed in snow",
coldM: 1,
},
{
id: 5,
name: "Cowboy Hat",
price: 1e3,
scale: 120,
desc: "no effect"
},
{
id: 4,
name: "Ranger Hat",
price: 2e3,
scale: 120,
desc: "no effect"
},
{
id: 18,
name: "Explorer Hat",
price: 2e3,
scale: 120,
desc: "no effect",
},
{
id: 31,
name: "Flipper Hat",
price: 2500,
scale: 120,
desc: "have more control while in water",
watrImm: !0,
},
{
id: 1,
name: "Marksman Cap",
price: 3e3,
scale: 120,
desc: "increases arrow speed and range",
aMlt: 1.3,
},
{
id: 10,
name: "Bush Gear",
price: 3e3,
scale: 160,
desc: "allows you to disguise yourself as a bush",
},
{
id: 48,
name: "Halo",
price: 3e3,
scale: 120,
desc: "no effect"
},
{
id: 6,
name: "Soldier Helmet",
price: 4e3,
scale: 120,
desc: "reduces damage taken but slows movement",
spdMult: 0.94,
dmgMult: 0.75,
},
{
id: 23,
name: "Anti Venom Gear",
price: 4e3,
scale: 120,
desc: "makes you immune to poison",
poisonRes: 1,
},
{
id: 13,
name: "Medic Gear",
price: 5e3,
scale: 110,
desc: "slowly regenerates health over time",
healthRegen: 3,
},
{
id: 9,
name: "Miners Helmet",
price: 5e3,
scale: 120,
desc: "earn 1 extra gold per resource",
extraGold: 1,
},
{
id: 32,
name: "Musketeer Hat",
price: 5e3,
scale: 120,
desc: "reduces cost of projectiles",
projCost: 0.5,
},
{
id: 7,
name: "Bull Helmet",
price: 6e3,
scale: 120,
desc: "increases damage done but drains health",
healthRegen: -5,
dmgMultO: 1.5,
spdMult: 0.96,
},
{
id: 22,
name: "Emp Helmet",
price: 6e3,
scale: 120,
desc: "turrets won't attack but you move slower",
antiTurret: 1,
spdMult: 0.7,
},
{
id: 12,
name: "Booster Hat",
price: 6e3,
scale: 120,
desc: "increases your movement speed",
spdMult: 1.16,
},
{
id: 26,
name: "Barbarian Armor",
price: 8e3,
scale: 120,
desc: "knocks back enemies that attack you",
dmgK: 0.6,
},
{
id: 21,
name: "Plague Mask",
price: 1e4,
scale: 120,
desc: "melee attacks deal poison damage",
poisonDmg: 5,
poisonTime: 6,
},
{
id: 46,
name: "Bull Mask",
price: 1e4,
scale: 120,
desc: "bulls won't target you unless you attack them",
bullRepel: 1,
},
{
id: 14,
name: "Windmill Hat",
topSprite: !0,
price: 1e4,
scale: 120,
desc: "generates points while worn",
pps: 1.5,
},
{
id: 11,
name: "Spike Gear",
topSprite: !0,
price: 1e4,
scale: 120,
desc: "deal damage to players that damage you",
dmg: 0.45,
},
{
id: 53,
name: "Turret Gear",
topSprite: !0,
price: 1e4,
scale: 120,
desc: "you become a walking turret",
turret: {
proj: 1,
range: 700,
rate: 2500
},
spdMult: 0.7,
},
{
id: 20,
name: "Samurai Armor",
price: 12e3,
scale: 120,
desc: "increased attack speed and fire rate",
atkSpd: 0.78,
},
{
id: 58,
name: "Dark Knight",
price: 12e3,
scale: 120,
desc: "restores health when you deal damage",
healD: 0.4,
},
{
id: 27,
name: "Scavenger Gear",
price: 15e3,
scale: 120,
desc: "earn double points for each kill",
kScrM: 2,
},
{
id: 40,
name: "Tank Gear",
price: 15e3,
scale: 120,
desc: "increased damage to buildings but slower movement",
spdMult: 0.3,
bDmg: 3.3,
},
{
id: 52,
name: "Thief Gear",
price: 15e3,
scale: 120,
desc: "steal half of a players gold when you kill them",
goldSteal: 0.5,
},
{
id: 55,
name: "Bloodthirster",
price: 2e4,
scale: 120,
desc: "Restore Health when dealing damage. And increased damage",
healD: 0.25,
dmgMultO: 1.2,
},
{
id: 56,
name: "Assassin Gear",
price: 2e4,
scale: 120,
desc: "Go invisible when not moving. Can't eat. Increased speed",
noEat: !0,
spdMult: 1.1,
invisTimer: 1e3,
},
]),
(e.exports.accessories = [{
id: 12,
name: "Snowball",
price: 1e3,
scale: 105,
xOff: 18,
desc: "no effect",
},
{
id: 9,
name: "Tree Cape",
price: 1e3,
scale: 90,
desc: "no effect"
},
{
id: 10,
name: "Stone Cape",
price: 1e3,
scale: 90,
desc: "no effect",
},
{
id: 3,
name: "Cookie Cape",
price: 1500,
scale: 90,
desc: "no effect",
},
{
id: 8,
name: "Cow Cape",
price: 2e3,
scale: 90,
desc: "no effect"
},
{
id: 11,
name: "Monkey Tail",
price: 2e3,
scale: 97,
xOff: 25,
desc: "Super speed but reduced damage",
spdMult: 1.35,
dmgMultO: 0.2,
},
{
id: 17,
name: "Apple Basket",
price: 3e3,
scale: 80,
xOff: 12,
desc: "slowly regenerates health over time",
healthRegen: 1,
},
{
id: 6,
name: "Winter Cape",
price: 3e3,
scale: 90,
desc: "no effect",
},
{
id: 4,
name: "Skull Cape",
price: 4e3,
scale: 90,
desc: "no effect"
},
{
id: 5,
name: "Dash Cape",
price: 5e3,
scale: 90,
desc: "no effect"
},
{
id: 2,
name: "Dragon Cape",
price: 6e3,
scale: 90,
desc: "no effect",
},
{
id: 1,
name: "Super Cape",
price: 8e3,
scale: 90,
desc: "no effect"
},
{
id: 7,
name: "Troll Cape",
price: 8e3,
scale: 90,
desc: "no effect"
},
{
id: 14,
name: "Thorns",
price: 1e4,
scale: 115,
xOff: 20,
desc: "no effect",
},
{
id: 15,
name: "Blockades",
price: 1e4,
scale: 95,
xOff: 15,
desc: "no effect",
},
{
id: 20,
name: "Devils Tail",
price: 1e4,
scale: 95,
xOff: 20,
desc: "no effect",
},
{
id: 16,
name: "Sawblade",
price: 12e3,
scale: 90,
spin: !0,
xOff: 0,
desc: "deal damage to players that damage you",
dmg: 0.15,
},
{
id: 13,
name: "Angel Wings",
price: 15e3,
scale: 138,
xOff: 22,
desc: "slowly regenerates health over time",
healthRegen: 3,
},
{
id: 19,
name: "Shadow Wings",
price: 15e3,
scale: 138,
xOff: 22,
desc: "increased movement speed",
spdMult: 1.1,
},
{
id: 18,
name: "Blood Wings",
price: 2e4,
scale: 178,
xOff: 26,
desc: "restores health when you deal damage",
healD: 0.2,
},
{
id: 21,
name: "Corrupt X Wings",
price: 2e4,
scale: 178,
xOff: 26,
desc: "deal damage to players that damage you",
dmg: 0.25,
},
]);
},
function(e, t) {
e.exports = function(e, t, n, i, r, s, a) {
this.init = function(e, t, n, i, r, s, o, c, l) {
(this.active = !0),
(this.indx = e),
(this.x = t),
(this.y = n),
(this.dir = i),
(this.skipMov = !0),
(this.speed = r),
(this.dmg = s),
(this.scale = c),
(this.range = o),
(this.owner = l),
a && (this.sentTo = {});
};
var o,
c = [];
this.update = function(l) {
if (this.active) {
var h,
u = this.speed * l;
if (
(this.skipMov ?
(this.skipMov = !1) :
((this.x += u * Math.cos(this.dir)),
(this.y += u * Math.sin(this.dir)),
(this.range -= u),
this.range <= 0 &&
((this.x += this.range * Math.cos(this.dir)),
(this.y += this.range * Math.sin(this.dir)),
(u = 1),
(this.range = 0),
(this.active = !1))),
a)
) {
for (var f = 0; f < e.length; ++f)
!this.sentTo[e[f].id] &&
e[f].canSee(this) &&
((this.sentTo[e[f].id] = 1),
a.send(
e[f].id,
"18",
s.fixTo(this.x, 1),
s.fixTo(this.y, 1),
s.fixTo(this.dir, 2),
s.fixTo(this.range, 1),
this.speed,
this.indx,
this.layer,
this.sid,
));
for (c.length = 0, f = 0; f < e.length + t.length; ++f)
!(o = e[f] || t[f - e.length]).alive ||
o == this.owner ||
(this.owner.team && o.team == this.owner.team) ||
(s.lineInRect(
o.x - o.scale,
o.y - o.scale,
o.x + o.scale,
o.y + o.scale,
this.x,
this.y,
this.x + u * Math.cos(this.dir),
this.y + u * Math.sin(this.dir),
) &&
c.push(o));
for (
var d = n.getGridArrays(this.x, this.y, this.scale), p = 0; p < d.length;
++p
)
for (var g = 0; g < d[p].length; ++g)
(h = (o = d[p][g]).getScale()),
o.active &&
this.ignoreObj != o.sid &&
this.layer <= o.layer &&
c.indexOf(o) < 0 &&
!o.ignoreCollision &&
s.lineInRect(
o.x - h,
o.y - h,
o.x + h,
o.y + h,
this.x,
this.y,
this.x + u * Math.cos(this.dir),
this.y + u * Math.sin(this.dir),
) &&
c.push(o);
if (c.length > 0) {
var m = null,
y = null,
k = null;
for (f = 0; f < c.length; ++f)
(k = s.getDistance(this.x, this.y, c[f].x, c[f].y)),
(null == y || k < y) && ((y = k), (m = c[f]));
if (m.isPlayer || m.isAI) {
var v = 0.3 * (m.weightM || 1);
(m.xVel += v * Math.cos(this.dir)),
(m.yVel += v * Math.sin(this.dir)),
(null != m.weaponIndex &&
i.weapons[m.weaponIndex].shield &&
s.getAngleDist(this.dir + Math.PI, m.dir) <=
r.shieldAngle) ||
m.changeHealth(-this.dmg, this.owner, this.owner);
} else
for (
m.projDmg &&
m.health &&
m.changeHealth(-this.dmg) &&
n.disableObj(m),
f = 0; f < e.length;
++f
)
e[f].active &&
(m.sentTo[e[f].id] &&
(m.active ?
e[f].canSee(m) &&
a.send(e[f].id, "8", s.fixTo(this.dir, 2), m.sid) :
a.send(e[f].id, "12", m.sid)),
m.active ||
m.owner != e[f] ||
e[f].changeItemCount(m.group.id, -1));
for (this.active = !1, f = 0; f < e.length; ++f)
this.sentTo[e[f].id] &&
a.send(e[f].id, "19", this.sid, s.fixTo(y, 1));
}
}
}
};
};
},
function(e, t) {
e.exports = function(e, t, n, i, r, s, a, o, c) {
this.addProjectile = function(l, h, u, f, d, p, g, m, y) {
for (var k, v = s.projectiles[p], w = 0; w < t.length; ++w)
if (!t[w].active) {
k = t[w];
break;
}
return (
k || (((k = new e(n, i, r, s, a, o, c)).sid = t.length), t.push(k)),
k.init(p, l, h, u, d, v.dmg, f, v.scale, g),
(k.ignoreObj = m),
(k.layer = y || v.layer),
(k.src = v.src),
k
);
};
};
},
function(e, t) {
e.exports.obj = function(e, t) {
var n;
(this.sounds = []),
(this.active = !0),
(this.play = function(t, i, r) {
i &&
this.active &&
((n = this.sounds[t]) ||
((n = new Howl({
src: ".././sound/" + t + ".mp3"
})),
(this.sounds[t] = n)),
(r && n.isPlaying) ||
((n.isPlaying = !0),
n.play(),
n.volume((i || 1) * e.volumeMult),
n.loop(r)));
}),
(this.toggleMute = function(e, t) {
(n = this.sounds[e]) && n.mute(t);
}),
(this.stop = function(e) {
(n = this.sounds[e]) && (n.stop(), (n.isPlaying = !1));
});
};
},
function(e, t, n) {
var i = n(60),
r = n(67);
function s(e, t, n, i, r) {
"localhost" == location.hostname &&
(window.location.hostname = "127.0.0.1"),
(this.debugLog = !1),
(this.baseUrl = e),
(this.lobbySize = n),
(this.devPort = t),
(this.lobbySpread = i),
(this.rawIPs = !!r),
(this.server = void 0),
(this.gameIndex = void 0),
(this.callback = void 0),
(this.errorCallback = void 0),
this.processServers(vultr.servers);
}
(s.prototype.regionInfo = {
0: {
name: "Local",
latitude: 0,
longitude: 0
},
"vultr:1": {
name: "New Jersey",
latitude: 40.1393329,
longitude: -75.8521818,
},
"vultr:2": {
name: "Chicago",
latitude: 41.8339037,
longitude: -87.872238,
},
"vultr:3": {
name: "Dallas",
latitude: 32.8208751,
longitude: -96.8714229,
},
"vultr:4": {
name: "Seattle",
latitude: 47.6149942,
longitude: -122.4759879,
},
"vultr:5": {
name: "Los Angeles",
latitude: 34.0207504,
longitude: -118.691914,
},
"vultr:6": {
name: "Atlanta",
latitude: 33.7676334,
longitude: -84.5610332,
},
"vultr:7": {
name: "Amsterdam",
latitude: 52.3745287,
longitude: 4.7581878,
},
"vultr:8": {
name: "London",
latitude: 51.5283063,
longitude: -0.382486
},
"vultr:9": {
name: "Frankfurt",
latitude: 50.1211273,
longitude: 8.496137,
},
"vultr:12": {
name: "Silicon Valley",
latitude: 37.4024714,
longitude: -122.3219752,
},
"vultr:19": {
name: "Sydney",
latitude: -33.8479715,
longitude: 150.651084,
},
"vultr:24": {
name: "Paris",
latitude: 48.8588376,
longitude: 2.2773454
},
"vultr:25": {
name: "Tokyo",
latitude: 35.6732615,
longitude: 139.569959,
},
"vultr:39": {
name: "Miami",
latitude: 25.7823071,
longitude: -80.3012156,
},
"vultr:40": {
name: "Singapore",
latitude: 1.3147268,
longitude: 103.7065876,
},
}),
(s.prototype.start = function(e, t) {
(this.callback = e), (this.errorCallback = t);
var n = this.parseServerQuery();
n
?
(this.log("Found server in query."),
(this.password = n[3]),
this.connect(n[0], n[1], n[2])) :
(this.log("Pinging servers..."), this.pingServers());
}),
(s.prototype.parseServerQuery = function() {
var e = i.parse(location.href, !0),
t = e.query.server;
if ("string" == typeof t) {
var n = t.split(":");
if (3 == n.length) {
var r = n[0],
s = parseInt(n[1]),
a = parseInt(n[2]);
return (
"0" == r || r.startsWith("vultr:") || (r = "vultr:" + r),
[r, s, a, e.query.password]
);
}
this.errorCallback("Invalid number of server parameters in " + t);
}
}),
(s.prototype.findServer = function(e, t) {
var n = this.servers[e];
if (Array.isArray(n)) {
for (var i = 0; i < n.length; i++) {
var r = n[i];
if (r.index == t) return r;
}
console.warn(
"Could not find server in region " + e + " with index " + t + ".",
);
} else this.errorCallback("No server list for region " + e);
}),
(s.prototype.pingServers = function() {
var e = this,
t = [];
for (var n in this.servers)
if (this.servers.hasOwnProperty(n)) {
var i = this.servers[n],
r = i[Math.floor(Math.random() * i.length)];
null != r ?
(function(i, r) {
var s = new XMLHttpRequest();
s.onreadystatechange = function(i) {
var s = i.target;
if (4 == s.readyState)
if (200 == s.status) {
for (var a = 0; a < t.length; a++) t[a].abort();
e.log("Connecting to region", r.region);
var o = e.seekServer(r.region);
e.connect(o[0], o[1], o[2]);
} else
console.warn(
"Error pinging " + r.ip + " in region " + n,
);
};
var a =
"//" +
e.serverAddress(r.ip, !0) +
":" +
e.serverPort(r) +
"/ping";
s.open("GET", a, !0),
s.send(null),
e.log("Pinging", a),
t.push(s);
})(0, r) :
console.log("No target server for region " + n);
}
}),
(s.prototype.seekServer = function(e, t, n) {
null == n && (n = "random"), null == t && (t = !1);
const i = ["random"];
var r = this.lobbySize,
s = this.lobbySpread,
a = this.servers[e]
.flatMap(function(e) {
var t = 0;
return e.games.map(function(n) {
var i = t++;
return {
region: e.region,
index: e.index * e.games.length + i,
gameIndex: i,
gameCount: e.games.length,
playerCount: n.playerCount,
isPrivate: n.isPrivate,
};
});
})
.filter(function(e) {
return !e.isPrivate;
})
.filter(function(e) {
return (
!t || (0 == e.playerCount && e.gameIndex >= e.gameCount / 2)
);
})
.filter(function(e) {
return "random" == n || i[e.index % i.length].key == n;
})
.sort(function(e, t) {
return t.playerCount - e.playerCount;
})
.filter(function(e) {
return e.playerCount < r;
});
if ((t && a.reverse(), 0 != a.length)) {
var o = Math.min(s, a.length),
c = Math.floor(Math.random() * o),
l = a[(c = Math.min(c, a.length - 1))],
h = l.region,
u =
((c = Math.floor(l.index / l.gameCount)), l.index % l.gameCount);
return this.log("Found server."), [h, c, u];
}
this.errorCallback("No open servers.");
}),
(s.prototype.connect = function(e, t, n) {
if (!this.connected) {
var i = this.findServer(e, t);
null != i ?
(this.log("Connecting to server", i, "with game index", n),
i.games[n].playerCount >= this.lobbySize ?
this.errorCallback("Server is already full.") :
(window.history.replaceState(
document.title,
document.title,
this.generateHref(e, t, n, this.password),
),
(this.server = i),
(this.gameIndex = n),
this.log(
"Calling callback with address",
this.serverAddress(i.ip),
"on port",
this.serverPort(i),
"with game index",
n,
),
this.callback(
this.serverAddress(i.ip),
this.serverPort(i),
n,
))) :
this.errorCallback(
"Failed to find server for region " + e + " and index " + t,
);
}
}),
(s.prototype.switchServer = function(e, t, n, i) {
(this.switchingServers = !0),
(window.location.href = this.generateHref(e, t, n, i));
}),
(s.prototype.generateHref = function(e, t, n, i) {
var r = "/?server=" + (e = this.stripRegion(e)) + ":" + t + ":" + n;
return i && (r += "&password=" + encodeURIComponent(i)), r;
}),
(s.prototype.serverAddress = function(e, t) {
return "127.0.0.1" == e ||
"7f000001" == e ||
"903d62ef5d1c2fecdcaeb5e7dd485eff" == e ?
window.location.hostname :
this.rawIPs ?
t ?
"ip_" + this.hashIP(e) + "." + this.baseUrl :
e :
"ip_" + e + "." + this.baseUrl;
}),
(s.prototype.serverPort = function(e) {
return 0 == e.region ?
this.devPort :
location.protocol.startsWith("https") ?
443 :
80;
}),
(s.prototype.processServers = function(e) {
for (var t = {}, n = 0; n < e.length; n++) {
var i = e[n],
r = t[i.region];
null == r && ((r = []), (t[i.region] = r)), r.push(i);
}
for (var s in t)
t[s] = t[s].sort(function(e, t) {
return e.index - t.index;
});
this.servers = t;
}),
(s.prototype.ipToHex = function(e) {
return e
.split(".")
.map((e) => ("00" + parseInt(e).toString(16)).substr(-2))
.join("")
.toLowerCase();
}),
(s.prototype.hashIP = function(e) {
return r(this.ipToHex(e));
}),
(s.prototype.log = function() {
return this.debugLog ?
console.log.apply(void 0, arguments) :
console.verbose ?
console.verbose.apply(void 0, arguments) :
void 0;
}),
(s.prototype.stripRegion = function(e) {
return (
e.startsWith("vultr:") ?
(e = e.slice(6)) :
e.startsWith("do:") && (e = e.slice(3)),
e
);
}),
(window.testVultrClient = function() {
var e = 1;
function t(t, n) {
(t = "" + t) == (n = "" + n) ?
console.log(`Assert ${e} passed.`): console.warn(`Assert ${e} failed. Expected ${n}, got ${t}.`),
e++;
}
var n = new s("test.io", -1, 5, 1, !1);
(n.errorCallback = function(e) {}),
n.processServers(
(function(e) {
var t = [];
for (var n in e)
for (var i = e[n], r = 0; r < i.length; r++)
t.push({
ip: n + ":" + r,
scheme: "testing",
region: n,
index: r,
games: i[r].map((e) => ({
playerCount: e,
isPrivate: !1
})),
});
return t;
})({
1: [
[0, 0, 0, 0],
[0, 0, 0, 0],
],
2: [
[5, 1, 0, 0],
[0, 0, 0, 0],
],
3: [
[5, 0, 1, 5],
[0, 0, 0, 0],
],
4: [
[5, 1, 1, 5],
[1, 0, 0, 0],
],
5: [
[5, 1, 1, 5],
[1, 0, 4, 0],
],
6: [
[5, 5, 5, 5],
[2, 3, 1, 4],
],
7: [
[5, 5, 5, 5],
[5, 5, 5, 5],
],
}),
),
t(n.seekServer(1, !1), [1, 0, 0]),
t(n.seekServer(1, !0), [1, 1, 3]),
t(n.seekServer(2, !1), [2, 0, 1]),
t(n.seekServer(2, !0), [2, 1, 3]),
t(n.seekServer(3, !1), [3, 0, 2]),
t(n.seekServer(3, !0), [3, 1, 3]),
t(n.seekServer(4, !1), [4, 0, 1]),
t(n.seekServer(4, !0), [4, 1, 3]),
t(n.seekServer(5, !1), [5, 1, 2]),
t(n.seekServer(5, !0), [5, 1, 3]),
t(n.seekServer(6, !1), [6, 1, 3]),
t(n.seekServer(6, !0), void 0),
t(n.seekServer(7, !1), void 0),
t(n.seekServer(7, !0), void 0),
console.log("Tests passed.");
});
var a = function(e, t) {
return e.concat(t);
};
(Array.prototype.flatMap = function(e) {
return (function(e, t) {
return t.map(e).reduce(a, []);
})(e, this);
}),
(e.exports = s);
},
function(e, t, n) {
"use strict";
var i = n(61),
r = n(63);
function s() {
(this.protocol = null),
(this.slashes = null),
(this.auth = null),
(this.host = null),
(this.port = null),
(this.hostname = null),
(this.hash = null),
(this.search = null),
(this.query = null),
(this.pathname = null),
(this.path = null),
(this.href = null);
}
(t.parse = v),
(t.resolve = function(e, t) {
return v(e, !1, !0).resolve(t);
}),
(t.resolveObject = function(e, t) {
return e ? v(e, !1, !0).resolveObject(t) : t;
}),
(t.format = function(e) {
return (
r.isString(e) && (e = v(e)),
e instanceof s ? e.format() : s.prototype.format.call(e)
);
}),
(t.Url = s);
var a = /^([a-z0-9.+-]+:)/i,
o = /:[0-9]*$/,
c = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
l = ["{", "}", "|", "\\", "^", "`"].concat([
"<",
">",
'"',
"`",
" ",
"\r",
"\n",
"\t",
]),
h = ["'"].concat(l),
u = ["%", "/", "?", ";", "#"].concat(h),
f = ["/", "?", "#"],
d = /^[+a-z0-9A-Z_-]{0,63}$/,
p = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
g = {
javascript: !0,
"javascript:": !0
},
m = {
javascript: !0,
"javascript:": !0
},
y = {
http: !0,
https: !0,
ftp: !0,
gopher: !0,
file: !0,
"http:": !0,
"https:": !0,
"ftp:": !0,
"gopher:": !0,
"file:": !0,
},
k = n(64);
function v(e, t, n) {
if (e && r.isObject(e) && e instanceof s) return e;
var i = new s();
return i.parse(e, t, n), i;
}
(s.prototype.parse = function(e, t, n) {
if (!r.isString(e))
throw new TypeError(
"Parameter 'url' must be a string, not " + typeof e,
);
var s = e.indexOf("?"),
o = -1 !== s && s < e.indexOf("#") ? "?" : "#",
l = e.split(o);
l[0] = l[0].replace(/\\/g, "/");
var v = (e = l.join(o));
if (((v = v.trim()), !n && 1 === e.split("#").length)) {
var w = c.exec(v);
if (w)
return (
(this.path = v),
(this.href = v),
(this.pathname = w[1]),
w[2] ?
((this.search = w[2]),
(this.query = t ?
k.parse(this.search.substr(1)) :
this.search.substr(1))) :
t && ((this.search = ""), (this.query = {})),
this
);
}
var b = a.exec(v);
if (b) {
var x = (b = b[0]).toLowerCase();
(this.protocol = x), (v = v.substr(b.length));
}
if (n || b || v.match(/^\/\/[^@\/]+@[^@\/]+/)) {
var S = "//" === v.substr(0, 2);
!S || (b && m[b]) || ((v = v.substr(2)), (this.slashes = !0));
}
if (!m[b] && (S || (b && !y[b]))) {
for (var T, I, E = -1, M = 0; M < f.length; M++)
-
1 !== (A = v.indexOf(f[M])) && (-1 === E || A < E) && (E = A);
for (
-1 !== (I = -1 === E ? v.lastIndexOf("@") : v.lastIndexOf("@", E)) &&
((T = v.slice(0, I)),
(v = v.slice(I + 1)),
(this.auth = decodeURIComponent(T))),
E = -1,
M = 0; M < u.length; M++
) {
var A; -
1 !== (A = v.indexOf(u[M])) && (-1 === E || A < E) && (E = A);
} -
1 === E && (E = v.length),
(this.host = v.slice(0, E)),
(v = v.slice(E)),
this.parseHost(),
(this.hostname = this.hostname || "");
var P =
"[" === this.hostname[0] &&
"]" === this.hostname[this.hostname.length - 1];
if (!P)
for (
var B = this.hostname.split(/\./), C = ((M = 0), B.length); M < C; M++
) {
var O = B[M];
if (O && !O.match(d)) {
for (var R = "", j = 0, _ = O.length; j < _; j++)
O.charCodeAt(j) > 127 ? (R += "x") : (R += O[j]);
if (!R.match(d)) {
var U = B.slice(0, M),
D = B.slice(M + 1),
L = O.match(p);
L && (U.push(L[1]), D.unshift(L[2])),
D.length && (v = "/" + D.join(".") + v),
(this.hostname = U.join("."));
break;
}
}
}
this.hostname.length > 255 ?
(this.hostname = "") :
(this.hostname = this.hostname.toLowerCase()),
P || (this.hostname = i.toASCII(this.hostname));
var F = this.port ? ":" + this.port : "",
z = this.hostname || "";
(this.host = z + F),
(this.href += this.host),
P &&
((this.hostname = this.hostname.substr(
1,
this.hostname.length - 2,
)),
"/" !== v[0] && (v = "/" + v));
}
if (!g[x])
for (M = 0, C = h.length; M < C; M++) {
var H = h[M];
if (-1 !== v.indexOf(H)) {
var V = encodeURIComponent(H);
V === H && (V = escape(H)), (v = v.split(H).join(V));
}
}
var q = v.indexOf("#"); -
1 !== q && ((this.hash = v.substr(q)), (v = v.slice(0, q)));
var Y = v.indexOf("?");
if (
(-1 !== Y ?
((this.search = v.substr(Y)),
(this.query = v.substr(Y + 1)),
t && (this.query = k.parse(this.query)),
(v = v.slice(0, Y))) :
t && ((this.search = ""), (this.query = {})),
v && (this.pathname = v),
y[x] && this.hostname && !this.pathname && (this.pathname = "/"),
this.pathname || this.search)
) {
F = this.pathname || "";
var W = this.search || "";
this.path = F + W;
}
return (this.href = this.format()), this;
}),
(s.prototype.format = function() {
var e = this.auth || "";
e &&
((e = (e = encodeURIComponent(e)).replace(/%3A/i, ":")), (e += "@"));
var t = this.protocol || "",
n = this.pathname || "",
i = this.hash || "",
s = !1,
a = "";
this.host ?
(s = e + this.host) :
this.hostname &&
((s =
e +
(-1 === this.hostname.indexOf(":") ?
this.hostname :
"[" + this.hostname + "]")),
this.port && (s += ":" + this.port)),
this.query &&
r.isObject(this.query) &&
Object.keys(this.query).length &&
(a = k.stringify(this.query));
var o = this.search || (a && "?" + a) || "";
return (
t && ":" !== t.substr(-1) && (t += ":"),
this.slashes || ((!t || y[t]) && !1 !== s) ?
((s = "//" + (s || "")),
n && "/" !== n.charAt(0) && (n = "/" + n)) :
s || (s = ""),
i && "#" !== i.charAt(0) && (i = "#" + i),
o && "?" !== o.charAt(0) && (o = "?" + o),
t +
s +
(n = n.replace(/[?#]/g, function(e) {
return encodeURIComponent(e);
})) +
(o = o.replace("#", "%23")) +
i
);
}),
(s.prototype.resolve = function(e) {
return this.resolveObject(v(e, !1, !0)).format();
}),
(s.prototype.resolveObject = function(e) {
if (r.isString(e)) {
var t = new s();
t.parse(e, !1, !0), (e = t);
}
for (var n = new s(), i = Object.keys(this), a = 0; a < i.length; a++) {
var o = i[a];
n[o] = this[o];
}
if (((n.hash = e.hash), "" === e.href)) return (n.href = n.format()), n;
if (e.slashes && !e.protocol) {
for (var c = Object.keys(e), l = 0; l < c.length; l++) {
var h = c[l];
"protocol" !== h && (n[h] = e[h]);
}
return (
y[n.protocol] &&
n.hostname &&
!n.pathname &&
(n.path = n.pathname = "/"),
(n.href = n.format()),
n
);
}
if (e.protocol && e.protocol !== n.protocol) {
if (!y[e.protocol]) {
for (var u = Object.keys(e), f = 0; f < u.length; f++) {
var d = u[f];
n[d] = e[d];
}
return (n.href = n.format()), n;
}
if (((n.protocol = e.protocol), e.host || m[e.protocol]))
n.pathname = e.pathname;
else {
for (
var p = (e.pathname || "").split("/"); p.length && !(e.host = p.shift());
);
e.host || (e.host = ""),
e.hostname || (e.hostname = ""),
"" !== p[0] && p.unshift(""),
p.length < 2 && p.unshift(""),
(n.pathname = p.join("/"));
}
if (
((n.search = e.search),
(n.query = e.query),
(n.host = e.host || ""),
(n.auth = e.auth),
(n.hostname = e.hostname || e.host),
(n.port = e.port),
n.pathname || n.search)
) {
var g = n.pathname || "",
k = n.search || "";
n.path = g + k;
}
return (n.slashes = n.slashes || e.slashes), (n.href = n.format()), n;
}
var v = n.pathname && "/" === n.pathname.charAt(0),
w = e.host || (e.pathname && "/" === e.pathname.charAt(0)),
b = w || v || (n.host && e.pathname),
x = b,
S = (n.pathname && n.pathname.split("/")) || [],
T =
((p = (e.pathname && e.pathname.split("/")) || []),
n.protocol && !y[n.protocol]);
if (
(T &&
((n.hostname = ""),
(n.port = null),
n.host && ("" === S[0] ? (S[0] = n.host) : S.unshift(n.host)),
(n.host = ""),
e.protocol &&
((e.hostname = null),
(e.port = null),
e.host && ("" === p[0] ? (p[0] = e.host) : p.unshift(e.host)),
(e.host = null)),
(b = b && ("" === p[0] || "" === S[0]))),
w)
)
(n.host = e.host || "" === e.host ? e.host : n.host),
(n.hostname =
e.hostname || "" === e.hostname ? e.hostname : n.hostname),
(n.search = e.search),
(n.query = e.query),
(S = p);
else if (p.length)
S || (S = []),
S.pop(),
(S = S.concat(p)),
(n.search = e.search),
(n.query = e.query);
else if (!r.isNullOrUndefined(e.search))
return (
T &&
((n.hostname = n.host = S.shift()),
(P = !!(n.host && n.host.indexOf("@") > 0) && n.host.split("@")) &&
((n.auth = P.shift()), (n.host = n.hostname = P.shift()))),
(n.search = e.search),
(n.query = e.query),
(r.isNull(n.pathname) && r.isNull(n.search)) ||
(n.path =
(n.pathname ? n.pathname : "") + (n.search ? n.search : "")),
(n.href = n.format()),
n
);
if (!S.length)
return (
(n.pathname = null),
n.search ? (n.path = "/" + n.search) : (n.path = null),
(n.href = n.format()),
n
);
for (
var I = S.slice(-1)[0],
E =
((n.host || e.host || S.length > 1) &&
("." === I || ".." === I)) ||
"" === I,
M = 0,
A = S.length; A >= 0; A--
)
"." === (I = S[A]) ?
S.splice(A, 1) :
".." === I ?
(S.splice(A, 1), M++) :
M && (S.splice(A, 1), M--);
if (!b && !x)
for (; M--; M) S.unshift("..");
!b || "" === S[0] || (S[0] && "/" === S[0].charAt(0)) || S.unshift(""),
E && "/" !== S.join("/").substr(-1) && S.push("");
var P,
B = "" === S[0] || (S[0] && "/" === S[0].charAt(0));
return (
T &&
((n.hostname = n.host = B ? "" : S.length ? S.shift() : ""),
(P = !!(n.host && n.host.indexOf("@") > 0) && n.host.split("@")) &&
((n.auth = P.shift()), (n.host = n.hostname = P.shift()))),
(b = b || (n.host && S.length)) && !B && S.unshift(""),
S.length ?
(n.pathname = S.join("/")) :
((n.pathname = null), (n.path = null)),
(r.isNull(n.pathname) && r.isNull(n.search)) ||
(n.path =
(n.pathname ? n.pathname : "") + (n.search ? n.search : "")),
(n.auth = e.auth || n.auth),
(n.slashes = n.slashes || e.slashes),
(n.href = n.format()),
n
);
}),
(s.prototype.parseHost = function() {
var e = this.host,
t = o.exec(e);
t &&
(":" !== (t = t[0]) && (this.port = t.substr(1)),
(e = e.substr(0, e.length - t.length))),
e && (this.hostname = e);
});
},
function(e, t, n) {
(function(e, i) {
var r;
/*! https://mths.be/punycode v1.4.1 by @mathias */
!(function(s) {
t && t.nodeType, e && e.nodeType;
var a = "object" == typeof i && i;
a.global !== a && a.window !== a && a.self;
var o,
c = 2147483647,
l = 36,
h = /^xn--/,
u = /[^\x20-\x7E]/,
f = /[\x2E\u3002\uFF0E\uFF61]/g,
d = {
overflow: "Overflow: input needs wider integers to process",
"not-basic": "Illegal input >= 0x80 (not a basic code point)",
"invalid-input": "Invalid input",
},
p = Math.floor,
g = String.fromCharCode;
function m(e) {
throw new RangeError(d[e]);
}
function y(e, t) {
for (var n = e.length, i = []; n--;) i[n] = t(e[n]);
return i;
}
function k(e, t) {
var n = e.split("@"),
i = "";
return (
n.length > 1 && ((i = n[0] + "@"), (e = n[1])),
i + y((e = e.replace(f, ".")).split("."), t).join(".")
);
}
function v(e) {
for (var t, n, i = [], r = 0, s = e.length; r < s;)
(t = e.charCodeAt(r++)) >= 55296 && t <= 56319 && r < s ?
56320 == (64512 & (n = e.charCodeAt(r++))) ?
i.push(((1023 & t) << 10) + (1023 & n) + 65536) :
(i.push(t), r--) :
i.push(t);
return i;
}
function w(e) {
return y(e, function(e) {
var t = "";
return (
e > 65535 &&
((t += g((((e -= 65536) >>> 10) & 1023) | 55296)),
(e = 56320 | (1023 & e))),
t + g(e)
);
}).join("");
}
function b(e) {
return e - 48 < 10 ?
e - 22 :
e - 65 < 26 ?
e - 65 :
e - 97 < 26 ?
e - 97 :
l;
}
function x(e, t) {
return e + 22 + 75 * (e < 26) - ((0 != t) << 5);
}
function S(e, t, n) {
var i = 0;
for (e = n ? p(e / 700) : e >> 1, e += p(e / t); e > 455; i += l)
e = p(e / 35);
return p(i + (36 * e) / (e + 38));
}
function T(e) {
var t,
n,
i,
r,
s,
a,
o,
h,
u,
f,
d = [],
g = e.length,
y = 0,
k = 128,
v = 72;
for ((n = e.lastIndexOf("-")) < 0 && (n = 0), i = 0; i < n; ++i)
e.charCodeAt(i) >= 128 && m("not-basic"), d.push(e.charCodeAt(i));
for (r = n > 0 ? n + 1 : 0; r < g;) {
for (
s = y, a = 1, o = l; r >= g && m("invalid-input"),
((h = b(e.charCodeAt(r++))) >= l || h > p((c - y) / a)) &&
m("overflow"),
(y += h * a),
!(h < (u = o <= v ? 1 : o >= v + 26 ? 26 : o - v)); o += l
)
a > p(c / (f = l - u)) && m("overflow"), (a *= f);
(v = S(y - s, (t = d.length + 1), 0 == s)),
p(y / t) > c - k && m("overflow"),
(k += p(y / t)),
(y %= t),
d.splice(y++, 0, k);
}
return w(d);
}
function I(e) {
var t,
n,
i,
r,
s,
a,
o,
h,
u,
f,
d,
y,
k,
w,
b,
T = [];
for (y = (e = v(e)).length, t = 128, n = 0, s = 72, a = 0; a < y; ++a)
(d = e[a]) < 128 && T.push(g(d));
for (i = r = T.length, r && T.push("-"); i < y;) {
for (o = c, a = 0; a < y; ++a)(d = e[a]) >= t && d < o && (o = d);
for (
o - t > p((c - n) / (k = i + 1)) && m("overflow"),
n += (o - t) * k,
t = o,
a = 0; a < y;
++a
)
if (((d = e[a]) < t && ++n > c && m("overflow"), d == t)) {
for (
h = n, u = l; !(h < (f = u <= s ? 1 : u >= s + 26 ? 26 : u - s)); u += l
)
(b = h - f),
(w = l - f),
T.push(g(x(f + (b % w), 0))),
(h = p(b / w));
T.push(g(x(h, 0))), (s = S(n, k, i == r)), (n = 0), ++i;
}
++ n, ++t;
}
return T.join("");
}
(o = {
version: "1.4.1",
ucs2: {
decode: v,
encode: w
},
decode: T,
encode: I,
toASCII: function(e) {
return k(e, function(e) {
return u.test(e) ? "xn--" + I(e) : e;
});
},
toUnicode: function(e) {
return k(e, function(e) {
return h.test(e) ? T(e.slice(4).toLowerCase()) : e;
});
},
}),
void 0 ===
(r = function() {
return o;
}.call(t, n, t, e)) || (e.exports = r);
})();
}.call(this, n(62)(e), n(12)));
},
function(e, t) {
e.exports = function(e) {
return (
e.webpackPolyfill ||
((e.deprecate = function() {}),
(e.paths = []),
e.children || (e.children = []),
Object.defineProperty(e, "loaded", {
enumerable: !0,
get: function() {
return e.l;
},
}),
Object.defineProperty(e, "id", {
enumerable: !0,
get: function() {
return e.i;
},
}),
(e.webpackPolyfill = 1)),
e
);
};
},
function(e, t, n) {
"use strict";
e.exports = {
isString: function(e) {
return "string" == typeof e;
},
isObject: function(e) {
return "object" == typeof e && null !== e;
},
isNull: function(e) {
return null === e;
},
isNullOrUndefined: function(e) {
return null == e;
},
};
},
function(e, t, n) {
"use strict";
(t.decode = t.parse = n(65)), (t.encode = t.stringify = n(66));
},
function(e, t, n) {
"use strict";
function i(e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}
e.exports = function(e, t, n, s) {
(t = t || "&"), (n = n || "=");
var a = {};
if ("string" != typeof e || 0 === e.length) return a;
var o = /\+/g;
e = e.split(t);
var c = 1e3;
s && "number" == typeof s.maxKeys && (c = s.maxKeys);
var l = e.length;
c > 0 && l > c && (l = c);
for (var h = 0; h < l; ++h) {
var u,
f,
d,
p,
g = e[h].replace(o, "%20"),
m = g.indexOf(n);
m >= 0 ?
((u = g.substr(0, m)), (f = g.substr(m + 1))) :
((u = g), (f = "")),
(d = decodeURIComponent(u)),
(p = decodeURIComponent(f)),
i(a, d) ? (r(a[d]) ? a[d].push(p) : (a[d] = [a[d], p])) : (a[d] = p);
}
return a;
};
var r =
Array.isArray ||
function(e) {
return "[object Array]" === Object.prototype.toString.call(e);
};
},
function(e, t, n) {
"use strict";
var i = function(e) {
switch (typeof e) {
case "string":
return e;
case "boolean":
return e ? "true" : "false";
case "number":
return isFinite(e) ? e : "";
default:
return "";
}
};
e.exports = function(e, t, n, o) {
return (
(t = t || "&"),
(n = n || "="),
null === e && (e = void 0),
"object" == typeof e ?
s(a(e), function(a) {
var o = encodeURIComponent(i(a)) + n;
return r(e[a]) ?
s(e[a], function(e) {
return o + encodeURIComponent(i(e));
}).join(t) :
o + encodeURIComponent(i(e[a]));
}).join(t) :
o ?
encodeURIComponent(i(o)) + n + encodeURIComponent(i(e)) :
""
);
};
var r =
Array.isArray ||
function(e) {
return "[object Array]" === Object.prototype.toString.call(e);
};
function s(e, t) {
if (e.map) return e.map(t);
for (var n = [], i = 0; i < e.length; i++) n.push(t(e[i], i));
return n;
}
var a =
Object.keys ||
function(e) {
var t = [];
for (var n in e)
Object.prototype.hasOwnProperty.call(e, n) && t.push(n);
return t;
};
},
function(e, t, n) {
!(function() {
var t = n(68),
i = n(20).utf8,
r = n(69),
s = n(20).bin,
a = function(e, n) {
e.constructor == String ?
(e =
n && "binary" === n.encoding ?
s.stringToBytes(e) :
i.stringToBytes(e)) :
r(e) ?
(e = Array.prototype.slice.call(e, 0)) :
Array.isArray(e) || (e = e.toString());
for (
var o = t.bytesToWords(e),
c = 8 * e.length,
l = 1732584193,
h = -271733879,
u = -1732584194,
f = 271733878,
d = 0; d < o.length; d++
)
o[d] =
(16711935 & ((o[d] << 8) | (o[d] >>> 24))) |
(4278255360 & ((o[d] << 24) | (o[d] >>> 8)));
(o[c >>> 5] |= 128 << c % 32), (o[14 + (((c + 64) >>> 9) << 4)] = c);
var p = a._ff,
g = a._gg,
m = a._hh,
y = a._ii;
for (d = 0; d < o.length; d += 16) {
var k = l,
v = h,
w = u,
b = f;
(h = y(
(h = y(
(h = y(
(h = y(
(h = m(
(h = m(
(h = m(
(h = m(
(h = g(
(h = g(
(h = g(
(h = g(
(h = p(
(h = p(
(h = p(
(h = p(
h,
(u = p(
u,
(f = p(
f,
(l = p(
l,
h,
u,
f,
o[d + 0],
7,
-680876936,
)),
h,
u,
o[d + 1],
12,
-389564586,
)),
l,
h,
o[d + 2],
17,
606105819,
)),
f,
l,
o[d + 3],
22,
-1044525330,
)),
(u = p(
u,
(f = p(
f,
(l = p(
l,
h,
u,
f,
o[d + 4],
7,
-176418897,
)),
h,
u,
o[d + 5],
12,
1200080426,
)),
l,
h,
o[d + 6],
17,
-1473231341,
)),
f,
l,
o[d + 7],
22,
-45705983,
)),
(u = p(
u,
(f = p(
f,
(l = p(
l,
h,
u,
f,
o[d + 8],
7,
1770035416,
)),
h,
u,
o[d + 9],
12,
-1958414417,
)),
l,
h,
o[d + 10],
17,
-42063,
)),
f,
l,
o[d + 11],
22,
-1990404162,
)),
(u = p(
u,
(f = p(
f,
(l = p(
l,
h,
u,
f,
o[d + 12],
7,
1804603682,
)),
h,
u,
o[d + 13],
12,
-40341101,
)),
l,
h,
o[d + 14],
17,
-1502002290,
)),
f,
l,
o[d + 15],
22,
1236535329,
)),
(u = g(
u,
(f = g(
f,
(l = g(
l,
h,
u,
f,
o[d + 1],
5,
-165796510,
)),
h,
u,
o[d + 6],
9,
-1069501632,
)),
l,
h,
o[d + 11],
14,
643717713,
)),
f,
l,
o[d + 0],
20,
-373897302,
)),
(u = g(
u,
(f = g(
f,
(l = g(
l,
h,
u,
f,
o[d + 5],
5,
-701558691,
)),
h,
u,
o[d + 10],
9,
38016083,
)),
l,
h,
o[d + 15],
14,
-660478335,
)),
f,
l,
o[d + 4],
20,
-405537848,
)),
(u = g(
u,
(f = g(
f,
(l = g(l, h, u, f, o[d + 9], 5, 568446438)),
h,
u,
o[d + 14],
9,
-1019803690,
)),
l,
h,
o[d + 3],
14,
-187363961,
)),
f,
l,
o[d + 8],
20,
1163531501,
)),
(u = g(
u,
(f = g(
f,
(l = g(
l,
h,
u,
f,
o[d + 13],
5,
-1444681467,
)),
h,
u,
o[d + 2],
9,
-51403784,
)),
l,
h,
o[d + 7],
14,
1735328473,
)),
f,
l,
o[d + 12],
20,
-1926607734,
)),
(u = m(
u,
(f = m(
f,
(l = m(l, h, u, f, o[d + 5], 4, -378558)),
h,
u,
o[d + 8],
11,
-2022574463,
)),
l,
h,
o[d + 11],
16,
1839030562,
)),
f,
l,
o[d + 14],
23,
-35309556,
)),
(u = m(
u,
(f = m(
f,
(l = m(l, h, u, f, o[d + 1], 4, -1530992060)),
h,
u,
o[d + 4],
11,
1272893353,
)),
l,
h,
o[d + 7],
16,
-155497632,
)),
f,
l,
o[d + 10],
23,
-1094730640,
)),
(u = m(
u,
(f = m(
f,
(l = m(l, h, u, f, o[d + 13], 4, 681279174)),
h,
u,
o[d + 0],
11,
-358537222,
)),
l,
h,
o[d + 3],
16,
-722521979,
)),
f,
l,
o[d + 6],
23,
76029189,
)),
(u = m(
u,
(f = m(
f,
(l = m(l, h, u, f, o[d + 9], 4, -640364487)),
h,
u,
o[d + 12],
11,
-421815835,
)),
l,
h,
o[d + 15],
16,
530742520,
)),
f,
l,
o[d + 2],
23,
-995338651,
)),
(u = y(
u,
(f = y(
f,
(l = y(l, h, u, f, o[d + 0], 6, -198630844)),
h,
u,
o[d + 7],
10,
1126891415,
)),
l,
h,
o[d + 14],
15,
-1416354905,
)),
f,
l,
o[d + 5],
21,
-57434055,
)),
(u = y(
u,
(f = y(
f,
(l = y(l, h, u, f, o[d + 12], 6, 1700485571)),
h,
u,
o[d + 3],
10,
-1894986606,
)),
l,
h,
o[d + 10],
15,
-1051523,
)),
f,
l,
o[d + 1],
21,
-2054922799,
)),
(u = y(
u,
(f = y(
f,
(l = y(l, h, u, f, o[d + 8], 6, 1873313359)),
h,
u,
o[d + 15],
10,
-30611744,
)),
l,
h,
o[d + 6],
15,
-1560198380,
)),
f,
l,
o[d + 13],
21,
1309151649,
)),
(u = y(
u,
(f = y(
f,
(l = y(l, h, u, f, o[d + 4], 6, -145523070)),
h,
u,
o[d + 11],
10,
-1120210379,
)),
l,
h,
o[d + 2],
15,
718787259,
)),
f,
l,
o[d + 9],
21,
-343485551,
)),
(l = (l + k) >>> 0),
(h = (h + v) >>> 0),
(u = (u + w) >>> 0),
(f = (f + b) >>> 0);
}
return t.endian([l, h, u, f]);
};
(a._ff = function(e, t, n, i, r, s, a) {
var o = e + ((t & n) | (~t & i)) + (r >>> 0) + a;
return ((o << s) | (o >>> (32 - s))) + t;
}),
(a._gg = function(e, t, n, i, r, s, a) {
var o = e + ((t & i) | (n & ~i)) + (r >>> 0) + a;
return ((o << s) | (o >>> (32 - s))) + t;
}),
(a._hh = function(e, t, n, i, r, s, a) {
var o = e + (t ^ n ^ i) + (r >>> 0) + a;
return ((o << s) | (o >>> (32 - s))) + t;
}),
(a._ii = function(e, t, n, i, r, s, a) {
var o = e + (n ^ (t | ~i)) + (r >>> 0) + a;
return ((o << s) | (o >>> (32 - s))) + t;
}),
(a._blocksize = 16),
(a._digestsize = 16),
(e.exports = function(e, n) {
if (null == e) throw new Error("Illegal argument " + e);
var i = t.wordsToBytes(a(e, n));
return n && n.asBytes ?
i :
n && n.asString ?
s.bytesToString(i) :
t.bytesToHex(i);
});
})();
},
function(e, t) {
!(function() {
var t =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
n = {
rotl: function(e, t) {
return (e << t) | (e >>> (32 - t));
},
rotr: function(e, t) {
return (e << (32 - t)) | (e >>> t);
},
endian: function(e) {
if (e.constructor == Number)
return (16711935 & n.rotl(e, 8)) | (4278255360 & n.rotl(e, 24));
for (var t = 0; t < e.length; t++) e[t] = n.endian(e[t]);
return e;
},
randomBytes: function(e) {
for (var t = []; e > 0; e--)
t.push(Math.floor(256 * Math.random()));
return t;
},
bytesToWords: function(e) {
for (var t = [], n = 0, i = 0; n < e.length; n++, i += 8)
t[i >>> 5] |= e[n] << (24 - (i % 32));
return t;
},
wordsToBytes: function(e) {
for (var t = [], n = 0; n < 32 * e.length; n += 8)
t.push((e[n >>> 5] >>> (24 - (n % 32))) & 255);
return t;
},
bytesToHex: function(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push((e[n] >>> 4).toString(16)),
t.push((15 & e[n]).toString(16));
return t.join("");
},
hexToBytes: function(e) {
for (var t = [], n = 0; n < e.length; n += 2)
t.push(parseInt(e.substr(n, 2), 16));
return t;
},
bytesToBase64: function(e) {
for (var n = [], i = 0; i < e.length; i += 3)
for (
var r = (e[i] << 16) | (e[i + 1] << 8) | e[i + 2], s = 0; s < 4; s++
)
8 * i + 6 * s <= 8 * e.length ?
n.push(t.charAt((r >>> (6 * (3 - s))) & 63)) :
n.push("=");
return n.join("");
},
base64ToBytes: function(e) {
e = e.replace(/[^A-Z0-9+\/]/gi, "");
for (var n = [], i = 0, r = 0; i < e.length; r = ++i % 4)
0 != r &&
n.push(
((t.indexOf(e.charAt(i - 1)) &
(Math.pow(2, -2 * r + 8) - 1)) <<
(2 * r)) |
(t.indexOf(e.charAt(i)) >>> (6 - 2 * r)),
);
return n;
},
};
e.exports = n;
})();
},
function(e, t) {
function n(e) {
return (
!!e.constructor &&
"function" == typeof e.constructor.isBuffer &&
e.constructor.isBuffer(e)
);
}
/*!
* Determine if an object is a Buffer
*
* @author D_Alpha
* @license MIT
*/
e.exports = function(e) {
return (
null != e &&
(n(e) ||
(function(e) {
return (
"function" == typeof e.readFloatLE &&
"function" == typeof e.slice &&
n(e.slice(0, 0))
);
})(e) ||
!!e._isBuffer)
);
};
},
function(e, t) {
e.exports = function(e, t, n, i, r, s, a, o, c) {
(this.aiTypes = [{
id: 0,
src: "cow_1",
killScore: 150,
health: 500,
weightM: 0.8,
speed: 95e-5,
turnSpeed: 0.001,
scale: 72,
drop: ["food", 50],
chat: "Moooo"
},
{
id: 1,
src: "pig_1",
killScore: 200,
health: 800,
weightM: 0.6,
speed: 85e-5,
turnSpeed: 0.001,
scale: 72,
drop: ["food", 80],
chat: "I eat bacon"
},
{
id: 2,
name: "Bull",
src: "bull_2",
hostile: !0,
dmg: 20,
killScore: 1e3,
health: 1800,
weightM: 0.5,
speed: 94e-5,
turnSpeed: 74e-5,
scale: 78,
viewRange: 800,
chargePlayer: !0,
drop: ["food", 100],
chat: "Oley!"
},
{
id: 3,
name: "Bully",
src: "bull_1",
hostile: !0,
dmg: 20,
killScore: 2e3,
health: 2800,
weightM: 0.45,
speed: 0.001,
turnSpeed: 8e-4,
scale: 90,
viewRange: 900,
chargePlayer: !0,
drop: ["food", 400],
chat: "Give me your lunch money!"
},
{
id: 4,
name: "Wolf",
src: "wolf_1",
hostile: !0,
dmg: 8,
killScore: 500,
health: 300,
weightM: 0.45,
speed: 0.001,
turnSpeed: 0.002,
scale: 84,
viewRange: 800,
chargePlayer: !0,
drop: ["food", 200],
chat: "Woof"
},
{
id: 5,
name: "Quack",
src: "chicken_1",
dmg: 8,
killScore: 2e3,
noTrap: !0,
health: 300,
weightM: 0.2,
speed: 0.0018,
turnSpeed: 0.006,
scale: 70,
drop: ["food", 100],
chat: "Quack Quack!"
},
{
id: 6,
name: "MOOSTAFA",
nameScale: 50,
src: "enemy",
hostile: !0,
dontRun: !0,
fixedSpawn: !0,
spawnDelay: 6e4,
noTrap: !0,
colDmg: 100,
dmg: 40,
killScore: 8e3,
health: 18e3,
weightM: 0.4,
speed: 7e-4,
turnSpeed: 0.01,
scale: 80,
spriteMlt: 1.8,
leapForce: 0.9,
viewRange: 1e3,
hitRange: 210,
hitDelay: 1e3,
chargePlayer: !0,
drop: ["food", 100],
chat: "MOOSTAFA KILL YOU"
},
{
id: 7,
name: "Treasure",
hostile: !0,
nameScale: 35,
src: "crate_1",
fixedSpawn: !0,
spawnDelay: 12e4,
colDmg: 200,
killScore: 5e3,
health: 2e4,
weightM: 0.1,
speed: 0,
turnSpeed: 0,
scale: 70,
spriteMlt: 1,
chat: "No key? Time for box abuse!"
},
{
id: 8,
name: "MOOFIE",
src: "wolf_2",
hostile: !0,
fixedSpawn: !0,
dontRun: !0,
hitScare: 4,
spawnDelay: 3e4,
noTrap: !0,
nameScale: 35,
dmg: 10,
colDmg: 100,
killScore: 3e3,
health: 7e3,
weightM: 0.45,
speed: 0.0015,
turnSpeed: 0.002,
scale: 90,
viewRange: 800,
chargePlayer: !0,
drop: ["food", 1e3],
chat: "eEeEeEeEEEeEEEEEee!"
},
]),
(this.spawn = function(l, h, u, f) {
for (var d, p = 0; p < e.length; ++p)
if (!e[p].active) {
d = e[p];
break;
}
return (
d || ((d = new t(e.length, r, n, i, a, s, o, c)), e.push(d)),
d.init(l, h, u, f, this.aiTypes[f]),
d
);
});
};
},
function(e, t) {
var n = 2 * Math.PI;
e.exports = function(e, t, i, r, s, a, o, c) {
(this.sid = e),
(this.isAI = !0),
(this.nameIndex = s.randInt(0, a.cowNames.length - 1)),
(this.init = function(e, t, n, i, r) {
(this.x = e),
(this.y = t),
(this.startX = r.fixedSpawn ? e : null),
(this.startY = r.fixedSpawn ? t : null),
(this.xVel = 0),
(this.yVel = 0),
(this.zIndex = 0),
(this.dir = n),
(this.dirPlus = 0),
(this.index = i),
(this.src = r.src),
r.name && (this.name = r.name),
(this.weightM = r.weightM),
(this.speed = r.speed),
(this.killScore = r.killScore),
(this.turnSpeed = r.turnSpeed),
(this.scale = r.scale),
(this.maxHealth = r.health),
(this.leapForce = r.leapForce),
(this.health = this.maxHealth),
(this.chargePlayer = r.chargePlayer),
(this.viewRange = r.viewRange),
(this.drop = r.drop),
(this.dmg = r.dmg),
(this.hostile = r.hostile),
(this.dontRun = r.dontRun),
(this.hitRange = r.hitRange),
(this.hitDelay = r.hitDelay),
(this.hitScare = r.hitScare),
(this.spriteMlt = r.spriteMlt),
(this.nameScale = r.nameScale),
(this.colDmg = r.colDmg),
(this.noTrap = r.noTrap),
(this.spawnDelay = r.spawnDelay),
(this.hitWait = 0),
(this.waitCount = 1e3),
(this.moveCount = 0),
(this.targetDir = 0),
(this.active = !0),
(this.alive = !0),
(this.runFrom = null),
(this.chargeTarget = null),
(this.dmgOverTime = {});
});
var l = 0;
(this.update = function(e) {
if (this.active) {
if (this.spawnCounter)
return (
(this.spawnCounter -= e),
void(
this.spawnCounter <= 0 &&
((this.spawnCounter = 0),
(this.x = this.startX || s.randInt(0, a.mapScale)),
(this.y = this.startY || s.randInt(0, a.mapScale)))
)
);
(l -= e) <= 0 &&
(this.dmgOverTime.dmg &&
(this.changeHealth(-this.dmgOverTime.dmg, this.dmgOverTime.doer),
(this.dmgOverTime.time -= 1),
this.dmgOverTime.time <= 0 && (this.dmgOverTime.dmg = 0)),
(l = 1e3));
var r = !1,
o = 1;
if (
(!this.zIndex &&
!this.lockMove &&
this.y >= a.mapScale / 2 - a.riverWidth / 2 &&
this.y <= a.mapScale / 2 + a.riverWidth / 2 &&
((o = 0.33), (this.xVel += a.waterCurrent * e)),
this.lockMove)
)
(this.xVel = 0), (this.yVel = 0);
else if (this.waitCount > 0) {
if (((this.waitCount -= e), this.waitCount <= 0))
if (this.chargePlayer) {
for (var h, u, f, d = 0; d < i.length; ++d)
!i[d].alive ||
(i[d].skin && i[d].skin.bullRepel) ||
((f = s.getDistance(this.x, this.y, i[d].x, i[d].y)) <=
this.viewRange &&
(!h || f < u) &&
((u = f), (h = i[d])));
h
?
((this.chargeTarget = h),
(this.moveCount = s.randInt(8e3, 12e3))) :
((this.moveCount = s.randInt(1e3, 2e3)),
(this.targetDir = s.randFloat(-Math.PI, Math.PI)));
} else
(this.moveCount = s.randInt(4e3, 1e4)),
(this.targetDir = s.randFloat(-Math.PI, Math.PI));
} else if (this.moveCount > 0) {
var p = this.speed * o;
if (
(this.runFrom &&
this.runFrom.active &&
(!this.runFrom.isPlayer || this.runFrom.alive) ?
((this.targetDir = s.getDirection(
this.x,
this.y,
this.runFrom.x,
this.runFrom.y,
)),
(p *= 1.42)) :
this.chargeTarget &&
this.chargeTarget.alive &&
((this.targetDir = s.getDirection(
this.chargeTarget.x,
this.chargeTarget.y,
this.x,
this.y,
)),
(p *= 1.75),
(r = !0)),
this.hitWait && (p *= 0.3),
this.dir != this.targetDir)
) {
this.dir %= n;
var g = (this.dir - this.targetDir + n) % n,
m = Math.min(Math.abs(g - n), g, this.turnSpeed * e),
y = g - Math.PI >= 0 ? 1 : -1;
this.dir += y * m + n;
}
(this.dir %= n),
(this.xVel += p * e * Math.cos(this.dir)),
(this.yVel += p * e * Math.sin(this.dir)),
(this.moveCount -= e),
this.moveCount <= 0 &&
((this.runFrom = null),
(this.chargeTarget = null),
(this.waitCount = this.hostile ? 1500 : s.randInt(1500, 6e3)));
}
(this.zIndex = 0), (this.lockMove = !1);
var k = s.getDistance(0, 0, this.xVel * e, this.yVel * e),
v = Math.min(4, Math.max(1, Math.round(k / 40))),
w = 1 / v;
for (d = 0; d < v; ++d) {
this.xVel && (this.x += this.xVel * e * w),
this.yVel && (this.y += this.yVel * e * w),
(M = t.getGridArrays(this.x, this.y, this.scale));
for (var b = 0; b < M.length; ++b)
for (var x = 0; x < M[b].length; ++x)
M[b][x].active && t.checkCollision(this, M[b][x], w);
}
var S,
T,
I,
E = !1;
if (this.hitWait > 0 && ((this.hitWait -= e), this.hitWait <= 0)) {
(E = !0),
(this.hitWait = 0),
this.leapForce &&
!s.randInt(0, 2) &&
((this.xVel += this.leapForce * Math.cos(this.dir)),
(this.yVel += this.leapForce * Math.sin(this.dir)));
for (
var M = t.getGridArrays(this.x, this.y, this.hitRange), A = 0; A < M.length;
++A
)
for (b = 0; b < M[A].length; ++b)
(S = M[A][b]).health &&
(T = s.getDistance(this.x, this.y, S.x, S.y)) <
S.scale + this.hitRange &&
(S.changeHealth(5 * -this.dmg) && t.disableObj(S),
t.hitObj(S, s.getDirection(this.x, this.y, S.x, S.y)));
for (b = 0; b < i.length; ++b)
i[b].canSee(this) && c.send(i[b].id, "aa", this.sid);
}
if (r || E)
for (d = 0; d < i.length; ++d)
(S = i[d]) &&
S.alive &&
((T = s.getDistance(this.x, this.y, S.x, S.y)),
this.hitRange ?
!this.hitWait &&
T <= this.hitRange + S.scale &&
(E ?
((I = s.getDirection(S.x, S.y, this.x, this.y)),
S.changeHealth(-this.dmg),
(S.xVel += 0.6 * Math.cos(I)),
(S.yVel += 0.6 * Math.sin(I)),
(this.runFrom = null),
(this.chargeTarget = null),
(this.waitCount = 3e3),
(this.hitWait = s.randInt(0, 2) ? 0 : 600)) :
(this.hitWait = this.hitDelay)) :
T <= this.scale + S.scale &&
((I = s.getDirection(S.x, S.y, this.x, this.y)),
S.changeHealth(-this.dmg),
(S.xVel += 0.55 * Math.cos(I)),
(S.yVel += 0.55 * Math.sin(I))));
this.xVel && (this.xVel *= Math.pow(a.playerDecel, e)),
this.yVel && (this.yVel *= Math.pow(a.playerDecel, e));
var P = this.scale;
this.x - P < 0 ?
((this.x = P), (this.xVel = 0)) :
this.x + P > a.mapScale &&
((this.x = a.mapScale - P), (this.xVel = 0)),
this.y - P < 0 ?
((this.y = P), (this.yVel = 0)) :
this.y + P > a.mapScale &&
((this.y = a.mapScale - P), (this.yVel = 0));
}
}),
(this.canSee = function(e) {
if (!e) return !1;
if (e.skin && e.skin.invisTimer && e.noMovTimer >= e.skin.invisTimer)
return !1;
var t = Math.abs(e.x - this.x) - e.scale,
n = Math.abs(e.y - this.y) - e.scale;
return (
t <= (a.maxScreenWidth / 2) * 1.3 &&
n <= (a.maxScreenHeight / 2) * 1.3
);
});
var h = 0,
u = 0;
(this.animate = function(e) {
this.animTime > 0 &&
((this.animTime -= e),
this.animTime <= 0 ?
((this.animTime = 0), (this.dirPlus = 0), (h = 0), (u = 0)) :
0 == u ?
((h += e / (this.animSpeed * a.hitReturnRatio)),
(this.dirPlus = s.lerp(0, this.targetAngle, Math.min(1, h))),
h >= 1 && ((h = 1), (u = 1))) :
((h -= e / (this.animSpeed * (1 - a.hitReturnRatio))),
(this.dirPlus = s.lerp(0, this.targetAngle, Math.max(0, h)))));
}),
(this.startAnim = function() {
(this.animTime = this.animSpeed = 600),
(this.targetAngle = 0.8 * Math.PI),
(h = 0),
(u = 0);
}),
(this.changeHealth = function(e, t, n) {
if (
this.active &&
((this.health += e),
n &&
(this.hitScare && !s.randInt(0, this.hitScare) ?
((this.runFrom = n),
(this.waitCount = 0),
(this.moveCount = 2e3)) :
this.hostile && this.chargePlayer && n.isPlayer ?
((this.chargeTarget = n),
(this.waitCount = 0),
(this.moveCount = 8e3)) :
this.dontRun ||
((this.runFrom = n),
(this.waitCount = 0),
(this.moveCount = 2e3))),
e < 0 && this.hitRange && s.randInt(0, 1) && (this.hitWait = 500),
t &&
t.canSee(this) &&
e < 0 &&
c.send(
t.id,
"t",
Math.round(this.x),
Math.round(this.y),
Math.round(-e),
1,
),
this.health <= 0 &&
(this.spawnDelay ?
((this.spawnCounter = this.spawnDelay),
(this.x = -1e6),
(this.y = -1e6)) :
((this.x = this.startX || s.randInt(0, a.mapScale)),
(this.y = this.startY || s.randInt(0, a.mapScale))),
(this.health = this.maxHealth),
(this.runFrom = null),
t && (o(t, this.killScore), this.drop)))
)
for (var i = 0; i < this.drop.length;)
t.addResource(
a.resourceTypes.indexOf(this.drop[i]),
this.drop[i + 1],
),
(i += 2);
});
};
},
]);