Ce script ne doit pas être installé directement. C'est une librairie destinée à être incluse dans d'autres scripts avec la méta-directive // @require https://update.greasyfork.org/scripts/517122/1483086/client302104.js
// Spacebar = on/off aim
function SendWSmsg(message) {
if (window.ws && window.ws.readyState === WebSocket.OPEN) {
window.ws.send(JSON.stringify(message));
}
}
class HackCon {
constructor() {
this.showRealAngles = "withAim";
this.mouseScale = true;
this.DrawLines = true;
this.linesOpacity = 1;
this.ShowHP = true;
this.ColorizeTeam = true;
this.TeamColor = "#00FFFF";
this.EnemyColor = "#FF0000";
this.showPID = false;
this.showLandmines = true;
this.showSpikes = true;
this.showWires = true;
this.drawNamesOnMap = true;
this.changeMyModel = false;
this.myPlayerModel = 0;
this.autoEat = false;
this.hungryLevel = 150;
this.gaugesFood = -1;
this.autoLoot = false;
this.useLootData = false;
this.AimBotEnable = false;
this.target = "players";
this.mouseFovEnable = true;
this.resolverType = "linear";
this.distanceCoefficient = 300;
this.bulletSpeedCoefficient = 4;
this.offsetCoefficient = 0.1;
this.visualizeResolving = true;
this.visualizeResolvingColor = "#EEEEEE";
this.autoFire = false;
this.lockId = -1;
this.mouseFov = 12345;
this.buildingOwner = false;
this.token = "";
this.userId = 0;
this.tokenId = 0;
}
static save() {
navigator.clipboard.writeText(JSON.stringify(MOD));
alert("cfg was copied to your clipboard");
}
static load() {
MOD = JSON.parse(prompt("paste your cfg here"));
alert("cfg was successfully loaded");
}
}
class GetAllTargetsCon {
constructor() {
this.players = Array.from({ length: 121 }, (_, i) => new GetTarget(i));
this.ghouls = Array.from({ length: 999 }, (_, i) => new GetTarget(i));
this.obstacles = [];
this.lines = [
new LinesCon(0.6, 1, "#EEEEEE"),
new LinesCon(0.8, 3, "#FF0000"),
new LinesCon(0.8, 3, "#00FF00"),
new LinesCon(0.8, 2, "#0000FF"),
];
this.mousePosition = { x: 0, y: 0 };
this.mouseMapCords = { x: 0, y: 0 };
this.tappedForLast140mills = false;
this.shifting = false;
this.menuActive = false;
this.menuX = 0;
this.menuY = 0;
this.menuWidth = 0;
this.menuHeight = 0;
this.lastId = 0;
this.myLastMoveDirection = 0;
}
getPlayerById(pID) {
return this.players[pID];
}
getGhoulByUid(uID) {
return this.ghouls[uID];
}
resetLines() {
this.lines.forEach(line => line.reset());
}
}
class GetTarget {
constructor(id) {
this.id = id;
this.x = -1;
this.y = -1;
this.prevX = Array(3).fill(-1);
this.prevY = Array(3).fill(-1);
this.active = false;
this.weapon = -1;
this.gear = -1;
}
update(ux, uy) {
this.active = true;
this.prevX = [this.x, ...this.prevX.slice(0, 2)];
this.prevY = [this.y, ...this.prevY.slice(0, 2)];
this.x = ux;
this.y = uy;
}
setInactive() {
this.x = -1;
this.y = -1;
this.prevX.fill(-1);
this.prevY.fill(-1);
this.active = false;
GetAllTargets.resetLines();
}
}
class AimbotCon {
constructor() {
this.lastAngle = 0;
this.targetPlayer = null;
}
wannaFire(watarget = this.targetPlayer) {
if (!watarget) return false;
const [x0, x1, x2] = watarget.prevX;
const [y0, y1, y2] = watarget.prevY;
return ((watarget.x - x0 > 0) !== (x0 - x1 > 0)) || ((watarget.y - y0 > 0) !== (y0 - y1 > 0));
}
resolve() {
const myPlayer = GetAllTargets.getPlayerById(World.PLAYER.id);
let target;
if (MOD.lockId > -1) {
target = GetAllTargets.getPlayerById(MOD.lockId);
} else {
target = MOD.mouseFovEnable
? this.findNearestPlayerTo(GetAllTargets.mouseMapCords, MOD.mouseFov)
: this.findNearestPlayerTo(myPlayer, 2500);
}
this.targetPlayer = target;
if (!target) return this.lastAngle;
const distance = Math.hypot(myPlayer.x - target.x, myPlayer.y - target.y);
const coefficient = distance / MOD.distanceCoefficient + MOD.offsetCoefficient;
const targetX = target.prevX[0] === -1 ? target.x : target.x + coefficient * (target.x - target.prevX[0]);
const targetY = target.prevY[0] === -1 ? target.y : target.y + coefficient * (target.y - target.prevY[0]);
const angle = Math.atan2(targetY - myPlayer.y, targetX - myPlayer.x) * (180 / Math.PI);
this.lastAngle = angle;
if (MOD.visualizeResolving) {
GetAllTargets.lines[0].reset(myPlayer.x, myPlayer.y, targetX, targetY);
}
return Math.round(angle);
}
findNearestPlayerTo(cords, fov) {
let closest = null;
let minDistance = fov;
const checkEntities = (entities) => {
for (let entity of entities) {
if (entity.active && entity.id !== World.PLAYER.id && (World.players[entity.id].team !== World.PLAYER.team || World.PLAYER.team === -1)) {
const distance = Math.hypot(cords.x - entity.x, cords.y - entity.y);
if (distance < minDistance) {
closest = entity;
minDistance = distance;
}
}
}
};
if (MOD.target === 'players' || MOD.target === 'all') {
checkEntities(GetAllTargets.players);
}
if (MOD.target === 'ghouls' || MOD.target === 'all') {
checkEntities(GetAllTargets.ghouls);
}
return closest;
}
}
class LinesCon {
constructor(alpha, width, color) {
this.x1 = -10;
this.x2 = -10;
this.y1 = -10;
this.y2 = -10;
this.alpha = alpha;
this.width = width;
this.color = color;
}
reset(x1, y1, x2, y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
}
function AimbotRefresh() {
if (World.PLAYER.id === 0) {
if (GetAllTargets.lastId !== 0) {
GetAllTargets.lastId = 0;
for (let player of GetAllTargets.players) player.setInactive();
}
return;
}
GetAllTargets.lastId = World.PLAYER.id;
if (MOD.AimBotEnable) {
SendWSmsg([6, Aimbot.resolve()]);
if (MOD.autoFire && Aimbot.wannaFire()) {
SendWSmsg([4]);
SendWSmsg([5]);
}
}
}
var GetAllTargets = new GetAllTargetsCon();
var MOD = new HackCon();
var Aimbot = new AimbotCon();
setInterval(AimbotRefresh, 50);
window.addEventListener("mousemove", event => {
GetAllTargets.mousePosition.x = event.clientX, GetAllTargets.mousePosition.y = event.clientY;
});
window.addEventListener("keydown", event => {
if (chatvisible != 0) return;
if (event.keyCode === 32) MOD.AimBotEnable = !MOD.AimBotEnable;
if (event.keyCode === 66) MOD.autoLoot = !MOD.autoLoot;
});
// Your main script
window.onload = () => {
// Create a GUI
const gui = new dat.GUI({ name: 'devast.MOD' });
//-----------------------------------
const visuals = gui.addFolder('Visuals');
visuals.open();
const showFolder = visuals.addFolder('Show');
showFolder.add(MOD, 'showPID');
showFolder.add(MOD, 'ShowHP');
showFolder.add(MOD, 'showLandmines');
showFolder.add(MOD, 'showSpikes');
showFolder.add(MOD, 'showWires');
showFolder.add(MOD, 'mouseScale');
showFolder.add(MOD, 'showRealAngles', ['always', 'withAim']);
showFolder.add(MOD, 'buildingOwner');
const teamFolder = visuals.addFolder('Team');
teamFolder.add(MOD, 'drawNamesOnMap');
teamFolder.add(MOD, 'ColorizeTeam');
const teamcolor = teamFolder.addColor(MOD, 'TeamColor').domElement;
teamcolor.disabled = true;
const enemycolor = teamFolder.addColor(MOD, 'EnemyColor').domElement;
enemycolor.disabled = true;
const linesFolder = visuals.addFolder('Lines');
linesFolder.add(MOD, 'DrawLines');
const linesopas = linesFolder.add(MOD, 'linesOpacity', 0, 1, 0.1).domElement;
linesopas.disabled = true;
//-------------------------------------
const automation = gui.addFolder('Automation');
automation.open();
const autoLootFolder = automation.addFolder('AutoLoot');
autoLootFolder.add(MOD, 'autoLoot');
autoLootFolder.add(MOD, "useLootData");
const autoEatFolder = automation.addFolder('AutoEat');
autoEatFolder.add(MOD, 'autoEat');
const i = autoEatFolder.add(MOD, 'hungryLevel', 0, 255, 10).domElement;
i.disabled = true;
//------------------------------------------
const aimbotfolder = gui.addFolder('Aim Bot');
aimbotfolder.add(MOD, 'AimBotEnable');
aimbotfolder.add(MOD, 'target', ['players', 'ghouls', 'all']);
aimbotfolder.add(MOD, 'distanceCoefficient', 10, 1000, 10);
aimbotfolder.add(MOD, 'bulletSpeedCoefficient', 1, 15, 0.25);
aimbotfolder.add(MOD, 'offsetCoefficient', 0, 3, 0.1);
//------------------------------------------
const skinchanger = gui.addFolder('Skin');
skinchanger.add(MOD, 'changeMyModel');
const sc = skinchanger.add(MOD, 'myPlayerModel', 0, 14, 1).domElement;
sc.disabled = true;
//--------------------------------------
const tokenchanger = gui.addFolder('Token Changer');
const btnCopyToken = tokenchanger.add({ Copy: () => {} }, 'Copy');
btnCopyToken.onChange(() => {
const token = localStorage.getItem('token');
const tokenId = localStorage.getItem('tokenId');
const userId = localStorage.getItem('userId');
const messages = `"${token}" "${tokenId}" "${userId}"`;
navigator.clipboard.writeText(messages);
});
tokenchanger.add(MOD, 'token');
const btnChangeToken = tokenchanger.add({ Change: () => {} }, 'Change');
btnChangeToken.onChange(async () => {
try {
const clipboardText = MOD.token;
const extractedValues = extractValuesFromText(clipboardText);
if (extractedValues) {
const { token, tokenId, userId } = extractedValues;
localStorage.setItem('token', token);
localStorage.setItem('tokenId', tokenId);
localStorage.setItem('userId', userId);
}
} catch (error) {
console.error('Failed to read token:', error);
}
});
function extractValuesFromText(pastedText) {
const values = pastedText.match(/"([^"]*)"/g);
if (values && values.length === 3) {
return {
token: values[0].slice(1, -1),
tokenId: values[1].slice(1, -1),
userId: values[2].slice(1, -1),
};
} else {
return null;
}
}
const lootdata = gui.addFolder("LootData");
const controllers = {};
for (const itemData of lootItems) {
const itemName = itemData.name;
const controller = lootdata.add(itemData, "acquire").name(itemName);
controller.onChange(function (value) {
controllers[itemName].object.acquire = value; // Update the controller value
LootData[itemName].acquire = value; // Update the LootData object
});
controllers[itemName] = controller;
}
var cfg = gui.addFolder("CFG");
cfg.add(HackCon, "save");
cfg.add(HackCon, "load");
};
const lootItems = [
{name:"smallwood",acquire:true,extra:0},
{name:"mediumwood",acquire:true,extra:1},
{name:"bigwood",acquire:true,extra:2},
{name:"smallstone",acquire:true,extra:3},
{name:"mediumstone",acquire:true,extra:4},
{name:"bigstone",acquire:true,extra:5},
{name:"steel",acquire:true,extra:6},
{name:"animalfat",acquire:true,extra:7},
{name:"animaltendon",acquire:true,extra:8},
{name:"string",acquire:true,extra:9},
{name:"leatherboar",acquire:true,extra:10},
{name:"shapedmetal",acquire:true,extra:11},
{name:"rawsteak",acquire:true,extra:12},
{name:"cookedsteak",acquire:true,extra:13},
{name:"rottensteak",acquire:true,extra:14},
{name:"orange",acquire:true,extra:15},
{name:"rottenorange",acquire:true,extra:16},
{name:"seedorange",acquire:true,extra:17},
{name:"hachet",acquire:true,extra:18},
{name:"stonepickaxe",acquire:true,extra:19},
{name:"steelpickaxe",acquire:true,extra:20},
{name:"stoneaxe",acquire:true,extra:21},
{name:"workbench",acquire:true,extra:22},
{name:"woodspear",acquire:true,extra:23},
{name:"woodbow",acquire:true,extra:24},
{name:"9mm",acquire:true,extra:25},
{name:"deserteagle",acquire:true,extra:26},
{name:"shotgun",acquire:true,extra:27},
{name:"ak47",acquire:true,extra:28},
{name:"sniper",acquire:true,extra:29},
{name:"woodwall",acquire:true,extra:30},
{name:"stonewall",acquire:true,extra:31},
{name:"steelwall",acquire:true,extra:32},
{name:"wooddoor",acquire:true,extra:33},
{name:"stonedoor",acquire:true,extra:34},
{name:"steeldoor",acquire:true,extra:35},
{name:"campfire",acquire:true,extra:36},
{name:"bullet9mm",acquire:true,extra:37},
{name:"bulletshotgun",acquire:true,extra:38},
{name:"bulletsniper",acquire:true,extra:39},
{name:"medikit",acquire:true,extra:40},
{name:"bandage",acquire:true,extra:41},
{name:"soda",acquire:true,extra:42},
{name:"mp5",acquire:true,extra:43},
{name:"headscarf",acquire:true,extra:44},
{name:"chapka",acquire:true,extra:45},
{name:"wintercoat",acquire:true,extra:46},
{name:"gazmask",acquire:true,extra:47},
{name:"gazprotection",acquire:true,extra:48},
{name:"radiationsuit",acquire:true,extra:49},
{name:"woodarrow",acquire:true,extra:50},
{name:"campfirebbq",acquire:true,extra:51},
{name:"smelter",acquire:true,extra:52},
{name:"woodbigdoor",acquire:true,extra:53},
{name:"stonebigdoor",acquire:true,extra:54},
{name:"steelbigdoor",acquire:true,extra:55},
{name:"sulfur",acquire:true,extra:56},
{name:"shapeduranium",acquire:true,extra:57},
{name:"workbench2",acquire:true,extra:58},
{name:"uranium",acquire:true,extra:59},
{name:"weaving",acquire:true,extra:60},
{name:"gasoline",acquire:true,extra:61},
{name:"sulfurpickaxe",acquire:true,extra:62},
{name:"chest",acquire:true,extra:63},
{name:"fridge",acquire:true,extra:64},
{name:"woodfloor",acquire:true,extra:65},
{name:"hammer",acquire:true,extra:66},
{name:"sleepingbag",acquire:true,extra:67},
{name:"repairhammer",acquire:true,extra:68},
{name:"nails",acquire:true,extra:69},
{name:"woodlightfloor",acquire:true,extra:70},
{name:"woodsmallwall",acquire:true,extra:71},
{name:"stonesmallwall",acquire:true,extra:72},
{name:"steelsmallwall",acquire:true,extra:73},
{name:"tomatosoup",acquire:true,extra:74},
{name:"syringe",acquire:true,extra:75},
{name:"chemicalcomponent",acquire:true,extra:76},
{name:"radaway",acquire:true,extra:77},
{name:"seedtomato",acquire:true,extra:78},
{name:"tomato",acquire:true,extra:79},
{name:"rottentomato",acquire:true,extra:80},
{name:"can",acquire:true,extra:81},
{name:"woodcrossbow",acquire:true,extra:82},
{name:"woodcrossarrow",acquire:true,extra:83},
{name:"nailgun",acquire:true,extra:84},
{name:"sawedoffshotgun",acquire:true,extra:85},
{name:"stonefloor",acquire:true,extra:86},
{name:"tilingfloor",acquire:true,extra:87},
{name:"crisps",acquire:true,extra:88},
{name:"rottencrisps",acquire:true,extra:89},
{name:"electronics",acquire:true,extra:90},
{name:"junk",acquire:true,extra:91},
{name:"wire",acquire:true,extra:92},
{name:"energycells",acquire:true,extra:93},
{name:"laserpistol",acquire:true,extra:94},
{name:"tesla",acquire:true,extra:95},
{name:"alloys",acquire:true,extra:96},
{name:"sulfuraxe",acquire:true,extra:97},
{name:"landmine",acquire:true,extra:98},
{name:"dynamite",acquire:true,extra:99},
{name:"c4",acquire:true,extra:100},
{name:"c4trigger",acquire:true,extra:101},
{name:"compost",acquire:true,extra:102},
{name:"armorphysic1",acquire:true,extra:103},
{name:"armorphysic2",acquire:true,extra:104},
{name:"armorphysic3",acquire:true,extra:105},
{name:"armorfire1",acquire:true,extra:106},
{name:"armorfire2",acquire:true,extra:107},
{name:"armorfire3",acquire:true,extra:108},
{name:"armordeminer",acquire:true,extra:109},
{name:"armortesla1",acquire:true,extra:110},
{name:"armortesla2",acquire:true,extra:111},
{name:"woodspike",acquire:true,extra:112},
{name:"lasersubmachine",acquire:true,extra:113},
{name:"grenade",acquire:true,extra:114},
{name:"superhammer",acquire:true,extra:115},
{name:"ghoulblood",acquire:true,extra:116},
{name:"camouflagegear",acquire:true,extra:117},
{name:"agitator",acquire:true,extra:118},
{name:"ghouldrug",acquire:true,extra:119},
{name:"mushroom1",acquire:true,extra:120},
{name:"mushroom2",acquire:true,extra:121},
{name:"mushroom3",acquire:true,extra:122},
{name:"rottenmushroom1",acquire:true,extra:123},
{name:"rottenmushroom2",acquire:true,extra:124},
{name:"rottenmushroom3",acquire:true,extra:125},
{name:"lapadone",acquire:true,extra:126},
{name:"lapabotrepair",acquire:true,extra:127},
{name:"smallwire",acquire:true,extra:128},
{name:"pumpkin",acquire:true,extra:129},
{name:"rottenpumpkin",acquire:true,extra:130},
{name:"seedghoul",acquire:true,extra:131},
{name:"extractor",acquire:true,extra:132},
{name:"antidote",acquire:true,extra:133},
{name:"antidoteflower",acquire:true,extra:134},
{name:"seedtree",acquire:true,extra:135},
{name:"acorn",acquire:true,extra:136},
{name:"rottenacorn",acquire:true,extra:137},
{name:"lasersniper",acquire:true,extra:138},
{name:"halbot",acquire:true,extra:139},
{name:"teslabot",acquire:true,extra:140},
{name:"cable0",acquire:true,extra:141},
{name:"cable1",acquire:true,extra:142},
{name:"cable2",acquire:true,extra:143},
{name:"cable3",acquire:true,extra:144},
{name:"switch",acquire:true,extra:145},
{name:"gateor",acquire:true,extra:146},
{name:"gateand",acquire:true,extra:147},
{name:"gatenot",acquire:true,extra:148},
{name:"lamp",acquire:true,extra:149},
{name:"cablewall",acquire:true,extra:150},
{name:"automaticdoor",acquire:true,extra:151},
{name:"platform",acquire:true,extra:152},
{name:"stonecave",acquire:true,extra:153},
{name:"bunkerwall",acquire:true,extra:154},
{name:"goldfloor",acquire:true,extra:155},
{name:"redfloor",acquire:true,extra:156},
{name:"weldingmachine",acquire:true,extra:157},
{name:"cable4",acquire:true,extra:158},
{name:"gatetimer",acquire:true,extra:159},
{name:"gatexorcounter",acquire:true,extra:16}
];
const LootData = Object.fromEntries(lootItems.map(({ name, acquire, extra }) => [name, { acquire, extra }]));
//---------------------------------------------------------------------------------------------------------------------------------------------//
var lowerCase = window.navigator.userAgent.toLowerCase();
var isTouchScreen = (((((((lowerCase.indexOf("isTouchScreen") !== -1) || (lowerCase.indexOf("android") !== -1)) || (lowerCase.indexOf("ipad") !== -1)) || (lowerCase.indexOf("iphone") !== -1)) || (lowerCase.indexOf("ipod") !== -1)) || (lowerCase.indexOf("kindle") !== -1)) || (lowerCase.indexOf("silk/") !== -1)) ? 1 : 0;
if (isTouchScreen === 1) {
var _meta = window.document.createElement("meta");
_meta.name = "viewport";
_meta.content = "initial-scale=1.0 maximum-scale=1.0";
window.document.getElementsByTagName("head")[0].appendChild(_meta);
}
localStorage2 = null;
try {
localStorage2 = window.localStorage;
localStorage2.setItem("LapaMauve", "1");
localStorage2.getItem("LapaMauve");
} catch (error) {
storage = {};
localStorage2 = {};
localStorage2.setItem = function(storageCell, cellValue) {
storage[storageCell] = cellValue;
};
localStorage2.getItem = function(storageCell) {
return (storage[storageCell] === window.undefined) ? null : storage[storageCell];
};
}
var AutoLootLabel = null;
var AutoEatLabel = null;
var AimBotLabel = null;
var pworld = [[]];
var pworldWidth = 150;
var pworldHeight = 150;
var pathStart = [pworldWidth, pworldHeight];
var pathEnd = [0, 0];
var pathFinder = false;
for (var x = 0; x < pworldWidth; x++) {
pworld[x] = [];
for (var y = 0; y < pworldHeight; y++) {
pworld[x][y] = 0;
}
}
var setx;
var sety;
var rowx;
var rowy;
var canvas;
var canw, canh, canw2, canh2, canw4, canh4, canwns, canhns, canw2ns, canh2ns, canw4ns, canh4ns;
var ctx;
var delta = 0;
var previousTimestamp = 0;
var scaleby = 1;
var fpsAvg = 100;
var canvasQuality = 1;
var __RESIZE_METHOD_SCALE__ = 1;
var __RESIZE_METHOD_CSS__ = 0;
var CanvasUtils = (function() {
var frameSampleCount = 5;
var elapsedTime = 0;
var frameCount = 0;
var currentFPS = 0;
var sampleIndex = 0;
var fpsSamples = new window.Array(frameSampleCount);
var options = {
resizeMethod: __RESIZE_METHOD_SCALE__,
size: window.innerWidth,
aliasing: true,
deviceRatio: window.devicePixelRatio || 1,
scheduledRatio: window.devicePixelRatio || 1,
backingStoreRatio: 1,
forceResolution: 0,
ratio: 0,
ratioX: 1,
ratioY: 1,
can: "can",
bod: "bod"
};
function initAnimatedCanvas(renderer, resizeMethod, can, bod, size, pixelRatio, aliasing) {
setRenderer(renderer);
if (resizeMethod !== window.undefined) options.resizeMethod = resizeMethod;
if (can !== window.undefined) options.can = can;
if (bod !== window.undefined) options.bod = bod;
if (size !== window.undefined) options.size = size;
if (pixelRatio !== window.undefined) options.ratio = pixelRatio;
if (aliasing !== window.undefined) options.aliasing = aliasing;
canvas = window.document.getElementById(options.can);
ctx = canvas.getContext('2d');
options.backingStoreRatio = ((((ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio) || ctx.msBackingStorePixelRatio) || ctx.oBackingStorePixelRatio) || ctx.backingStorePixelRatio) || 1;
initReqAnimationFrame();
canvas.oncontextmenu = function() {
return false;
};
var win = window.document.getElementById(options.bod);
win.ondragstart = function() {
return false;
};
win.ondrop = function() {
return false;
};
win.onresize = bodOnResize;
bodOnResize();
animate();
};
function bodOnResize() {
var aspectRatio, width, height;
if (options.resizeMethod === __RESIZE_METHOD_CSS__) {
if (window.innerWidth > window.innerHeight) {
aspectRatio = window.innerHeight / window.innerWidth;
width = options.size;
height = window.Math.floor(width * aspectRatio);
} else {
aspectRatio = window.innerWidth / window.innerHeight;
height = options.size;
width = window.Math.floor(height * aspectRatio);
}
} else {
width = window.innerWidth;
height = window.innerHeight;
}
canw = width;
canh = height;
canw2 = window.Math.floor(canw / 2);
canh2 = window.Math.floor(canh / 2);
canw4 = window.Math.floor(canw / 4);
canh4 = window.Math.floor(canh / 4);
options.ratioX = canw / window.innerWidth;
options.ratioY = canh / window.innerHeight;
pixelRatio = options.scheduledRatio / options.backingStoreRatio;
if (options.ratio !== 0) pixelRatio *= options.ratio;
canvas.width = canw * pixelRatio;
canvas.height = canh * pixelRatio;
if (options.resizeMethod === __RESIZE_METHOD_SCALE__) {
scaleby = window.Math.max(height / ((options.size * 11) / 16), width / options.size);
canvas.style.width = width + "px";
canvas.style.height = height + "px";
}
canwns = canw / scaleby;
canhns = canh / scaleby;
canw2ns = canw2 / scaleby;
canh2ns = canh2 / scaleby;
canw4ns = canw4 / scaleby;
canh4ns = canh4 / scaleby;
ctx.scale(pixelRatio, pixelRatio);
setAntialiasing(ctx, options.aliasing);
renderer.update();
};
function initReqAnimationFrame() {
var lastTime = 0;
var vandorprefix = ['ms', 'moz', 'webkit', 'o'];
for (var i = 0;
(i < vandorprefix.length) && !window.requestAnimationFrame; ++i) {
window.requestAnimationFrame = window[vandorprefix[i] + 'RequestAnimationFrame'];
window.cancelAnimationFrame = window[vandorprefix[i] + 'CancelAnimationFrame'] || window[vandorprefix[i] + 'CancelRequestAnimationFrame'];
}
if (!window.requestAnimationFrame) window.requestAnimationFrame = function(callback, element) {
var currTime = (new window.Date).getTime();
var timeToCall = window.Math.max(0, 16 - (currTime - lastTime));
var id = window.setTimeout(function() {
callback(currTime + timeToCall);
}, timeToCall);
lastTime = currTime + timeToCall;
return id;
};
if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function(id) {
window.clearTimeout(id);
};
};
function setResolution(resolution) {
if (((resolution === 1) || (resolution === 2)) || (resolution === 3)) {
if (resolution === options.forceResolution) {
resolution = 0;
options.scheduledRatio = options.deviceRatio / canvasQuality;
} else
options.scheduledRatio = options.deviceRatio / resolution;
options.forceResolution = resolution;
bodOnResize();
}
};
function updateFrameStats() {
frameCount++;
elapsedTime += delta;
if (elapsedTime >= 1000) {
currentFPS = (1000 * frameCount) / elapsedTime;
fpsSamples[sampleIndex] = currentFPS;
sampleIndex++;
if (sampleIndex === frameSampleCount) {
var averageFPS = 0;
for (var i = 0; i < frameSampleCount; i++)
averageFPS += fpsSamples[i];
averageFPS = averageFPS / frameSampleCount;
var mnV = options.deviceRatio / options.backingStoreRatio;
if (((options.forceResolution === 0) && (mnV === 2)) && (window.Math.abs(fpsAvg - averageFPS) < 5)) {
if ((averageFPS < 22) && (fpsAvg < 22)) {
if (canvasQuality === 1) {
canvasQuality = 2;
options.scheduledRatio = options.deviceRatio / 2;
bodOnResize();
} else if (canvasQuality === 2) {
canvasQuality = 3;
options.scheduledRatio = options.deviceRatio / 3;
bodOnResize();
}
} else if ((options.deviceRatio > options.scheduledRatio) && ((averageFPS + fpsAvg) > 119)) {
if (canvasQuality === 2) {
canvasQuality = 1;
options.scheduledRatio = options.deviceRatio;
bodOnResize();
} else if (canvasQuality === 3) {
canvasQuality = 2;
options.scheduledRatio = options.deviceRatio / 2;
bodOnResize();
}
}
}
fpsAvg = averageFPS;
sampleIndex = 0;
}
elapsedTime = 0;
frameCount = 0;
}
};
function animate(timestamp) {
window.requestAnimationFrame(animate);
if (timestamp !== window.undefined) {
delta = timestamp - previousTimestamp;
previousTimestamp = timestamp;
}
updateFrameStats();
renderer.draw();
};
function modifyAntialiasing(ctx, isEnabled) {
ctx.imageSmoothingEnabled = isEnabled;
ctx.webkitImageSmoothingEnabled = isEnabled;
ctx.mozImageSmoothingEnabled = isEnabled;
ctx.msImageSmoothingEnabled = isEnabled;
ctx.oImageSmoothingEnabled = isEnabled;
};
function setAntialiasing(ctx, isEnabled) {
if (isEnabled === false) window.document.getElementById(options.can).style.imageRendering = "pixelated";
else window.document.getElementById(options.can).style.imageRendering = "auto";
modifyAntialiasing(ctx, isEnabled);
};
function canvasToImage(canvas) {
var img = new window.Image;
img.src = canvas.toDataURL("image/png");
img.width = canvas.width;
img.height = canvas.height;
return img;
};
function line(ctx, startX, startY, endX, endY) {
ctx.beginPath();
ctx.moveTo(startX * scaleby, startY * scaleby);
ctx.lineTo(endX * scaleby, endY * scaleby);
};
function drawPath(ctx, fillColor, strokeColor, lineWidth) {
if (fillColor !== window.undefined) {
ctx.fillStyle = fillColor;
ctx.fill();
}
if (strokeColor !== window.undefined) {
if (lineWidth !== window.undefined)
ctx.lineWidth = lineWidth;
ctx.strokeStyle = strokeColor;
ctx.stroke();
}
};
function rect(ctx, x, y, width, height) {
ctx.beginPath();
ctx.rect(x * scaleby, y * scaleby, width * scaleby, height * scaleby);
}
function randomColor() {
let color = "#";
for (let i = 0; i < 3; i++) {
let component = Math.floor(Math.random() * 256);
color += component < 16 ? ("0" + component.toString(16)) : component.toString(16);
}
return color;
}
function colorTransition(colors, factor) {
const len = colors.length;
const index = Math.floor(factor * len);
const startColor = colors[Math.max(0, index - 1)];
const endColor = colors[Math.min(index, len - 1)];
factor = (factor % (1 / len)) * len;
let color = "#";
for (let i = 0; i < 3; i++) {
const channel = Math.floor((endColor[i] - startColor[i]) * factor + startColor[i]);
color += channel < 16 ? ("0" + channel.toString(16)) : channel.toString(16);
}
return color;
}
function fillRect(ctx, x, y, width, height, color) {
ctx.beginPath();
ctx.fillStyle = color;
ctx.fillRect(x * scaleby, y * scaleby, width * scaleby, height * scaleby);
}
function circle(ctx, x, y, radius) {
ctx.beginPath();
ctx.arc(x * scaleby, y * scaleby, radius * scaleby, 0, Math.PI * 2);
}
function arc(ctx, x, y, radius, startAngle, endAngle) {
ctx.beginPath();
ctx.arc(x * scaleby, y * scaleby, radius * scaleby, startAngle, endAngle);
}
var renderer = undefined;
function setRenderer(newRenderer) {
renderer = newRenderer;
}
function onloadimg() {
this.isLoaded = 1;
this.wh = this.width / 2;
this.h2 = this.height / 2;
};
function onloadimgerror() {
this.isLoaded = 0;
};
function loadImage(src, img) {
if ((img !== window.undefined) && (img.isLoaded === 2))
return img;
img = new window.Image;
img.isLoaded = 2;
img.onload = onloadimg;
img.onerror = onloadimgerror;
img.src = src;
return img;
};
function lerp(p1, p2, w) {
var c = window.Math.max(1, window.Math.floor(60 / fpsAvg));
for (var i = 0; i < c; i++)
p1 = MathUtils.lerp(p1, p2, w);
return p1;
};
function enableFullscreen() {
var getbod = window.document.getElementById("bod");
if (getbod.requestFullscreen) getbod.requestFullscreen();
else if (getbod.msRequestFullscreen) getbod.msRequestFullscreen();
else if (getbod.mozRequestFullScreen) getbod.mozRequestFullScreen();
else if (getbod.webkitRequestFullscreen) getbod.webkitRequestFullscreen();
};
function disableFullscreen() {
if (window.document.exitFullscreen) window.document.exitFullscreen();
else if (window.document.msExitFullscreen) window.document.msExitFullscreen();
else if (window.document.mozCancelFullscreen) window.document.mozCancelFullscreen();
else if (window.document.webkitExitFullscreen) window.document.webkitExitFullscreen();
};
function createImageContainer(src) {
return {
src: src,
img: {
isLoaded: 0
}
};
};
function loadImageContainer(src) {
var container = createImageContainer(src);
container.img = CanvasUtils.loadImage(container.src, container.img);
return container;
};
function drawImageHd(container, x, y, angle, offsetX, offsetY, scale) {
var img = container.img;
if (img.isLoaded !== 1) {
container.img = loadImage(container.src, container.img);
return;
}
scale *= scaleby;
x *= scaleby;
y *= scaleby;
var width = img.wh * scale;
var height = img.h2 * scale;
var offsetXScaled = (-width / 2) + (offsetX * scale);
var offsetYScaled = (-height / 2) + (offsetY * scale);
if ((x + offsetXScaled + width < 0) || (y + offsetYScaled + height < 0) ||
(x - width - canw > 0) || (y - height - canh > 0)) {
return;
}
ctx.save();
ctx.translate(x, y);
ctx.rotate(angle);
ctx.drawImage(img, offsetXScaled, offsetYScaled, width, height);
ctx.restore();
}
function drawImageHd2(container, x, y, angle, offsetX, offsetY, scale, rotation, additionalOffsetX, additionalOffsetY) {
var img = container.img;
if (img.isLoaded !== 1) {
container.img = CanvasUtils.loadImage(container.src, container.img);
return;
}
scale *= scaleby;
var w = img.wh * scale;
var h = img.h2 * scale;
ctx.save();
ctx.translate(x * scaleby, y * scaleby);
ctx.rotate(angle);
ctx.translate(offsetX * scale, offsetY * scale);
ctx.rotate(rotation);
ctx.drawImage(img, (-w / 2) + (additionalOffsetX * scale), (-h / 2) + (additionalOffsetY * scale), w, h);
ctx.restore();
};
function drawImageHdCrop(container, x, y, angle, srcX, srcY, srcWidth, srcHeight, scale) {
var img = container.img;
if (img.isLoaded !== 1) {
container.img = CanvasUtils.loadImage(container.src, container.img);
return;
}
scale *= scaleby;
x *= scaleby;
y *= scaleby;
var w = (srcWidth / 2) * scale;
var h = (srcHeight / 2) * scale;
var offsetX = -w / 2;
var offsetY = -h / 2;
if ((((((x + offsetX) + w) < 0) || (((y + offsetY) + h) < 0)) || (((x - w) - canw) > 0)) || (((y - h) - canh) > 0))
return;
ctx.save();
ctx.translate(x, y);
ctx.rotate(angle);
ctx.drawImage(img, srcX, srcY, srcWidth, srcHeight, offsetX, offsetY, w, h);
ctx.restore();
};
function roundRect(ctx, x, y, width, height, radius) {
ctx.beginPath();
ctx.moveTo(x + radius, y);
ctx.arcTo(x + width, y, x + width, y + height, radius);
ctx.arcTo(x + width, y + height, x, y + height, radius);
ctx.arcTo(x, y + height, x, y, radius);
ctx.arcTo(x, y, x + width, y, radius);
ctx.closePath();
}
return {
options: options,
initAnimatedCanvas: initAnimatedCanvas,
setAntialiasing: setAntialiasing,
modifyAntialiasing: modifyAntialiasing,
setResolution: setResolution,
canvasToImage: canvasToImage,
rect: rect,
fillRect: fillRect,
circle: circle,
roundRect: roundRect,
randomColor: randomColor,
colorTransition: colorTransition,
line: line,
drawPath: drawPath,
setRenderer: setRenderer,
loadImage: loadImage,
lerp: lerp,
enableFullscreen: enableFullscreen,
disableFullscreen: disableFullscreen,
drawImageHd: drawImageHd,
drawImageHd2: drawImageHd2,
drawImageHdCrop: drawImageHdCrop,
createImageContainer: createImageContainer,
loadImageContainer: loadImageContainer
};
})();
var Math2d = (function() {
function angle(x1, y1, x2, y2) {
var deltaY = y2 - y1;
var deltaX = x2 - x1;
return window.Math.atan2(deltaY, deltaX);
}
function distance(x1, y1, x2, y2) {
var diffX = x2 - x1;
var diffY = y2 - y1;
return window.Math.sqrt((diffX * diffX) + (diffY * diffY));
}
function fastDist(x1, y1, x2, y2) {
var diffX = x2 - x1;
var diffY = y2 - y1;
return (diffX * diffX) + (diffY * diffY);
}
return {
angle: angle,
distance: distance,
fastDist: fastDist
};
})();
var MathUtils = (function() {
var PI2 = window.Math.PI * 2;
var Ease = {
speedLimit: function(t, easingFunction, speed) {
return window.Math.min((speed * t) + easingFunction(t), 1);
},
linear: function(t) {
return t;
},
outQuad: function(t) {
return t * (2 - t);
},
outCubic: function(t) {
return (((--t) * t) * t) + 1;
},
inOutQuad: function(t) {
return (t < 0.5) ? ((2 * t) * t) : (-1 + ((4 - (2 * t)) * t));
},
inQuad: function(t) {
return t * t;
},
inOutCubic: function(t) {
return (t < 0.5) ? (((4 * t) * t) * t) : ((((t - 1) * ((2 * t) - 2)) * ((2 * t) - 2)) + 1);
},
inCubic: function(t) {
return (t * t) * t;
},
inOutQuart: function(t) {
return (t < 0.5) ? ((((8 * t) * t) * t) * t) : (1 - ((((8 * (--t)) * t) * t) * t));
},
inQuart: function(t) {
return ((t * t) * t) * t;
},
outQuart: function(t) {
return 1 - ((((--t) * t) * t) * t);
},
outQuint: function(t) {
return 1 + (((((--t) * t) * t) * t) * t);
}
};
function inflateNumber(n) {
if (n >= 20000)
n = (n - 20000) * 1000;
else if (n >= 10000)
n = (n - 10000) * 100;
return n;
};
function simplifyNumber(n) {
if (n >= 10000) {
var log = window.Math.floor(window.Math.log10(n)) - 2;
var decimal = window.Math.max(0, 3 - log);
var V = window.Math.floor(n / 1000).toString();
if (decimal) {
V += "." + ((n % 1000) / 1000).toString().substring(2).substring(0, decimal);
for (var i = V.length - 1, zero_counter = 0; i > 0; i--) {
if (V[i] != '0') break;
else zero_counter++;
}
V = V.substring(0, V.length - zero_counter);
if (V[V.length - 1] === '.') V = V.substring(0, V.length - 1);
}
V += "k";
return V;
} else return n.toString();
};
function lerp(value1, value2, weight) {
return ((1 - weight) * value1) + (value2 * weight);
};
function beautifyNumber(inputNumber) {
var numberStr = inputNumber + "";
var beautifiedStr = "";
var length = numberStr.length;
for (var i = length - 1, j = 0; i >= 0; i--, j++) {
var currentChar = numberStr[i];
if ((j > 2) && (currentChar !== '-')) {
j = 0;
beautifiedStr = "," + beautifiedStr;
}
beautifiedStr = currentChar + beautifiedStr;
}
return beautifiedStr;
};
function randomizeList(list, randomNumberGenerator) {
var newList = [];
newList.push.apply(newList, list);
var randomArray = [];
while (newList.length > 0) {
var randomIndex = window.Math.floor(randomNumberGenerator() * newList.length);
randomArray.push(newList[randomIndex]);
newList.splice(randomIndex, 1);
}
return randomArray;
};
function reduceAngle(angle1, angle2) {
return angle2 + (window.Math.round((angle1 - angle2) / PI2) * PI2);
};
return {
Ease: Ease,
inflateNumber: inflateNumber,
simplifyNumber: simplifyNumber,
beautifyNumber: beautifyNumber,
randomizeList: randomizeList,
reduceAngle: reduceAngle,
lerp: lerp
};
})();
var Mouse = (function() {
function updatePosition(event, state) {
if (state !== Mouse.__MOUSE_MOVE__)
Mouse.state = state;
Mouse.sx = window.Math.floor(event.clientX * CanvasUtils.options.ratioX);
Mouse.sy = window.Math.floor(event.clientY * CanvasUtils.options.ratioY);
Mouse.x = window.Math.floor(Mouse.sx / scaleby);
Mouse.y = window.Math.floor(Mouse.sy / scaleby);
};
function updateAngle() {
Mouse.angle = Math2d.angle(1, 0, Mouse.x - canw2ns, Mouse.y - canh2ns);
};
function updateDist() {
Mouse.distance = Math2d.distance(canw2ns, canh2ns, Mouse.x, Mouse.y);
};
function updatePosAngle(event, state) {
updatePosition(event, state);
updateAngle();
};
function updateAll(event, state) {
updatePosition(event, state);
updateAngle();
updateDist();
};
function touchToMouseEvent(event, Wwwnn, nvnVv) {
event.clientX = nvnVv.clientX;
event.clientY = nvnVv.clientY;
event.altKey = Wwwnn.altKey;
event.ctrlKey = Wwwnn.ctrlKey;
};
function LocalMouseEvent() {
this.clientX = 0;
this.clientY = 0;
this.altKey = false;
this.ctrlKey = false;
this.preventDefault = function() {};
};
return {
__MOUSE_MOVE__: 0,
__MOUSE_DOWN__: 1,
__MOUSE_UP__: 2,
state: 0,
updatePosition: updatePosition,
updateAngle: updateAngle,
updateDist: updateDist,
updatePosAngle: updatePosAngle,
updateAll: updateAll,
x: 0,
y: 0,
sx: 0,
sy: 0,
angle: 0,
distance: 0,
touchToMouseEvent: touchToMouseEvent,
LocalMouseEvent: LocalMouseEvent
};
})();
var GUI = (function() {
function roundRect(ctx, x, y, width, height, radius) {
(width < (2 * radius)) && (radius = width / 2);
(height < (2 * radius)) && (radius = height / 2);
(0 > radius) && (radius = 0);
ctx.beginPath();
ctx.moveTo(x + radius, y);
ctx.arcTo(x + width, y, x + width, y + height, radius);
ctx.arcTo(x + width, y + height, x, y + height, radius);
ctx.arcTo(x, y + height, x, y, radius);
ctx.arcTo(x, y, x + width, y, radius);
ctx.closePath();
};
function createSprite(width, height, imageSrc, frameDelay, frameDelay) {
var pos = {
x: 0,
y: 0
};
var imageSrc = imageSrc;
var img = CanvasUtils.loadImage(imageSrc);
var frameCount = 0;
var currentFrame = 0;
var frameDelayCounter = frameDelay;
function draw() {
if (img.isLoaded !== 1)
return;
frameCount += window.Math.min(delta, 3 * frameDelay);
if (frameCount > frameDelay) {
frameCount -= frameDelay;
currentFrame = window.Math.floor((currentFrame + 1) % (img.width / frameDelayCounter));
}
ctx.drawImage(img, frameDelayCounter * currentFrame, 0, frameDelayCounter, img.height, pos.x, pos.y, width * scaleby, height * scaleby);
};
return {
draw: draw,
pos: pos
};
};
function createBackground(width, height, imageSrc) {
var pos = {
x: 0,
y: 0,
disable: 0
};
var imageSrc = imageSrc;
var img;
if (imageSrc !== window.undefined)
img = CanvasUtils.loadImage(imageSrc);
else
pos.disable = 1;
function hide() {
pos.disable = 1;
};
function show() {
pos.disable = 0;
};
function draw() {
if ((pos.disable === 1) || (img.isLoaded !== 1))
return;
ctx.drawImage(img, 0, 0, img.width, img.height, pos.x, pos.y, width * scaleby, height * scaleby);
};
return {
draw: draw,
pos: pos,
show: show,
hide: hide
};
};
function createButton(width, height, normalImages, stateImages) {
var pos = {
x: 0,
y: 0,
disable: 0
};
var state = 0;
if (stateImages === window.undefined) {
stateImages = [];
if (normalImages !== window.undefined) {
for (var i = 0; i < normalImages.length; i++)
stateImages[i] = CanvasUtils.loadImage(normalImages[i]);
} else
pos.disable = 1;
}
function setImages(normalImages, state) {
stateImages = state;
for (var i = 0; i < 3; i++) {
var img = stateImages[i];
var src = normalImages[i];
if (img.isLoaded !== 1)
stateImages[i] = CanvasUtils.loadImage(src, img);
}
};
function hide() {
pos.disable = 1;
};
function show() {
pos.disable = 0;
};
function setState(newState) {
state = newState;
};
function getState() {
return state;
};
function draw() {
if (pos.disable === 1)
return;
var img = stateImages[state];
if (stateImages[state].isLoaded !== 1)
return;
ctx.drawImage(img, 0, 0, img.width, img.height, pos.x, pos.y, width * scaleby, height * scaleby);
};
function trigger() {
if (pos.disable === 1)
return 0;
if ((((Mouse.sx > pos.x) && (Mouse.sx < (pos.x + (width * scaleby)))) && (Mouse.sy > pos.y)) && (Mouse.sy < (pos.y + (height * scaleby)))) {
if (Mouse.state === Mouse.__MOUSE_DOWN__)
state = GUI.__BUTTON_CLICK__;
else if (Mouse.state === Mouse.__MOUSE_UP__)
state = GUI.__BUTTON_IN__;
else if ((Mouse.state === Mouse.__MOUSE_MOVE__) && (state !== GUI.__BUTTON_CLICK__))
state = GUI.__BUTTON_IN__;
return 1;
}
state = GUI.__BUTTON_OUT__;
return 0;
};
return {
pos: pos,
trigger: trigger,
draw: draw,
setState: setState,
getState: getState,
setImages: setImages,
show: show,
hide: hide
};
};
function renderText(text, font, color, height, width, background, paddingHorz, paddingVert, border, borderColor, opacity, radius, borderText, borderTextWidth, weight) {
if (text.length === 0)
text = " ";
if (paddingHorz === window.undefined)
paddingHorz = 0;
if (paddingVert === window.undefined)
paddingVert = 0;
if (border === window.undefined)
border = 0;
if (borderTextWidth === window.undefined)
borderTextWidth = 0;
var canvas = window.document.createElement("canvas");
var ctx = canvas.getContext("2d");
ctx.textBaseline = "middle",
ctx.font = ((((weight !== window.undefined) ? (weight + " ") : '') + height) + "px ") + font;
if (width !== window.undefined)
width = window.Math.min(ctx.measureText(text).width, width);
else
width = ctx.measureText(text).width;
canvas.width = width + paddingHorz;
canvas.height = height + paddingVert;
if (background !== window.undefined) {
if (opacity !== window.undefined)
ctx.globalAlpha = opacity;
ctx.fillStyle = background;
if (radius !== window.undefined) {
roundRect(ctx, border + 2, border, ((width + paddingHorz) - (border * 2)) - 4, (height + paddingVert) - (border * 2), radius);
ctx.fill();
} else
ctx.fillRect(border, border, (width + paddingHorz) - (border * 2), (height + paddingVert) - (border * 2));
ctx.globalAlpha = 1;
if (border !== 0) {
ctx.lineWidth = border;
ctx.strokeStyle = borderColor;
ctx.stroke();
}
}
ctx.textBaseline = "middle";
ctx.font = ((((weight !== window.undefined) ? (weight + " ") : '') + height) + "px ") + font;
if (borderText !== window.undefined) {
ctx.strokeStyle = borderText;
ctx.lineWidth = borderTextWidth;
ctx.lineJoin = 'miter';
ctx.miterLimit = 2;
ctx.strokeText(text, window.Math.floor(paddingHorz / 2), window.Math.floor(paddingVert / 2) + window.Math.floor(height / 2), width);
}
ctx.fillStyle = color;
ctx.fillText(text, window.Math.floor(paddingHorz / 2), window.Math.floor(paddingVert / 2) + window.Math.floor(height / 2), width);
canvas.wh = canvas.width / 2;
canvas.h2 = canvas.height / 2;
return canvas;
};
return {
__BUTTON_OUT__: 0,
__BUTTON_IN__: 1,
__BUTTON_CLICK__: 2,
createButton: createButton,
createBackground: createBackground,
createSprite: createSprite,
renderText: renderText
};
})();
function onUnits(data, ui8) {
var ui16 = new window.Uint16Array(data);
/* The amount of object that arrived in one context of units data([18] is one object data(-2 from beggining)) */
var len = (ui8.length - 2) / 18;
if (ui8[1] === 1)
Entitie.removeAll(); // First message contains [0, 1 ...] at the beggining.
for (
var i = 0,
isRef8 = 2,
isRef16 = 1;
i < len; i++,
isRef8 += 18,
isRef16 += 9
) {
var entity = null;
var pid = ui8[isRef8];
var uid = ui8[isRef8 + 1];
var type = ui8[isRef8 + 3];
var state = ui16[isRef16 + 2];
var id = ui16[isRef16 + 3];
var extra = ui16[isRef16 + 8];
if (state === 0) {
Entitie.remove(pid, id, uid, type, extra);
if (type === 0) GetAllTargets.getPlayerById(pid).setInactive();
if (type === 13) GetAllTargets.getGhoulByUid(uid).setInactive();
continue;
}
entity = Entitie.get(pid, id, uid, type);
setEntitie(
entity,
pid,
uid,
id,
type,
ui16[isRef16 + 4], // Position X
ui16[isRef16 + 5], // Position Y
ui16[isRef16 + 6], // Position X
ui16[isRef16 + 7], // Position Y
extra, // Distinguish look of object
ui8[isRef8 + 2], // Rotation
state
);
var update = ENTITIES[type].update;
if (update !== window.undefined) update(entity, ui16[isRef16 + 4], ui16[isRef16 + 5]);
//here
if (pid !== 0 && type === 0) GetAllTargets.getPlayerById(pid).update(ui16[isRef16 + 6], ui16[isRef16 + 7]);
if (uid !== 0 && type === 13) GetAllTargets.getGhoulByUid(uid).update(ui16[isRef16 + 6], ui16[isRef16 + 7]);
}
};
function onOldVersion(data) {
var ui16 = new window.Uint16Array(data);
if ((Home.gameMode === World.__SURVIVAL__) || (Home.gameMode === World.__GHOUL__)) {
Client.badServerVersion(ui16[1]);
if (Home.alertDelay <= 0) {
Home.alertId = (Client.state === Client.State.__OLD_CLIENT_VERSION__) ? 0 : 1;
Home.alertDelay = 3000;
}
} else if (Home.gameMode === World.__BR__) {
Client.badServerVersion(-1);
window.setTimeout(Home.joinServer, 300);
}
};
function onFull() {
Client.full();
if (Home.alertDelay <= 0) {
Home.alertId = 2;
Home.alertDelay = 3000;
}
};
function onPlayerDie(ui8) {
var player = Entitie.findEntitie(__ENTITIE_PLAYER__, World.PLAYER.id, 0);
if (player !== null)
Entitie.remove(player.pid, player.id, player.uid, player.type, 1);
World.PLAYER.kill = (ui8[1] << 8) + ui8[2];
Client.closeClient();
};
function onOtherDie(id) {
if (World.players[id].ghoul === 0)
World.playerAlive--;
};
function onFailRestoreSession() {
Client.failRestore();
};
function onStoleYourSession() {
Client.stolenSession();
};
function onMute(delay) {
Client.muted(delay);
};
function onLeaderboard(data, ui8) {
if (data.byteLength === 1)
return;
var ui16 = new window.Uint16Array(data);
World.initLeaderboard(ui16, ui8);
};
function onHandshake(data, ui8) {
World.PLAYER.id = ui8[1];
var ui16 = new window.Uint16Array(data);
var duration = ui16[3] << 5;
World.initDayCycle((duration >= World.__DAY__) ? 1 : 0, duration);
Client.handshake();
Render.reset();
Entitie.unitsPerPlayer = ui16[1];
World.playerNumber = ui8[4];
World.gameMode = ui8[5];
World.PLAYER.lastScore = -1;
World.PLAYER.exp = 0;
World.PLAYER.click = 0;
World.PLAYER.notification = [];
World.PLAYER.notificationLevel = [];
World.PLAYER.drag.begin = 0;
World.PLAYER.interaction = -1;
World.PLAYER.interactionDelay = 0;
World.PLAYER.WMnWv = 0;
World.PLAYER.blueprint = 0;
World.PLAYER.buildRotate = 0;
World.PLAYER.hintRotate = 0;
World.PLAYER.grid = 0;
for (var i = 0; i < World.PLAYER.gridPrev.length; i++)
World.PLAYER.gridPrev[i] = 0;
for (var i = 0; i < 8; i++)
World.PLAYER.teamPos[i] = {
old: 0,
id: 0
};
World.PLAYER.KARMA = 0;
World.PLAYER.badKarmaDelay = 0;
if (World.gameMode === World.__BR__)
World.PLAYER.craftFactor = 0.2;
else if (World.gameMode === World.__GHOUL__)
World.PLAYER.craftFactor = 0.4;
else
World.PLAYER.craftFactor = 1;
World.PLAYER.lastAreas = [
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1]
];
if (World.gameMode !== World.__GHOUL__) World.PLAYER.nextAreas = 10000000;
World.PLAYER.badKarma = 0;
World.PLAYER.gridPrev[i] = 0;
World.PLAYER.isBuilding = 0;
World.PLAYER.warm = 0;
World.PLAYER.wrongTool = 0;
World.PLAYER.wrongToolTimer = 0;
World.PLAYER.teamLeader = 0;
World.PLAYER.teamDelay = 0;
World.PLAYER.teamQueue = [0, 0, 0, 0, 0];
World.PLAYER.teamCreateDelay = 0;
World.PLAYER.teamEffect = 0;
World.PLAYER.teamJoin = 0;
World.PLAYER.team = -1;
World.PLAYER.craftLen = 0;
World.PLAYER.craftArea = -1;
World.PLAYER.craftCategory = -1;
World.PLAYER.craftSelected = -1;
World.PLAYER.crafting = 0;
World.PLAYER.craftList = [];
World.PLAYER.craftAvailable = [];
World.PLAYER.recipeAvailable = [];
World.PLAYER.recipeList = [];
World.PLAYER.recipeLen = 0;
World.PLAYER.craftSpeed = 0;
World.PLAYER.craftGauge = 0;
World.PLAYER.toolsList = [];
World.PLAYER.toolsLen = 0;
World.PLAYER.skillUnlocked = [];
World.PLAYER.level = 0;
World.PLAYER.kill = 0;
World.PLAYER.xp = 0;
World.PLAYER.skillPoint = 0;
World.PLAYER.nextLevel = 0;
World.PLAYER.isInBuilding = 0;
World.PLAYER.isInChest = 0;
World.PLAYER.extraLoot = 0;
Render.scale = 0;
World.PLAYER.toxicMap = [];
World.PLAYER.toxicStep = 0;
for (var i = 0; i < 8; i++) {
World.PLAYER.toxicMap[i] = [];
for (var j = 0; j < 8; j++)
World.PLAYER.toxicMap[i][j] = 0;
}
var len = ENTITIES[__ENTITIE_PLAYER__].inventorySize;
World.PLAYER.inventory = [];
for (var i = 0; i < len; i++)
World.PLAYER.inventory[i] = [0, 0, 0, 0];
var len = (data.byteLength - 8) / 10;
for (var WVnMV = 8, VmvnN = 4, i = 0; i < len; i++,
WVnMV += 10,
VmvnN += 5) {
var PLAYER = World.players[ui8[WVnMV]];
PLAYER.id = ui8[WVnMV];
World.addToTeam(PLAYER, ui8[WVnMV + 1]);
PLAYER.repellent = (ui8[WVnMV + 2] === 0) ? 0 : (Render.globalTime + (ui8[WVnMV + 2] * 2000));
PLAYER.withdrawal = (ui8[WVnMV + 3] === 0) ? 0 : (Render.globalTime + (ui8[WVnMV + 3] * 1000));
PLAYER.ghoul = ui8[WVnMV + 4];
if (PLAYER.ghoul !== 0)
World.playerAlive--;
PLAYER.tokenId = ui16[VmvnN + 3];
PLAYER.score = MathUtils.inflateNumber(ui16[VmvnN + 4]) + 1;
window.console.log("id", PLAYER.id, "score", PLAYER.score);
PLAYER.scoreSimplified = MathUtils.simplifyNumber(PLAYER.score - 1);
MOD.tokenId = PLAYER.tokenId;
}
World.PLAYER.ghoul = World.players[World.PLAYER.id].ghoul;
localStorage2.setItem("tokenId", World.players[World.PLAYER.id].tokenId);
localStorage2.setItem("userId", World.PLAYER.id);
World.sortLeaderboard();
World.initGauges();
MOD.userId = World.PLAYER.id;
};
function onKickInactivity() {
Client.kickedInactivity();
};
var nMmwv = window['Math'].acos;
window['Math'].acos = window['Math'].asin;
window['Math'].asin = nMmwv;
function onNotification(ui8) {
var PLAYER = World.players[ui8[1]];
PLAYER.notification.push(ui8[2] >> 2);
PLAYER.notificationLevel.push(ui8[2] & 3);
};
function onGauges(data) {
var gauges = World.gauges;
gauges.life.value = data[1];
gauges.food.value = data[2];
gauges.cold.value = data[3];
gauges.stamina.value = data[4];
gauges.rad.value = data[5];
};
function onScore(data) {
var ui16 = new window.Uint16Array(data);
World.PLAYER.exp = (ui16[1] << 16) + ui16[2];
};
function onPlayerHit(id, angle) {
var player = Entitie.findEntitie(__ENTITIE_PLAYER__, id, 0);
if (player !== null) {
if (id === World.PLAYER.id)
Render.shake = 3;
player.hurt = 300;
player.hurtAngle = ((angle * 2) * window.Math.PI) / 255;
}
};
function onFullInventory(MWwnV) {
for (var i = 0; i < World.PLAYER.inventory.length; i++) {
for (var j = 0; j < 4; j++)
World.PLAYER.inventory[i][0] = 0;
}
var j = 0;
for (var i = 1; i < MWwnV.length; i += 4) {
var IID = MWwnV[i];
if (IID !== 0)
Game.inventory[j].setImages(INVENTORY[IID].itemButton.src, INVENTORY[IID].itemButton.img);
else
continue;
var invtr = World.PLAYER.inventory[j];
invtr[1] = MWwnV[i + 1];
invtr[2] = MWwnV[i + 2];
invtr[3] = MWwnV[i + 3];
invtr[0] = IID;
j++;
}
};
function onDeleteItem(IID) {
var invtr = World.PLAYER.inventory;
for (var i = 0; i < invtr.length; i++) {
if ((((invtr[i][0] === IID[1]) && (invtr[i][1] === IID[2])) && (invtr[i][2] === IID[3])) && (invtr[i][3] === IID[4])) {
invtr[i][0] = 0;
invtr[i][1] = 0;
invtr[i][2] = 0;
invtr[i][3] = 0;
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory === -1))
World.buildCraftList(World.PLAYER.craftArea);
return;
}
}
};
function onNewItem(IID) {
var invtr = World.PLAYER.inventory;
for (var i = 0; i < invtr.length; i++) {
if (invtr[i][0] === 0) {
invtr[i][0] = IID[1];
invtr[i][1] = IID[2];
invtr[i][2] = IID[3];
invtr[i][3] = IID[4];
Game.inventory[i].setImages(INVENTORY[IID[1]].itemButton.src, INVENTORY[IID[1]].itemButton.img);
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory === -1))
World.buildCraftList(World.PLAYER.craftArea);
return;
}
}
};
function onPlayerLife(value) {
World.gauges.life.value = value;
};
function onLifeDecreas() {
World.gauges.life.decrease = 1;
};
function onSelectedItem(data) {
World.interactionEffect = INVENTORY[(data[1] << 8) + data[2]]._effect;
};
function onLifeStop() {
World.gauges.life.decrease = 0;
};
function onPlayerHeal(id) {
var player = Entitie.findEntitie(__ENTITIE_PLAYER__, id, 0);
if ((player !== null) && (World.players[id].ghoul === 0))
player.heal = 300;
};
function onStaminaIncrease() {
World.gauges.stamina.decrease = -1;
};
function onReplaceItem(IID) {
var invtr = World.PLAYER.inventory;
for (var i = 0; i < invtr.length; i++) {
if ((((invtr[i][0] === IID[1]) && (invtr[i][1] === IID[2])) && (invtr[i][2] === IID[3])) && (invtr[i][3] === IID[4])) {
invtr[i][1] = IID[5];
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory === -1))
World.buildCraftList(World.PLAYER.craftArea);
return;
}
}
};
function onStackItem(data) {
var inventory = World.PLAYER.inventory;
var firstIndex = -1;
var secondIndex = -1;
for (var i = 0; i < inventory.length; i++) {
if ((((firstIndex === -1) && (inventory[i][0] === data[1])) && (inventory[i][1] === data[2])) && (inventory[i][2] === data[3]))
firstIndex = i;
else if (((inventory[i][0] === data[1]) && (inventory[i][1] === data[4])) && (inventory[i][2] === data[5]))
secondIndex = i;
}
var item = INVENTORY[data[1]];
var totalStack = data[2] + data[4];
if (item.stack < totalStack) {
inventory[secondIndex][3] = window.Math.min(255, window.Math.max(0, window.Math.floor(((inventory[firstIndex][3] * inventory[firstIndex][1]) + (inventory[secondIndex][3] * (item.stack - inventory[firstIndex][1]))) / item.stack)));
inventory[firstIndex][1] = totalStack - item.stack;
inventory[secondIndex][1] = item.stack;
} else {
inventory[secondIndex][3] = window.Math.min(255, window.Math.max(0, window.Math.floor(((inventory[firstIndex][3] * inventory[firstIndex][1]) + (inventory[secondIndex][3] * inventory[secondIndex][1])) / totalStack)));
inventory[firstIndex][0] = 0;
inventory[firstIndex][1] = 0;
inventory[firstIndex][2] = 0;
inventory[firstIndex][3] = 0;
inventory[secondIndex][1] = totalStack;
}
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory === -1))
World.buildCraftList(World.PLAYER.craftArea);
};
function onSplitItem(data) {
var inventory = World.PLAYER.inventory;
var amount = window.Math.floor(data[2] / 2);
var firstIndex = -1;
var secondIndex = -1;
for (var i = 0; i < inventory.length; i++) {
if ((((secondIndex === -1) && (inventory[i][0] === data[1])) && (inventory[i][1] === data[2])) && (inventory[i][2] === data[3])) {
secondIndex = i;
inventory[i][1] -= amount;
} else if ((firstIndex === -1) && (inventory[i][0] === 0)) {
firstIndex = i;
inventory[i][0] = data[1];
inventory[i][1] = amount;
inventory[i][2] = data[4];
Game.inventory[i].setImages(INVENTORY[data[1]].itemButton.src, INVENTORY[data[1]].itemButton.img);
}
}
inventory[firstIndex][3] = inventory[secondIndex][3];
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory === -1))
World.buildCraftList(World.PLAYER.craftArea);
};
function onStaminaStop() { World.gauges.stamina.decrease = 0; };
function onStaminaDecrease() { World.gauges.stamina.decrease = 1; };
function onColdIncrease() { World.gauges.cold.decrease = -1; };
function onColdStop() { World.gauges.cold.decrease = 0; };
function onColdDecrease() { World.gauges.cold.decrease = 1; };
function onPlayerStamina(value) { World.gauges.stamina.value = value; };
function onLifeIncrease() { World.gauges.life.decrease = -1; };
function onReplaceAmmo(IID) {
var invtr = World.PLAYER.inventory;
for (var i = 0; i < invtr.length; i++) {
if ((((invtr[i][0] === IID[1]) && (invtr[i][1] === IID[2])) && (invtr[i][2] === IID[3])) && (invtr[i][3] === IID[4])) {
invtr[i][3] = IID[5];
return;
}
}
};
function NvmWv(IID) {
var invtr = World.PLAYER.inventory;
for (var i = 0; i < invtr.length; i++) {
if (invtr[i][0] === IID[1] && invtr[i][1] === IID[2] && invtr[i][2] === IID[3] && invtr[i][3] === IID[4]) {
invtr[i][3] = IID[5];
return;
}
}
};
function onStartInteraction(delayMultiplier) {
World.PLAYER.interaction = 1;
World.PLAYER.interactionDelay = delayMultiplier * 100;
World.PLAYER.interactionWait = World.PLAYER.interactionDelay;
};
function onInterruptInteraction() {
World.PLAYER.interaction = -1;
World.PLAYER.interactionDelay = 0;
};
function onReplaceItemAndAmmo(IID) {
var invtr = World.PLAYER.inventory;
for (var i = 0; i < invtr.length; i++) {
if ((((invtr[i][0] === IID[1]) && (invtr[i][1] === IID[2])) && (invtr[i][2] === IID[3])) && (invtr[i][3] === IID[4])) {
invtr[i][1] = IID[5];
invtr[i][3] = IID[6];
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory === -1))
World.buildCraftList(World.PLAYER.craftArea);
return;
}
}
};
function onBlueprint(blueprint) {
World.PLAYER.blueprint = blueprint;
};
function onDay() {
World.setDayCycle(0, 0);
World.gauges.cold.decrease = -1;
};
function onNight() {
World.setDayCycle(1, 0);
if (World.PLAYER.warm === 0)
World.gauges.cold.decrease = 1;
};
function onPlayerXp(xp) {
World.PLAYER.xp += xp;
};
function onPlayerXpSkill(ui8) {
var level = ui8[1];
World.PLAYER.level = level;
World.PLAYER.nextLevel = World.getXpFromLevel(level);
World.PLAYER.xp = (((ui8[2] << 24) + (ui8[3] << 16)) + (ui8[4] << 8)) + ui8[5];
World.PLAYER.skillPoint = level;
for (var i = 6; i < ui8.length; i++)
onBoughtSkill(ui8[i]);
};
function onBoughtSkill(IID) {
if (IID === 0)
return;
World.PLAYER.skillUnlocked[IID] = 1;
World.PLAYER.skillPoint -= INVENTORY[IID].detail.price;
var scaleby = INVENTORY[IID].scale;
if (scaleby !== window.undefined)
Render.scale = scaleby;
else {
var bag = INVENTORY[IID].bag;
if (bag !== window.undefined) {
for (var i = 0; i < bag; i++)
World.PLAYER.inventory.push([0, 0, 0, 0]);
}
}
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftCategory !== -1))
World.buildSkillList(World.PLAYER.craftCategory);
};
function onStartCraft(id) {
if ((Game.getSkillBoxState() === 1) && (World.PLAYER.craftArea === 0))
World.buildCraftList(AREAS.__PLAYER__);
var delay = INVENTORY[id].detail.timer[0] * World.PLAYER.craftFactor;
World.PLAYER.crafting = window.Date.now() + delay;
World.PLAYER.craftingMax = delay;
};
function onLostBuilding() {
if (((((Game.getSkillBoxState() === 1) && (World.PLAYER.vwMWn !== -1)) && (World.PLAYER.craftCategory === -1)) && (World.PLAYER.craftArea !== AREAS.__PLAYER__)) || (World.PLAYER.isInChest === 1))
Game.BUTTON_CLOSE_BOX();
};
function onOpenBuilding(ui8) {
var area = ui8[1];
World.buildCraftList(area);
if (ui8[8] === 0) {
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
Game.openBox(1);
World.PLAYER.isInBuilding = 1;
}
var craft = World.PLAYER.building;
var queue = craft.queue;
World.PLAYER.building.len = 4;
for (var i = 0; i < 4; i++) {
var item = ui8[i + 4];
queue[i] = item;
if (item !== 0)
Game.queue[i].setImages(INVENTORY[item].itemButton.src, INVENTORY[item].itemButton.img);
else {
World.PLAYER.building.len = i;
break;
}
}
craft.pos = ui8[3];
if (((((((area === AREAS.__SMELTER__) || (area === AREAS.__FIRE__)) || (area === AREAS.__COMPOST__)) || (area === AREAS.__BBQ__)) || (area === AREAS.__TESLA__)) || (area === AREAS.__AGITATOR__)) || (area === AREAS.__EXTRACTOR__) || (area === AREAS.__FEEDER__))
craft.fuel = ui8[9];
else
craft.fuel = -1;
if (((queue[0] !== 0) && (craft.pos !== 4)) && (queue[craft.pos] !== 0)) {
var item = INVENTORY[queue[craft.pos]];
var canvasZ = item.detail.area;
for (i = 0; i < canvasZ.length; i++) {
if (canvasZ[i] === area) {
craft.timeMax = item.detail.timer[i] * World.PLAYER.craftFactor;
break;
}
}
craft.time = window.Date.now() + (craft.timeMax * (ui8[2] / 255));
} else if (World.PLAYER.building.len === craft.pos)
craft.time = 0;
};
function onNewFuelValue(ui8) {
World.PLAYER.building.fuel = ui8[1];
};
function onWarmOn() {
World.PLAYER.warm = 1;
World.gauges.cold.decrease = -1;
};
function onWarmOff() {
World.PLAYER.warm = 0;
if ((World.day === 1) || (World.transition > 0))
World.gauges.cold.decrease = 1;
};
function FeederonWarmOn() {
World.PLAYER.warm = 1;
World.gauges.cold.decrease = -1;
};
function FeederonWarmOff() {
World.PLAYER.warm = 0;
World.gauges.cold.decrease = 1;
};
function onWrongTool(tool) {
if (World.PLAYER.wrongToolTimer <= 0) {
World.PLAYER.wrongToolTimer = 2000;
World.PLAYER.wrongTool = tool;
}
};
function onModdedGaugesValues(data) {
var ui16 = new window.Uint16Array(data);
World.gauges.life._max = ui16[1];
World.gauges.life.speedInc = ui16[2] / 10000;
World.gauges.life.speedDec = ui16[3] / 10000;
World.gauges.food._max = ui16[4];
World.gauges.food.speedInc = ui16[5] / 10000;
World.gauges.food.speedDec = ui16[6] / 10000;
World.gauges.cold._max = ui16[7];
World.gauges.cold.speedInc = ui16[8] / 10000;
World.gauges.cold.speedDec = ui16[9] / 10000;
World.gauges.stamina._max = ui16[10];
World.gauges.stamina.speedInc = ui16[11] / 10000;
World.gauges.stamina.speedDec = ui16[12] / 10000;
World.gauges.rad._max = ui16[13];
World.gauges.rad.speedInc = ui16[14] / 10000;
World.gauges.rad.speedDec = ui16[15] / 10000;
World.gauges.life.current = window.Math.min(World.gauges.life._max, World.gauges.life.current);
World.gauges.life.value = window.Math.min(World.gauges.life._max, World.gauges.life.value);
World.gauges.food.current = window.Math.min(World.gauges.food._max, World.gauges.food.current);
World.gauges.food.value = window.Math.min(World.gauges.food._max, World.gauges.food.value);
World.gauges.cold.current = window.Math.min(World.gauges.cold._max, World.gauges.cold.current);
World.gauges.cold.value = window.Math.min(World.gauges.cold._max, World.gauges.cold.value);
World.gauges.stamina.current = window.Math.min(World.gauges.stamina._max, World.gauges.stamina.current);
World.gauges.stamina.value = window.Math.min(World.gauges.stamina._max, World.gauges.stamina.value);
World.gauges.rad.current = window.Math.min(World.gauges.rad._max, World.gauges.rad.current);
World.gauges.rad.value = window.Math.min(World.gauges.rad._max, World.gauges.rad.value);
};
function onShakeExplosionState(shake) {
Render.explosionShake = -shake;
};
function onFullChest(ui8) {
var itemsinside = World.PLAYER.chest;
if (ui8[1] === 1) {
Game.openBox(2);
World.PLAYER.isInChest = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
}
for (var space = 0; space < 4; space++) {
for (var j = 0; j < 3; j++) {
var itemimage = ui8[(2 + (space * 3)) + j];
if (j === 0) {
if (itemimage === 0) {
itemsinside[space][0] = 0;
itemsinside[space][1] = 0;
itemsinside[space][2] = 0;
itemsinside[space][3] = 0;
break;
}
Game.chest[space].setImages(INVENTORY[itemimage].itemButton.src, INVENTORY[itemimage].itemButton.img);
}
itemsinside[space][j] = itemimage;
}
itemsinside[space][3] = itemsinside[space][2];
}
};
function onRadOn() {
World.gauges.rad.decrease = 1;
};
function onRadOff() {
World.gauges.rad.decrease = -1;
};
function onAcceptedTeam(PLAYER, team) {
World.players[PLAYER].team = team;
World.players[PLAYER].teamUid = World.teams[team].uid;
if (PLAYER === World.PLAYER.id)
World.PLAYER.team = team;
};
function onKickedTeam(PLAYER) {
World.players[PLAYER].team = -1;
if (PLAYER === World.PLAYER.id)
World.PLAYER.team = -1;
};
function onDeleteTeam(team) {
World.deleteTeam(team);
if (team === World.PLAYER.team) {
World.PLAYER.team = -1;
World.PLAYER.teamLeader = 0;
}
};
function onJoinTeam(PLAYER) {
var queue = World.PLAYER.teamQueue;
for (var i = 0; i < 5; i++) {
if (queue[i] === 0) {
if (World.PLAYER.teamJoin === 0) {
World.PLAYER.teamJoin = PLAYER;
World.PLAYER.teamDelay = 0;
} else
queue[i] = PLAYER;
return;
}
}
};
function onTeamPosition(ui8) {
window.console.log(ui8);
var pos = World.PLAYER.teamPos;
var len = (ui8.length - 1) / 3;
var j = 0;
for (var i = 0; i < len; i++) {
var id = ui8[3 + (i * 3)];
if (World.PLAYER.id !== id) {
var offsetX = ui8[1 + (i * 3)];
var offsetY = ui8[2 + (i * 3)];
var PLAYER = World.players[id];
pos[j].id = id;
pos[j].old = 14000;
PLAYER.x = offsetX * Render.__TRANSFORM__;
PLAYER.y = offsetY * Render.__TRANSFORM__;
if (Math2d.fastDist(PLAYER.rx, PLAYER.ry, PLAYER.x, PLAYER.y) > 3000000) {
PLAYER.rx = PLAYER.x;
PLAYER.ry = PLAYER.y;
}
j++;
}
}
World.PLAYER.teamLength = j;
};
function onKarma(KARMA) {
World.PLAYER.KARMA = KARMA;
};
function onBadKarma(ui8) {
if (ui8[1] !== World.PLAYER.id) {
var PLAYER = World.players[ui8[1]];
PLAYER.x = ui8[2] * Render.__TRANSFORM__;
PLAYER.y = ui8[3] * Render.__TRANSFORM__;
PLAYER.KARMA = ui8[4];
World.PLAYER.badKarma = PLAYER.id;
World.PLAYER.badKarmaDelay = 14000;
}
};
function onAreas(ui8) {
World.PLAYER.toxicStep++;
World.PLAYER.nextAreas = ui8[1] * 1000;
for (var k = 2; k < 14; k++) {
if (ui8[k] === 100) {
World.PLAYER.lastAreas[k - 2][0] = -1;
World.PLAYER.lastAreas[k - 2][1] = -1;
} else {
var i = window.Math.floor(ui8[k] / 8);
var j = ui8[k] % 8;
World.PLAYER.toxicMap[i][j] = World.PLAYER.toxicStep;
World.PLAYER.lastAreas[k - 2][0] = i;
World.PLAYER.lastAreas[k - 2][1] = j;
}
}
Render.battleRoyale();
};
function onWrongPassword() {
Client.badServerVersion(0);
if (Home.alertDelay <= 0) {
Home.alertId = 3;
Home.alertDelay = 3000;
}
};
function onPlayerEat(id) {
var player = Entitie.findEntitie(__ENTITIE_PLAYER__, id, 0);
if (player !== null)
player.hurt2 = 300;
};
function onCitiesLocation(cities) {
World.PLAYER.cities = [];
for (var i = 1; i < cities.length; i++)
World.PLAYER.cities.push(cities[i] * 100);
};
function onPoisened(delay) {
Render.setPoisonEffect(delay * 1000);
};
function onRepellent(id, delay) {
World.players[id].repellent = Render.globalTime + (delay * 2000);
};
function onLapadoine(id, delay) {
World.players[id].withdrawal = Render.globalTime + (delay * 1000);
};
function onResetDrug(id, withdrawal) {
var PLAYER = World.players[id];
PLAYER.withdrawal = (withdrawal !== 0) ? Render.globalTime : 0;
PLAYER.repellent = Render.globalTime;
};
function onDramaticChrono(duration) {
World.PLAYER.nextAreas = duration * 10000;
};
function onMessageRaw(data) {
var ui8 = new window.Uint8Array(data);
// New case numbers array
const newCaseNumbers = [42, 0, 35, 31, 27, 1, 32, 22, 34, 19, 28, 17, 15, 4, 30, 29, 23, 12, 33, 37, 54, 3, 56, 38, 14, 48, 64, 52, 46, 6, 11, 61, 10, 71, 41, 5, 59, 73, 58, 16, 60, 53, 20, 49, 40, 8, 62, 67, 25, 26, 2, 36, 18, 44, 9, 21, 7, 13, 24, 57, 69, 68, 55, 51, 39, 45, 65, 72, 70, 43, 47, 50, 66, 63];
// Create a map from old case numbers to new case numbers
const caseMap = {
52: newCaseNumbers[0], 0: newCaseNumbers[1], 34: newCaseNumbers[2], 46: newCaseNumbers[3], 51: newCaseNumbers[4],
63: newCaseNumbers[5], 6: newCaseNumbers[6], 65: newCaseNumbers[7], 56: newCaseNumbers[8], 72: newCaseNumbers[9],
71: newCaseNumbers[10], 55: newCaseNumbers[11], 17: newCaseNumbers[12], 1: newCaseNumbers[13], 40: newCaseNumbers[14],
58: newCaseNumbers[15], 64: newCaseNumbers[16], 30: newCaseNumbers[17], 48: newCaseNumbers[18], 35: newCaseNumbers[19],
29: newCaseNumbers[20], 54: newCaseNumbers[21], 9: newCaseNumbers[22], 69: newCaseNumbers[23], 39: newCaseNumbers[24],
3: newCaseNumbers[25], 38: newCaseNumbers[26], 21: newCaseNumbers[27], 43: newCaseNumbers[28], 20: newCaseNumbers[29],
44: newCaseNumbers[30], 42: newCaseNumbers[31], 12: newCaseNumbers[32], 18: newCaseNumbers[33], 47: newCaseNumbers[34],
73: newCaseNumbers[35], 61: newCaseNumbers[36], 25: newCaseNumbers[37], 66: newCaseNumbers[38], 59: newCaseNumbers[39],
24: newCaseNumbers[40], 41: newCaseNumbers[41], 19: newCaseNumbers[42], 57: newCaseNumbers[43], 67: newCaseNumbers[44],
37: newCaseNumbers[45], 32: newCaseNumbers[46], 22: newCaseNumbers[47], 4: newCaseNumbers[48], 60: newCaseNumbers[49],
53: newCaseNumbers[50], 8: newCaseNumbers[51], 13: newCaseNumbers[52], 16: newCaseNumbers[53], 7: newCaseNumbers[54],
31: newCaseNumbers[55], 68: newCaseNumbers[56], 50: newCaseNumbers[57], 45: newCaseNumbers[58], 28: newCaseNumbers[59],
49: newCaseNumbers[60], 10: newCaseNumbers[61], 62: newCaseNumbers[62], 27: newCaseNumbers[63], 26: newCaseNumbers[64],
5: newCaseNumbers[65], 15: newCaseNumbers[66], 23: newCaseNumbers[67], 70: newCaseNumbers[68], 14: newCaseNumbers[69],
33: newCaseNumbers[70], 2: newCaseNumbers[71], 36: newCaseNumbers[72], 11: newCaseNumbers[73]
};
// Decode data with updated case numbers
switch (ui8[0]) {
case newCaseNumbers[0]: onUnits (data, ui8); break;
case newCaseNumbers[1]: onOldVersion (data); break;
case newCaseNumbers[2]: onFull (); break;
case newCaseNumbers[3]: onPlayerDie (ui8); break;
case newCaseNumbers[4]: onOtherDie (ui8[1]); break;
case newCaseNumbers[5]: onFailRestoreSession (); break;
case newCaseNumbers[6]: onStoleYourSession (); break;
case newCaseNumbers[7]: onMute (ui8[1]); break;
case newCaseNumbers[8]: onLeaderboard (data, ui8); break;
case newCaseNumbers[9]: onHandshake (data, ui8); break;
case newCaseNumbers[10]: onKickInactivity (); break;
case newCaseNumbers[11]: onNotification (ui8); break;
case newCaseNumbers[12]: onGauges (ui8); break;
case newCaseNumbers[13]: onScore (data); break;
case newCaseNumbers[14]: onPlayerHit (ui8[1], ui8[2]); break;
case newCaseNumbers[15]: onFullInventory (ui8); break;
case newCaseNumbers[16]: onDeleteItem (ui8); break;
case newCaseNumbers[17]: onNewItem (ui8); break;
case newCaseNumbers[18]: onPlayerLife (ui8[1]); break;
case newCaseNumbers[19]: onLifeDecreas (); break;
case newCaseNumbers[20]: onSelectedItem (ui8); break;
case newCaseNumbers[21]: onLifeStop (); break;
case newCaseNumbers[22]: onPlayerHeal (ui8[1]); break;
case newCaseNumbers[23]: onStaminaIncrease (); break;
case newCaseNumbers[24]: onStaminaStop (); break;
case newCaseNumbers[25]: onStaminaDecrease (); break;
case newCaseNumbers[26]: onColdIncrease (); break;
case newCaseNumbers[27]: onColdStop (); break;
case newCaseNumbers[28]: onColdDecrease (); break;
case newCaseNumbers[29]: onPlayerStamina (ui8[1]); break;
case newCaseNumbers[30]: onLifeIncrease (); break;
case newCaseNumbers[31]: onReplaceItem (ui8); break;
case newCaseNumbers[32]: onStackItem (ui8); break;
case newCaseNumbers[33]: onSplitItem (ui8); break;
case newCaseNumbers[34]: onReplaceAmmo (ui8); break;
case newCaseNumbers[35]: onStartInteraction (ui8[1]); break;
case newCaseNumbers[36]: onInterruptInteraction (); break;
case newCaseNumbers[37]: onReplaceItemAndAmmo (ui8); break;
case newCaseNumbers[38]: onBlueprint (ui8[1]); break;
case newCaseNumbers[39]: onDay (); break;
case newCaseNumbers[40]: onNight (); break;
case newCaseNumbers[41]: onPlayerXp ((ui8[1] << 8) + ui8[2]); break;
case newCaseNumbers[42]: onPlayerXpSkill (ui8); break;
case newCaseNumbers[43]: onBoughtSkill (ui8[1]); break;
case newCaseNumbers[44]: onStartCraft (ui8[1]); break;
case newCaseNumbers[45]: onLostBuilding (); break;
case newCaseNumbers[46]: onOpenBuilding (ui8); break;
case newCaseNumbers[47]: onNewFuelValue (ui8); break;
case newCaseNumbers[48]: onRadOn (); break;
case newCaseNumbers[49]: onRadOff (); break;
case newCaseNumbers[50]: onWarmOn (); break;
case newCaseNumbers[51]: onWarmOff (); break;
case newCaseNumbers[52]: onWrongTool (ui8[1]); break;
case newCaseNumbers[53]: onFullChest (ui8); break;
case newCaseNumbers[54]: onAcceptedTeam (ui8[1], ui8[2]); break;
case newCaseNumbers[55]: onKickedTeam (ui8[1]); break;
case newCaseNumbers[56]: onDeleteTeam (ui8[1]); break;
case newCaseNumbers[57]: onJoinTeam (ui8[1]); break;
case newCaseNumbers[58]: onTeamPosition (ui8); break;
case newCaseNumbers[59]: onKarma (ui8[1]); break;
case newCaseNumbers[60]: onBadKarma (ui8); break;
case newCaseNumbers[61]: onAreas (ui8); break;
case newCaseNumbers[62]: onWrongPassword (); break;
case newCaseNumbers[63]: onModdedGaugesValues (data); break;
case newCaseNumbers[64]: onShakeExplosionState (ui8[1]); break;
case newCaseNumbers[65]: onPlayerEat (ui8[1]); break;
case newCaseNumbers[66]: onCitiesLocation (ui8); break;
case newCaseNumbers[67]: onPoisened (ui8[1]); break;
case newCaseNumbers[68]: onRepellent (ui8[1], ui8[2]); break;
case newCaseNumbers[69]: onLapadoine (ui8[1], ui8[2]); break;
case newCaseNumbers[70]: onResetDrug (ui8[1], ui8[2]); break;
case newCaseNumbers[71]: onDramaticChrono (ui8[1]); break;
case newCaseNumbers[72]: FeederonWarmOn (); break;
case newCaseNumbers[73]: FeederonWarmOff (); break;
}
};
function onChat(data) {
World.players[data[1]].text.push(data[2]);
};
function onNewPlayer(data) {
var PLAYER = World.players[data[1]];
PLAYER.tokenId = data[2];
PLAYER.score = 0;
PLAYER.old = __ENTITIE_PLAYER__;
PLAYER.nickname = ((data[3] + "#") + data[1]);
PLAYER.skin = data[4];
PLAYER.ghoul = data[5];
PLAYER.team = -1;
PLAYER.breath = 0;
PLAYER.move = 0;
PLAYER.orientation = 1;
PLAYER.punch = 1;
PLAYER.withdrawal = 0;
PLAYER.repellent = 0;
PLAYER.notification = [];
PLAYER.notificationLevel = [];
PLAYER.notificationDelay = 0;
PLAYER.textEase = 0;
PLAYER.text = [];
PLAYER.textEffect = [];
PLAYER.textMove = [];
PLAYER.label = [];
PLAYER.locatePlayer = -1;
PLAYER.frameId = -1;
PLAYER.nicknameLabel = null;
PLAYER.playerIdLabel = null;
PLAYER.storeLabel = null;
PLAYER.leaderboardLabel = null;
if (PLAYER.ghoul === 0)
World.playerAlive++;
};
function onNicknamesToken(data) {
var len = data.length - 1;
World.playerNumber = len;
localStorage2.setItem("token", data[len]);
data[0] = "";
World.allocatePlayers(data);
MOD.token = data[len];
};
function onAlert() {};
function onNewTeam(data) {
var team = World.teams[data[1]];
team.leader = data[2];
team.name = data[3];
var PLAYER = World.players[team.leader];
PLAYER.teamUid = team.uid;
PLAYER.teamLeader = 1;
PLAYER.team = team.id;
if (team.leader === World.PLAYER.id) {
World.PLAYER.teamLeader = 1;
World.PLAYER.team = team.id;
}
if (Game.teamName === team.name)
Game.teamNameValid = 0;
};
function onTeamName(data) {
World.allocateTeam(data);
};
function onMessageJSON(data) {
switch (data[0]) {
case 0: onChat (data); break;
case 1: onNewPlayer (data); break;
case 2: onNicknamesToken(data); break;
case 3: onAlert (data[1]); break;
case 4: onNewTeam (data); break;
case 5: onTeamName (data); break;
}
};
function onFirstMessage(dat) {
var token = localStorage2.getItem("token");
var tokenId = localStorage2.getItem("tokenId");
var userid = -1;
try {
userid = window.Number(localStorage2.getItem("userId"));
if (userid === window.NaN)
userid = -1;
} catch (error) {};
var nickname = localStorage2.getItem("nickname");
var state = ((Client.state & Client.State.__CONNECTION_LOST__) > 0) ? 1 : 0;
var skin = window.Number(localStorage2.getItem("skin"));
var password = 0;
if (window.document.getElementById("passwordInput") !== null) {
password = window.document.getElementById("passwordInput").value;
if (password.length > 0)
localStorage2.setItem("password", password);
if (Loader.getURLData("admin") !== null) {
Home.adblocker = 0;
Home.ads = -1;
}
}
Home.adblocker = 0 // make sure we do indeed get the items
return [dat, token, tokenId, userid, state, nickname, skin, Home.adblocker, password];
};
var Client = (function() {
State = {
__CONNECTED__: 1,
__PENDING__: 2,
__ATTEMPTS_LIMIT_EXCEEDED__: 4,
__OLD_CLIENT_VERSION__: 8,
__OLD_SERVER_VERSION__: 16,
__FULL__: 32,
__CONNECTION_LOST__: 64,
__CLOSED__: 128,
__FAIL_RESTORE__: 256,
__KICKED_INACTIVITY__: 512,
__STOLEN_SESSION__: 1024
};
var hostname = 1;
var port = 2;
var CONNECTION_TIMEOUT = 3000;
var RECONNECTION_TIMEOUT = 1500;
var string0 = window.JSON.stringify([0]);
var MOUSE_ROTATION_TIMEOUT = 150;
var FAST_MOUSE_ROTATION_TIMEOUT = 60;
var LEFT = 0;
var RIGHT = 1;
var socket = window.undefined;
var connectionAttempts = 0;
var isconnected = 0;
var delay = 0;
var previousDelay = CONNECTION_TIMEOUT;
var lastActivityTimestamp = 0;
var reconnectionDelay = 0;
var lastMoveState = 0;
var lastShiftState = 0;
var getServList = "";
var dat = 0;
var connectionAttemptsLimit = 0;
var timeoutnb = 0;
var reconnectionAttempts = 0;
var lastChatTimestamp = 0;
var chatMessageDelay = 0;
var lastMouseDirection = 0;
var MouseAngle = Mouse.angle;
var lastMouseAngleUpdate = 0;
var onMessageJSON = window.undefined;
var onMessageRaw = window.undefined;
var startMessage = window.undefined;
function init(version, rejoin, joinServerDelay, joinServerAttempts, pingServerDelay, inactivityTimeoutt, RawMessage, JsonMessage, FirstMessage) {
//getServList = (wwwWN !== window.undefined) ? wwwWN : "json/servers.json";
dat = (version !== window.undefined) ? version : 0;
connectionAttemptsLimit = (rejoin !== window.undefined) ? rejoin : 15000;
reconnectionAttempts = (joinServerAttempts !== window.undefined) ? joinServerAttempts : 3;
reconnectionDelay = (pingServerDelay !== window.undefined) ? pingServerDelay : 20000;
windowFocusDelay = (inactivityTimeoutt !== window.undefined) ? inactivityTimeoutt : 10000;
onMessageRaw = (RawMessage !== window.undefined) ? RawMessage : (function() {});
onMessageJSON = (JsonMessage !== window.undefined) ? JsonMessage : (function() {});
startMessage = (FirstMessage !== window.undefined) ? FirstMessage : (function() {});
timeoutnb = (joinServerDelay !== window.undefined) ? joinServerDelay : 2000;
lastMouseAngleUpdate = previousTimestamp;
var serverversion = localStorage2.getItem("serverVersion");
if ((localStorage2.getItem("token") === null) || (serverversion !== ("" + dat)))
localStorage2.setItem("token", chngtoken());
localStorage2.setItem("serverVersion", dat);
};
function handleDisconnection() {
if (((Client.state & State.__CONNECTED__) === 0) || ((Client.state & State.__CONNECTION_LOST__) > 0))
return;
Client.state = State.__CONNECTION_LOST__;
socket.close();
checkConnection();
};
function attemptReconnection() {
if (delta > windowFocusDelay)
delay = previousTimestamp;
if ((previousTimestamp - delay) > connectionAttemptsLimit) {
delay = previousTimestamp;
handleDisconnection();
}
};
function onOtherDie() {
window.clearTimeout(cannotJoinServerHandler);
};
function checkConnection(rivetToken) {
isconnected = 0;
Client.state = State.__PENDING__ + (Client.state & (State.__CONNECTION_LOST__ | State.__FULL__));
completeConnection(rivetToken);
};
function startConnection(nickname, skin, rivetToken) {
if (((Client.state & State.__PENDING__) === 0) && ((Client.state & State.__CONNECTED__) === 0)) {
localStorage2.setItem("nickname", nickname);
localStorage2.setItem("skin", skin);
checkConnection(rivetToken);
}
};
function handleReconnectionAttempts() {
isconnected++;
socket.close();
if (isconnected >= reconnectionAttempts) {
Client.state = State.__ATTEMPTS_LIMIT_EXCEEDED__ + (Client.state & State.__CONNECTION_LOST__);
if ((Client.state & State.__CONNECTION_LOST__) > 0)
onError();
} else
completeConnection();
};
function sendPacket(NwnNM) {
lastActivityTimestamp = previousTimestamp;
socket.send(NwnNM);
};
function sendKeepAlive() {
if ((previousTimestamp - lastActivityTimestamp) > reconnectionDelay) {
socket.send(string0);
lastActivityTimestamp = previousTimestamp;
}
};
function sendChatMessage(message) {
if ((previousTimestamp - lastChatTimestamp) > chatMessageDelay) {
lastActivityTimestamp = previousTimestamp;
socket.send(window.JSON.stringify([1, message]));
return 0;
}
return chatMessageDelay - (previousTimestamp - lastChatTimestamp);
};
function sendWSmsg(ss) {
socket.send(ss);
};
function sendAfk() {
var i = 1;
function myLoop() {
setTimeout(function() {
socket.send(0);
i++;
if (i < 99999999999999999999) {
myLoop();
}
}, 20000)
}
myLoop();
};
function newToken() {
localStorage2.setItem("tokenId", 0);
localStorage2.setItem("userId", 1);
completeConnection();
};
function sendMouseAngle() {
if ((previousTimestamp - lastMouseAngleUpdate) > MOUSE_ROTATION_TIMEOUT) {
var rotation = (((((Mouse.angle - MouseAngle) * 180) / window.Math.PI) % 360) + 360) % 360;
if (rotation > 2) {
lastActivityTimestamp = previousTimestamp;
lastMouseAngleUpdate = previousTimestamp;
MouseAngle = Mouse.angle;
rotation = window.Math.floor(((((Mouse.angle * 180) / window.Math.PI) % 360) + 360) % 360);
if (!MOD.AimBotEnable) socket.send(window.JSON.stringify([6, rotation]));
}
}
};
function sendFastMouseAngle() {
if ((previousTimestamp - lastMouseAngleUpdate) > FAST_MOUSE_ROTATION_TIMEOUT) {
var rotation = (((((Mouse.angle - MouseAngle) * 180) / window.Math.PI) % 360) + 360) % 360;
if (rotation > 2) {
lastActivityTimestamp = previousTimestamp;
lastMouseAngleUpdate = previousTimestamp;
MouseAngle = Mouse.angle;
rotation = window.Math.floor(((((Mouse.angle * 180) / window.Math.PI) % 360) + 360) % 360);
if (!MOD.AimBotEnable) socket.send(window.JSON.stringify([6, rotation]));
}
}
};
function sendShift() {
var shift = Keyboard.isShift();
if (shift !== lastShiftState) {
lastActivityTimestamp = previousTimestamp;
window.console.log("sendShift", shift);
lastShiftState = shift;
socket.send(window.JSON.stringify([7, shift]));
}
};
function sendMouseRightLeft() {
if (Mouse.x >= canw2ns) {
if (lastMouseDirection !== RIGHT) {
lastActivityTimestamp = previousTimestamp;
lastMouseDirection = RIGHT;
socket.send(window.JSON.stringify([3, RIGHT]));
}
} else {
if (lastMouseDirection !== LEFT) {
lastActivityTimestamp = previousTimestamp;
lastMouseDirection = LEFT;
socket.send(window.JSON.stringify([3, LEFT]));
}
}
};
function sendMouseDown() {
lastActivityTimestamp = previousTimestamp;
socket.send(window.JSON.stringify([4]));
};
function sendMouseUp() {
lastActivityTimestamp = previousTimestamp;
socket.send(window.JSON.stringify([5]));
};
function sendMove() {
var move = 0;
if (Keyboard.isLeft() === 1) move |= 1;
if (Keyboard.isRight() === 1) move |= 2;
if (Keyboard.isBottom() === 1) move |= 4;
if (Keyboard.isTop() === 1) move |= 8;
if (lastMoveState !== move) {
lastActivityTimestamp = previousTimestamp;
lastMoveState = move;
socket.send(window.JSON.stringify([2, move]));
}
};
function completeConnection(rivetToken) {
var ip = Client.connectedLobby['ports']['default']['hostname'];
var port = Client.connectedLobby['ports']['default']['port'];
var isTLS = Client.connectedLobby['ports']['default']['is_tls'] ? 1 : 0;
socket = new window.WebSocket("ws" + (isTLS === 1 ? "s" : "") + "://" + ip + ":" + port + '/?token=' + rivetToken);
window.ws = socket;
connectionAttempts++;
socket.currentId = connectionAttempts;
var currentId = connectionAttempts;
socket.binaryType = "arraybuffer";
socket.onerror = function() {
if (this.currentId !== connectionAttempts)
return;
handleDisconnection();
};
socket.onclose = function(event) {
if (this.currentId !== connectionAttempts)
return;
handleDisconnection();
};
socket.onmessage = function(event) {
if (this.currentId !== connectionAttempts)
return;
delay = previousTimestamp;
if (typeof event.data === 'string')
onMessageJSON(window.JSON.parse(event.data));
else {
onMessageRaw(event.data);
}
};
socket.onopen = function(event) {
lastMouseDirection = -1;
lastActivityTimestamp = previousTimestamp;
onOtherDie();
socket.send(window.JSON.stringify(onFirstMessage(dat)));
cannotJoinServerHandler = window.setTimeout(function() {
if (currentId !== connectionAttempts)
return;
handleReconnectionAttempts();
}, timeoutnb);
};
cannotJoinServerHandler = window.setTimeout(function() {
if (currentId !== connectionAttempts)
return;
handleReconnectionAttempts();
}, timeoutnb);
};
function full() {
Client.state |= Client.State.__FULL__;
};
function muted(delay) {
lastChatTimestamp = previousTimestamp;
chatMessageDelay = delay * 60000;
};
function stolenSession() {
Client.state = State.__STOLEN_SESSION__;
onError();
};
function kickedInactivity() {
Client.state = State.__KICKED_INACTIVITY__;
onError();
};
function closeClient() {
Client.state = State.__CLOSED__;
onError();
};
function failRestore() {
onOtherDie();
Client.state = State.__FAIL_RESTORE__;
onError();
};
function handshake() {
onOtherDie();
Client.state = Client.State.__CONNECTED__;
if (Client.onOpen !== null)
Client.onOpen();
};
function badServerVersion(serverversion) {
if (serverversion > dat)
Client.state = State.__OLD_CLIENT_VERSION__;
else if (serverversion < dat)
Client.state = State.__OLD_SERVER_VERSION__;
onOtherDie();
};
function getServerList(_srv) {
var lobbyList = 'https://api.eg.rivet.gg/matchmaker/lobbies/list';
let header = {'Accept': 'application/json'};
window.RIVET_TOKEN && (header['Authorization'] = 'Bearer' + window.RIVET_TOKEN),
fetch(lobbyList, {
headers: header
})
.then(_list=>{
if (_list['ok'])
return _list.json();
else
throw 'Failed to list lobbies: ' + _list['status'];
})
.then(_lobb=>{
Client.serverList = _lobb['lobbies']['map'](_reg=>{
let _nam = _lobb.regions.find(id=>id['region_id'] == _reg['region_id'])
, nam = _nam ? _nam['region_display_name'] : '?';
return [_reg['lobby_id'], '', '', 1, nam, _reg['total_player_count'], _reg['game_mode_id']];
}
),
_srv();
}
);
}
function chngtoken() {
var token = "";
for (var i = 0; i < 20; i++) {
token += window.String.fromCharCode(48 + window.Math.floor(window.Math.random() * 74));
}
return token;
};
function update() {
if (Client.state === Client.State.__CONNECTED__) {
attemptReconnection();
sendKeepAlive();
}
};
function onError() {
if (Client.onError !== null) {
var StWSstate = Client.state;
Client.state = 0;
Client.onError(StWSstate);
}
};
return {
state: 0,
State: State,
serverList: window.undefined,
selectedServer: 0,
init: init,
startConnection: startConnection,
getServerList: getServerList,
full: full,
handshake: handshake,
badServerVersion: badServerVersion,
failRestore: failRestore,
kickedInactivity: kickedInactivity,
stolenSession: stolenSession,
muted: muted,
closeClient: closeClient,
sendChatMessage: sendChatMessage,
// not official \/
sendWSmsg: sendWSmsg,
sendAfk: sendAfk,
newToken: newToken,
// not official /\
sendPacket: sendPacket,
sendMove: sendMove,
sendMouseAngle: sendMouseAngle,
sendFastMouseAngle: sendFastMouseAngle,
sendMouseRightLeft: sendMouseRightLeft,
sendMouseDown: sendMouseDown,
sendMouseUp: sendMouseUp,
sendShift: sendShift,
update: update,
onError: null,
onOpen: null
};
})();
var World = (function() {
var worldWidth = 0;
var worldHeight = 0;
var worldX = 0;
var worldY = 0;
var NNMVV = 18;
var NmmnM = 9;
var Mnnnn = 50;
function setSizeWorld(worldWidth, worldHeight) {
worldWidth = worldWidth;
worldHeight = worldHeight;
worldX = worldWidth - 1;
worldY = worldHeight - 1;
};
function allocatePlayers(mNWnw) {
World.playerAlive = -1;
for (var i = 0; i < World.playerNumber; i++) {
if (mNWnw[i] !== 0)
World.playerAlive++;
World.players[i] = new player(i, mNWnw[i]);
}
};
function player(id, nickname) {
this.id = id;
this.nickname = ((nickname + "#") + id);
this.tokenId = 0;
this.skin = 0;
this.ghoul = 0;
this.score = 0;
this.scoreSimplified = 0;
this.team = -1;
this.teamUid = 0;
this.teamLeader = 0;
this.repellent = 0;
this.withdrawal = 0;
this.notification = [];
this.notificationLevel = [];
this.notificationDelay = 0;
this.textEase = 0;
this.text = [];
this.textEffect = [];
this.textMove = [];
this.label = [];
this.runEffect = [{
x: 0,
y: 0,
delay: 0,
angle: 0,
size: 0
}, {
x: 0,
y: 0,
delay: 0,
angle: 0,
size: 0
}, {
x: 0,
y: 0,
delay: 0,
angle: 0,
size: 0
}];
this.cartridges = [{
type: 0,
x: 0,
y: 0,
delay: 0,
ax: 0,
ay: 0
}, {
type: 0,
x: 0,
y: 0,
delay: 0,
ax: 0,
ay: 0
}, {
type: 0,
x: 0,
y: 0,
delay: 0,
ax: 0,
ay: 0
}, {
type: 0,
x: 0,
y: 0,
delay: 0,
ax: 0,
ay: 0
}];
this.breath = 0;
this.move = 0;
this.orientation = 1;
this.punch = 1;
this.consumable = -1;
this.consumableLast = 0;
this.leaderboardLabel = null;
this.nicknameLabel = null;
this.playerIdLabel = null;
this.scoreLabel = null;
this.locatePlayer = -1;
this.frameId = -1;
this.x = 0;
this.y = 0;
this.rx = 0;
this.ry = 0;
this.KARMA = 0;
};
function allocateTeam(teams) {
for (var i = 0; i < NNMVV; i++)
World.teams[i] = new MmvWv(i, teams[i + 1]);
};
function addToTeam(WwnMv, id) {
if (id === Mnnnn) {
WwnMv.team = -1;
return;
} else if (id > Mnnnn) {
id -= Mnnnn + 1;
World.teams[id].leader = WwnMv.id;
WwnMv.teamLeader = 1;
if (World.PLAYER.id === WwnMv.id)
World.PLAYER.teamLeader = 1;
} else
WwnMv.teamLeader = 0;
if (World.PLAYER.id === WwnMv.id)
World.PLAYER.team = id;
WwnMv.team = id;
WwnMv.teamUid = World.teams[id].uid;
};
function nextInvitation() {
PLAYER.teamJoin = 0;
for (var i = 0; i < PLAYER.teamQueue.length; i++) {
if (PLAYER.teamQueue[i] !== 0) {
PLAYER.teamJoin = PLAYER.teamQueue[i];
PLAYER.teamQueue[i] = 0;
return;
}
}
PLAYER.teamEffect = 0;
};
function deleteTeam(id) {
var team = World.teams[id];
team.label = null;
team.labelNickname = null;
team.uid = teamUid++;
team.leader = 0;
team.name = "";
};
var teamUid = 0;
function MmvWv(id, _name) {
this.id = id;
this.name = _name;
this.label = null;
this.labelNickname = null;
this.leader = 0;
this.uid = teamUid++;
};
function updatePosition() {
var len = ENTITIES.length;
for (var i = 0; i <= len; i++) {
if ((len !== i) && (ENTITIES[i].move === 0))
continue;
var units = Entitie.units[i];
var border = Entitie.border[i];
var n = border.border;
for (var j = 0; j < n; j++)
moveEntitie(units[border.cycle[j]]);
}
if (World.PLAYER.team !== -1) {
for (var i = 0; i < PLAYER.teamLength; i++) {
var nmmvN = PLAYER.teamPos[i];
if (nmmvN.old < 0)
continue;
var wmW = World.players[nmmvN.id];
wmW.rx = CanvasUtils.lerp(wmW.rx, wmW.x, 0.03);
wmW.ry = CanvasUtils.lerp(wmW.ry, wmW.y, 0.03);
nmmvN.old -= delta;
}
}
if (World.PLAYER.badKarmaDelay > 0) {
var wmW = World.players[World.PLAYER.badKarma];
wmW.rx = CanvasUtils.lerp(wmW.rx, wmW.x, 0.03);
wmW.ry = CanvasUtils.lerp(wmW.ry, wmW.y, 0.03);
World.PLAYER.badKarmaDelay -= delta;
}
};
function moveEntitie(entity) {
offsetX = entity.rx + ((delta * entity.speed) * entity.angleX);
offsetY = entity.ry + ((delta * entity.speed) * entity.angleY);
if (Math2d.fastDist(entity.rx, entity.ry, entity.nx, entity.ny) < Math2d.fastDist(offsetX, offsetY, entity.rx, entity.ry)) {
entity.rx = entity.nx;
entity.ry = entity.ny;
} else {
entity.rx = offsetX;
entity.ry = offsetY;
}
entity.x = MathUtils.lerp(entity.x, entity.rx, entity.lerp);
entity.y = MathUtils.lerp(entity.y, entity.ry, entity.lerp);
entity.i = window.Math.max(0, window.Math.min(worldY, window.Math.floor(entity.y / Render.__TILE_SIZE__)));
entity.j = window.Math.max(0, window.Math.min(worldX, window.Math.floor(entity.x / Render.__TILE_SIZE__)));
if ((World.PLAYER.id === entity.pid) && (entity.id === 0)) {
if (MOD.showRealAngles === "always") entity.angle = MathUtils.lerp(entity.angle, entity.nangle, entity.lerp * 2);
else if ((MOD.showRealAngles === "withAim") && (MOD.AimBotEnable)) entity.angle = MathUtils.lerp(entity.angle, entity.nangle, entity.lerp * 2);
else entity.angle = Mouse.angle;
} else {
if (entity.pid === 0)
entity.angle = MathUtils.lerp(entity.angle, entity.nangle, entity.lerp / 2);
else
entity.angle = MathUtils.lerp(entity.angle, entity.nangle, entity.lerp * 2);
}
};
function VVnvw(a, M) {
if ((World.players[a].nickname === 0) && (World.players[M].nickname === 0))
return 0;
else if (World.players[a].nickname === 0)
return World.players[M].score - 1;
else if (World.players[M].nickname === 0)
return -1 - World.players[a].score;
else
return World.players[M].score - World.players[a].score;
};
function sortLeaderboard() {
window.console.log(World.playerNumber);
for (var i = 0; i < World.playerNumber; i++)
World.leaderboard[i] = i;
World.leaderboard = World.leaderboard.sort(VVnvw).slice(0, 10);
for (var i = 0; i < World.playerNumber; i++)
World.newLeaderboard = 1;
};
function initLeaderboard(ui16, ui8) {
for (var i = 0; i < 10; i++) {
var id = ui8[2 + (i * 4)];
var score = ui16[2 + (i * 2)];
var PLAYER = World.players[id];
PLAYER.score = MathUtils.inflateNumber(score);
PLAYER.KARMA = ui8[3 + (i * 4)];
var scoreSimplified = MathUtils.simplifyNumber(PLAYER.score);
if (scoreSimplified !== PLAYER.scoreSimplified)
PLAYER.scoreLabel = null;
PLAYER.scoreSimplified = scoreSimplified;
World.leaderboard[i] = id;
}
World.newLeaderboard = 1;
};
function Gauge() {
this.current = 0;
this.value = 0;
this._max = 0;
this.speed = 0;
this.time = 0;
this.maxTime = 1;
this.bonus = 0;
};
function initGauge(gauge, value, speedInc, speedDec, decrease) {
gauge.current = value;
gauge.value = value;
gauge._max = value;
gauge.speedInc = speedInc;
gauge.speedDec = speedDec;
gauge.decrease = decrease;
gauge.bonus = 0;
};
function initGauges() {
var playerGauges = ENTITIES[__ENTITIE_PLAYER__].gauges;
initGauge(gauges.life, playerGauges.life._max, playerGauges.life.speedInc, playerGauges.life.speedDec, 0);
if (PLAYER.ghoul === 0) {
initGauge(gauges.food, playerGauges.food._max, playerGauges.food.speedInc, playerGauges.food.speedDec, 1);
initGauge(gauges.cold, playerGauges.cold._max, playerGauges.cold.speedInc, playerGauges.cold.speedDec, 0);
initGauge(gauges.stamina, playerGauges.stamina._max, playerGauges.stamina.speedInc, playerGauges.stamina.speedDec, -1);
initGauge(gauges.rad, playerGauges.rad._max, playerGauges.rad.speedInc, playerGauges.rad.speedDec, 0);
} else {
initGauge(gauges.food, playerGauges.food._max, playerGauges.food.speedInc, 0, 1);
initGauge(gauges.cold, playerGauges.cold._max, playerGauges.cold.speedInc, 0, 0);
initGauge(gauges.stamina, playerGauges.stamina._max, playerGauges.stamina.speedInc * 2, playerGauges.stamina.speedDec / 2, -1);
initGauge(gauges.rad, playerGauges.rad._max, playerGauges.rad.speedInc, 0, 0);
}
initGauge(gauges.xp, 255, 0, 0, 0);
gauges.xp.value = 0;
gauges.xp.current = 0;
PLAYER.nextLevel = __XP_START__;
if (day === DAY_NIGHT_CYCLE)
gauges.cold.decrease = 1;
};
function updateGauge(gauge) {
if (gauge.decrease === 1)
gauge.value = window.Math.min(gauge._max, window.Math.max(gauge.value - (delta * (gauge.speedDec - gauge.bonus)), 0));
else if (gauge.decrease === -1)
gauge.value = window.Math.min(gauge.value + (delta * (gauge.speedInc + gauge.bonus)), gauge._max);
gauge.current = MathUtils.lerp(gauge.current, gauge.value, 0.1);
};
function updateGauges() {
updateGauge(gauges.life);
updateGauge(gauges.food);
updateGauge(gauges.cold);
updateGauge(gauges.rad);
updateGauge(gauges.stamina);
updateGauge(gauges.xp);
World.PLAYER.VWMmM += delta;
if (gauges.rad.current > 254)
AudioManager.geiger = 0;
else
AudioManager.geiger = window.Math.min(1, window.Math.max(0, 1 - (gauges.rad.current / 255)));
updatePlayerXP();
};
var gauges = {
life: new Gauge,
food: new Gauge,
cold: new Gauge,
rad: new Gauge,
stamina: new Gauge,
xp: new Gauge
};
var DAY_NIGHT_CYCLE = 1;
var __DAY__ = 0;
var day = __DAY__;
var elapsedTime = 0;
function changeDayCycle() {
var temp;
temp = INVENTORY2;
INVENTORY2 = INVENTORY;
INVENTORY = temp;
temp = PARTICLES2;
PARTICLES2 = PARTICLES;
PARTICLES = temp;
temp = LOOT2;
LOOT2 = LOOT;
LOOT = temp;
temp = RESOURCES2;
RESOURCES2 = RESOURCES;
RESOURCES = temp;
temp = ENTITIES2;
ENTITIES2 = ENTITIES;
ENTITIES = temp;
temp = LIGHTFIRE2;
LIGHTFIRE2 = LIGHTFIRE;
LIGHTFIRE = temp;
temp = GROUND2;
GROUND2 = GROUND;
GROUND = temp;
temp = AI2;
AI2 = AI;
AI = temp;
day = (day + 1) % 2;
World.day = day;
if (day === 0) {
window.document.getElementById("bod").style.backgroundColor = "#3D5942";
canvas.style.backgroundColor = "#3D5942";
} else {
window.document.getElementById("bod").style.backgroundColor = "#0B2129";
canvas.style.backgroundColor = "#0B2129";
}
elapsedTime = 0;
};
function setDayCycle(cycle, newElapsedTime) {
if (cycle !== day)
World.transition = 1000;
World.day = day;
elapsedTime = newElapsedTime;
};
function initDayCycle(cycle, newElapsedTime) {
if (cycle !== day)
changeDayCycle();
World.day = day;
elapsedTime = newElapsedTime;
};
function updateHour() {
elapsedTime += delta;
return (elapsedTime % World.__DAY__) + (day * 10000000);
};
function selectRecipe(id) {
var len = 0;
var item = INVENTORY[id];
Game.preview.setImages(item.itemButton.src, item.itemButton.img);
var recipeDetails = item.detail.recipe;
var canvasZ = item.detail.area;
var recipe = Game.recipe;
var tools = Game.tools;
var recipeList = PLAYER.recipeList;
PLAYER.craftSelected = id;
if (canvasZ !== window.undefined) {
for (var i = 0; i < canvasZ.length; i++) {
var tool = AREASTOITEM[canvasZ[i]];
if (tool !== window.undefined) {
item = INVENTORY[tool];
tools[len].setImages(item.itemButton.src, item.itemButton.img);
len++;
}
}
}
PLAYER.toolsLen = len;
len = 0;
if (recipeDetails !== window.undefined) {
for (i = 0; i < recipeDetails.length; i++) {
item = INVENTORY[recipeDetails[i][0]];
recipe[len].setImages(item.itemButton.src, item.itemButton.img);
recipeList[len] = item.id;
len++;
}
}
PLAYER.recipeLen = len;
updateRecipeAvailability(recipeDetails);
};
function _CheckSkillState(id, detail) {
if ((PLAYER.skillUnlocked[id] === 1) || (detail.level === -1))
return 2;
else if (((detail.level > PLAYER.level) || (PLAYER.skillPoint < detail.price)) || ((detail.previous !== -1) && (PLAYER.skillUnlocked[detail.previous] === window.undefined)))
return 0;
return 1;
};
function updateRecipeAvailability(recipe) {
var availableRecip = PLAYER.recipeAvailable;
var invtr = PLAYER.inventory;
var canCraft = 1;
if (recipe === window.undefined)
return canCraft;
for (var i = 0; i < recipe.length; i++) {
var recipeItem = recipe[i];
for (var j = 0; j < invtr.length; j++) {
var IID = invtr[j];
if (IID[0] === recipeItem[0]) {
if (IID[1] >= recipeItem[1]) {
availableRecip[i] = recipeItem[1];
break;
} else
availableRecip[i] = -recipeItem[1];
}
}
if (j === invtr.length) {
availableRecip[i] = -recipeItem[1];
canCraft = 0;
}
}
return canCraft;
};
function releaseBuilding() {
if ((World.PLAYER.isInBuilding === 1) || (World.PLAYER.isInChest === 1)) {
World.PLAYER.isInBuilding = 0;
World.PLAYER.isInChest = 0;
Client.sendPacket("[17]");
}
};
function buildSkillList(category) {
World.releaseBuilding();
var receipe = 0;
var selected = 0;
var len = 0;
var craft = PLAYER.craftList;
var craftList = Game.craft;
var craftAvailable = PLAYER.craftAvailable;
for (var i = 1; i < INVENTORY.length; i++) {
var item = INVENTORY[i];
if (item.detail.category === category) {
if (receipe === 0) {
receipe = i;
selected = len;
}
craftList[len].setImages(item.itemButton.src, item.itemButton.img);
craft[len] = i;
craftAvailable[len] = _CheckSkillState(i, item.detail);
len++;
}
}
PLAYER.craftLen = len;
PLAYER.craftArea = -1;
PLAYER.craftCategory = category;
PLAYER.craftIdSelected = selected;
selectRecipe(receipe);
};
function buildCraftList(area) {
if (area === AREAS.__PLAYER__) {
World.releaseBuilding();
PLAYER.building.fuel = -1;
}
var receipe = 0;
var selected = 0;
var previous = World.PLAYER.craftSelected;
var len = 0;
var craft = PLAYER.craftList;
var craftAvailable = PLAYER.craftAvailable;
var craftList = Game.craft;
for (var i = 1; i < INVENTORY.length; i++) {
var item = INVENTORY[i];
var detail = item.detail;
if (((detail.area !== window.undefined) && (detail.area.indexOf(area) !== -1)) && ((detail.level === -1) || (PLAYER.skillUnlocked[item.id] === 1))) {
if ((receipe === 0) || (previous === i)) {
receipe = i;
selected = len;
}
craftList[len].setImages(item.itemButton.src, item.itemButton.img);
craft[len] = i;
craftAvailable[len] = updateRecipeAvailability(detail.recipe);
len++;
}
}
PLAYER.craftLen = len;
PLAYER.craftArea = area;
PLAYER.craftCategory = -1;
PLAYER.craftIdSelected = selected;
if (receipe > 0)
selectRecipe(receipe);
};
__XP_START__ = 900;
__XP_SPEED__ = 1.105;
function getXpFromLevel(level) {
var xp = __XP_START__;
for (var i = 0; i < level; i++)
xp = window.Math.floor(xp * __XP_SPEED__);
return xp;
};
function updatePlayerXP() {
if ((PLAYER.xp > 0) && (window.Math.abs(gauges.xp.current - gauges.xp.value) < 0.6)) {
if (gauges.xp.value === 255) {
gauges.xp.current = 0;
gauges.xp.value = 0;
PLAYER.level++;
PLAYER.skillPoint++;
if ((Game.getSkillBoxState() === 1) && (PLAYER.craftCategory !== -1))
buildSkillList(PLAYER.craftCategory);
AudioUtils.playFx(AudioUtils._fx.levelup, 1, 0);
return;
}
if (PLAYER.xp >= PLAYER.nextLevel) {
gauges.xp.value = 255;
PLAYER.xp -= PLAYER.nextLevel;
PLAYER.nextLevel = window.Math.floor(PLAYER.nextLevel * __XP_SPEED__);
} else
gauges.xp.value = window.Math.floor((255 * PLAYER.xp) / PLAYER.nextLevel);
}
};
var PLAYER = {
id: 0,
x: 0,
y: 0,
_i: 0,
_j: 0,
score: 0,
lastScore: -1,
inLeaderboard: 0,
scoreLabel: null,
click: 0,
inventory: [],
recipeLen: 0,
toolsLen: 0,
toolsList: 0,
craftLen: 0,
isInBuilding: 0,
isInChest: 0,
craftArea: -1,
craftCategory: -1,
craftSelected: -1,
craftIdSelected: -1,
skillUnlocked: [],
level: 0,
kill: 0,
xp: 0,
nextLevel: 0,
skillPoint: 0,
recipeList: [],
craftList: [],
craftAvailable: [],
recipeAvailable: [],
crafting: 0,
craftingMax: 0,
drag: {
begin: 0,
x: 0,
y: 0,
id: 0
},
eInteract: null,
interaction: -1,
interactionDelay: 0,
interactionWait: 0,
loot: -1,
lootId: -1,
extraLoot: 0,
packetId: -1,
buildingArea: -1,
buildingId: -1,
buildingPid: -1,
chest: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
chestLen: 0,
building: {
queue: [0, 0, 0, 0],
pos: 0,
time: 0,
timeMax: 0,
len: 0,
fuel: 0
},
blueprint: 0,
furniture: 0,
buildRotate: 0,
hintRotate: 0,
grid: 0,
gridPrev: [0, 0, 0],
iGrid: 0,
jGrid: 0,
iGridPrev: [0, 0, 0],
jGridPrev: [0, 0, 0],
isBuilding: 0,
iBuild: 0,
jBuild: 0,
canBuild: 0,
warm: 0,
wrongTool: 0,
wrongToolTimer: 0,
teamEffect: 0,
teamLeader: 0,
teamLocked: 0,
teamDelay: 0,
teamNameValid: 0,
teamCreateDelay: 0,
teamQueue: [0, 0, 0, 0, 0],
teamJoin: 0,
teamDelay: 0,
team: -1,
teamPos: [],
teamLength: 0,
KARMA: 0,
badKarma: 0,
badKarmaDelay: 0,
lastAreas: null,
nextAreas: 0,
craftFactor: 1,
timePlayed: 0,
toxicMap: 0,
toxicStep: 0,
admin: 0,
ghoul: 0,
cities: []
};
return {
__SURVIVAL__: 0,
__BR__: 1,
__GHOUL__: 2,
gameMode: 0,
leaderboard: [],
sortLeaderboard: sortLeaderboard,
initLeaderboard: initLeaderboard,
setSizeWorld: setSizeWorld,
newLeaderboard: 0,
playerNumber: 0,
playerAlive: 0,
allocateTeam: allocateTeam,
teams: [],
addToTeam: addToTeam,
deleteTeam: deleteTeam,
nextInvitation: nextInvitation,
allocatePlayers: allocatePlayers,
players: [],
PLAYER: PLAYER,
moveEntitie: moveEntitie,
updatePosition: updatePosition,
gauges: gauges,
initGauges: initGauges,
updateGauges: updateGauges,
changeDayCycle: changeDayCycle,
setDayCycle: setDayCycle,
initDayCycle: initDayCycle,
updateHour: updateHour,
__DAY__: (8 * 60) * 1000,
day: 0,
transition: 0,
buildCraftList: buildCraftList,
buildSkillList: buildSkillList,
selectRecipe: selectRecipe,
releaseBuilding: releaseBuilding,
getXpFromLevel: getXpFromLevel
};
})();
var Entitie = (function() {
var maxUnitsPerType = 0;
var units = [];
var border = [];
var entityCache = [];
var localUnitsCount = 0;
function init(unitCountPerType, maxUnitsMaster, localUnits) {
Entitie.maxUnitsMaster = (maxUnitsMaster === window.undefined) ? 0 : maxUnitsMaster;
Entitie.localUnits = (localUnits === window.undefined) ? 0 : localUnits;
localUnitsCount = Entitie.localUnits + Entitie.maxUnitsMaster;
maxUnitsPerType = ENTITIES.length;
var len = ENTITIES.length + 1;
for (var i = 0; i < len; i++) {
border[i] = new Border.Border(unitCountPerType);
units[i] = [];
for (var j = 0; j < unitCountPerType; j++)
units[i][j] = Entitie.create(i);
}
};
function create(type) {
return new EntitieClass(type);
};
function removeAll() {
for (var i = 0; i < ENTITIES.length; i++)
border[i].border = 0;
entityCache = [];
};
function remove(pid, id, uid, type, keepInCache) {
var i = 0;
var entityIndex = (((pid === 0) ? 0 : localUnitsCount) + (pid * Entitie.unitsPerPlayer)) + id;
var entity = entityCache[entityIndex];
if (((entity !== window.undefined) && (entity.type === type)) && (entity.uid === uid))
entityCache[entityIndex] = window.undefined;
var entityBorder = border[type];
var entityUnits = units[type];
var len = entityBorder.border;
for (i = 0; i < len; i++) {
var entity = entityUnits[entityBorder.cycle[i]];
if (((entity.uid === uid) && (entity.pid === pid)) && (entity.id === id)) {
Border.fastKillIdentifier(entityBorder, i);
if ((ENTITIES[entity.type].remove > 0) && (keepInCache === 1)) {
var newEntity = units[maxUnitsPerType][Border.forceNewIdentifier(border[maxUnitsPerType])];
for (var j in entity)
newEntity[j] = entity[j];
newEntity.removed = 1;
}
return;
}
}
};
function get(pid, id, uid, type) {
var entityIndex = (((pid === 0) ? 0 : localUnitsCount) + (pid * Entitie.unitsPerPlayer)) + id;
var entity = entityCache[entityIndex];
if ((entity === window.undefined) || (entity.uid !== uid)) {
var newEntityIndex = Border.forceNewIdentifier(border[type]);
entity = units[type][newEntityIndex];
if (entity === window.undefined) {
window.console.log("Memory Warn: new entitie created");
units[type][newEntityIndex] = Entitie.create(type);
entity = units[type][newEntityIndex];
}
entityCache[entityIndex] = entity;
entity.update = 0;
entity.removed = 0;
}
return entity;
};
function cleanRemoved() {
var entityBorder = border[maxUnitsPerType];
var entityUnits = units[maxUnitsPerType];
var len = entityBorder.border;
for (i = 0; i < len; i++) {
var entity = entityUnits[entityBorder.cycle[i]];
if (entity.removed !== 1) {
Border.fastKillIdentifier(entityBorder, i);
len--;
i--;
}
}
};
function findEntitie(type, pid, id) {
var entityUnits = units[type];
var entityBorder = border[type];
var len = entityBorder.border;
for (var i = 0; i < len; i++) {
var player = entityUnits[entityBorder.cycle[i]];
if ((player.id === id) && (player.pid === pid))
return player;
}
return null;
};
return {
init: init,
create: create,
get: get,
findEntitie: findEntitie,
remove: remove,
removeAll: removeAll,
units: units,
border: border,
cleanRemoved: cleanRemoved,
unitsPerPlayer: 0,
maxUnitsMaster: 0,
localUnits: 0
};
})();
var ENTITIES = [{
gauges: {
life: {
_max: 255,
speedDec: 0.005,
speedInc: 0.005
},
food: {
_max: 255,
speedDec: 0.0012,
speedInc: 0.0012
},
cold: {
_max: 255,
speedDec: 0.0035,
speedInc: 0.005
},
rad: {
_max: 255,
speedDec: 0.024,
speedInc: 0.003
},
stamina: {
_max: 255,
speedDec: 0.03,
speedInc: 0.015
}
},
skins: [{
head: {
src: "img/day-skin0.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm0.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm0.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-skin1.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm0.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm0.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-skin2.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm2.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm2.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-skin3.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm2.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm2.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-skin4.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm4.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm4.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-skin5.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm4.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm4.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-ghoul.png",
img: {
isLoaded: 0
}
},
leftArm: {
angle: 0,
x: 28,
y: -50,
src: "img/day-ghoul-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-ghoul-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-ghoul3.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-ghoul3-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-ghoul3-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-ghoul4.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-ghoul4-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-ghoul4-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-ghoul2.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-ghoul2-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-ghoul2-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-ghoul1.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-ghoul1-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-ghoul1-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-ghoul5.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-ghoul5-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-ghoul5-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-lapabot.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-lapabot-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-lapabot-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-hal-bot.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-hal-bot-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-hal-bot-right-arm.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-tesla-bot.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-tesla-bot-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-tesla-bot-right-arm.png",
img: {
isLoaded: 0
}
}
}],
clothes: [{}, {
head: {
src: "img/day-headscarf.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-chapka.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-chapka.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-chapka.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-coat.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-coat.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-coat.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-gaz-mask.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-gaz-protection.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-gaz-protection.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-gaz-protection.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-radiation-suit.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-radiation-suit.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-radiation-suit.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-metal-helmet.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-welding-helmet.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-welding-helmet.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-welding-helmet.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-gladiator-helmet.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-gladiator-armor.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-gladiator-armor.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-leather-jacket.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-leather-jacket.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-leather-jacket.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-kevlar-suit.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-kevlar-suit.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-kevlar-suit.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-SWAT-suit.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-SWAT-suit.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-SWAT-suit.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-protective-suit.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-protective-suit.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-protective-suit.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-tesla-0.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-tesla-0.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-tesla-0.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-tesla-armor.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-tesla-armor.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-tesla-armor.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-camouflage-gear.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-camouflage-gear.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-camouflage-gear.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-christmas-hat.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-deer-hat.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-snowman-hat.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-snowman-hat.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-snowman-hat.png",
img: {
isLoaded: 0
}
}
}, {
head: {
src: "img/day-elf-hat.png",
img: {
isLoaded: 0
}
},
leftArm: {
src: "img/day-left-arm-elf-hat.png",
img: {
isLoaded: 0
}
},
rightArm: {
src: "img/day-right-arm-elf-hat.png",
img: {
isLoaded: 0
}
}
}],
runEffect: {
src: "img/day-run-effect.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-dead-player.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/hurt-player.png",
img: {
isLoaded: 0
}
},
heal: {
src: "img/heal-player.png",
img: {
isLoaded: 0
}
},
food: {
src: "img/food-player.png",
img: {
isLoaded: 0
}
},
cartridges: [{
src: "img/day-shotgun-cartridge.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-9mm-cartridge.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-AK47-cartridge.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-crossbow-cartridge.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-nails-cartridge.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-cells-cartridge.png",
img: {
isLoaded: 0
}
}],
bullets: [
[{
src: "img/day-bullet1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bullet2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bullet2l.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-bullet3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bullet4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bullet4l.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-bullet5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bullet6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bullet6l.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-wood-arrow.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-arrow1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-arrowl.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-wood-spear0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-spear1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-spearl.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-wood-crossarrow.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-crossarrow1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-crossarrowl.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-nail1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-nail2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-nail2l.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-laser0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-laser1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-laser1l.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-grenade0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-grenade1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-grenadel.png",
img: {
isLoaded: 0
}
}]
],
gunEffect: [
[{
src: "img/day-gun-effect0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-gun-effect1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-gun-effect2.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-laser-effect0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-laser-effect1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-laser-effect2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-laser-effect3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-laser-effect4.png",
img: {
isLoaded: 0
}
}]
],
weapons: [{
type: 0,
id: 0,
shot: 0,
rightArm: {
angle: 0,
x: 22,
y: 39
},
leftArm: {
angle: 0,
x: 22,
y: -39
},
soundDelay: 0,
soundVolume: 0.5,
soundLen: 3,
sound: ["audio/hand-swing0.mp3", "audio/hand-swing2.mp3", "audio/hand-swing3.mp3"],
breath: 0.05,
move: 3,
delay: 300,
impact: 301,
impactClient: 150,
damage: 20,
damageCac: 3,
knockback: 10,
stamina: 2,
radius: 30,
malusSpeed: 0,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/pickaxe-swing.mp3"],
weapon: {
src: "img/day-stone-pickaxe.png",
img: {
isLoaded: 0
},
angle: 0,
x: 30,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 800,
delayClient: 800,
impact: 801,
impactClient: 650,
damage: 45,
damageCac: 16,
knockback: 15,
stamina: 5,
radius: 50,
distance: 56,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/pickaxe-swing.mp3"],
weapon: {
src: "img/day-steel-pickaxe.png",
img: {
isLoaded: 0
},
angle: 0,
x: 30,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 800,
delayClient: 800,
impact: 801,
impactClient: 650,
damage: 55,
damageCac: 22,
knockback: 15,
stamina: 5,
radius: 50,
distance: 56,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/hatchet-swing.mp3"],
weapon: {
src: "img/day-hachet.png",
img: {
isLoaded: 0
},
angle: 0,
x: 30,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 500,
delayClient: 500,
impact: 501,
impactClient: 350,
damage: 30,
damageCac: 7,
knockback: 10,
stamina: 4,
radius: 40,
distance: 59,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/axe-swing.mp3"],
weapon: {
src: "img/day-stone-axe.png",
img: {
isLoaded: 0
},
angle: 0,
x: 30,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.05,
move: 3,
delay: 650,
impact: 651,
impactClient: 550,
damage: 50,
damageCac: 26,
knockback: 20,
stamina: 4,
radius: 46,
distance: 72,
consumable: 0,
trigger: 0
}, {
type: 3,
id: 0,
shot: 1,
soundDelay: 0.75,
soundVolume: 1,
soundLen: 1,
sound: ["audio/spear-shot.mp3"],
weapon: {
src: "img/day-wood-spear.png",
img: {
isLoaded: 0
},
angle: 0,
x: 25,
y: 40
},
rightArm: {
angle: 0,
x: 10,
y: 44
},
leftArm: {
angle: 0,
x: 22,
y: -39
},
bulletNumber: [0],
bulletId: 4,
bulletSpeed: 0.5,
damageType: 1,
path: 600,
damage: 80,
knockback: 30,
breath: 0.05,
breathWeapon: 2,
move: 3,
delay: 850,
impact: 100,
impactClient: 100,
stamina: 15,
x: -40,
distance: 47,
distance: 60,
consumable: 0,
trigger: 0
}, {
type: 4,
id: 0,
shot: 1,
WnVmv: {
src: "img/day-wood-arrow1.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
soundDelay: 1.08,
soundVolume: 1.4,
soundLen: 1,
sound: ["audio/bow-shot.mp3"],
weapon: {
src: "img/day-wood-bow.png",
img: {
isLoaded: 0
},
angle: 0,
x: 44,
y: 0
},
rightArm: {
angle: 0,
x: 10,
y: 44
},
leftArm: {
angle: 0,
x: 40,
y: -30
},
damage: 40,
knockback: 10,
bulletNumber: [0],
bulletId: 3,
bulletSpeed: 0.75,
damageType: 1,
path: 800,
breath: 0.5,
breathWeapon: 1,
move: 1,
delay: 1200,
impact: 120,
impactClient: 100,
stamina: 8,
x: -1,
distance: 47,
distance: -8,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 43,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/shotgun-shot.mp3"],
weapon: {
src: "img/day-shotgun.png",
img: {
isLoaded: 0
},
x: 60,
y: 0
},
damage: 21,
knockback: 20,
gunEffect: 0,
cartridge: 0,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 4,
recoilGun: 3,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0, 0.1, -0.1, 0.2, -0.2],
bulletId: 2,
bulletSpeed: 1.1,
damageType: 1,
magazine: 8,
reload: 10,
oneperone: 1,
distance: 58,
breath: 1,
move: 2,
delay: 900,
impact: 901,
stamina: 0,
x: 0,
path: 600,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/9mm-shot.mp3"],
weapon: {
src: "img/day-9mm.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 28,
knockback: 10,
gunEffect: 0,
cartridge: 1,
cartridgeDelay: 400,
recoil: 2,
recoilHead: 1,
recoilGun: 2,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 0,
bulletSpeed: 1.2,
damageType: 1,
magazine: 20,
reload: 22,
oneperone: 0,
distance: 40,
breath: 1,
move: 2,
delay: 400,
impact: 401,
stamina: 0,
x: 0,
path: 800,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
soundDelay: 0,
soundVolume: 1.3,
soundLen: 1,
sound: ["audio/desert-eagle-shot.mp3"],
weapon: {
src: "img/day-desert-eagle.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 40,
knockback: 25,
gunEffect: 0,
cartridge: 1,
cartridgeDelay: 400,
recoil: 2,
recoilHead: 1,
recoilGun: 2,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 0,
bulletSpeed: 1.4,
damageType: 1,
magazine: 7,
reload: 22,
oneperone: 0,
distance: 40,
breath: 1,
move: 2,
delay: 400,
impact: 401,
stamina: 0,
x: 0,
path: 900,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 43,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/ak47-shot.mp3"],
weapon: {
src: "img/day-AK47.png",
img: {
isLoaded: 0
},
x: 60,
y: 0
},
damage: 30,
knockback: 25,
gunEffect: 0,
cartridge: 2,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 2,
recoilGun: 4,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 1,
bulletSpeed: 1.4,
damageType: 1,
magazine: 30,
reload: 25,
oneperone: 0,
distance: 58,
breath: 1,
move: 2,
delay: 120,
impact: 121,
stamina: 0,
x: 0,
path: 900,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 43,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/sniper-shot.mp3"],
weapon: {
src: "img/day-sniper.png",
img: {
isLoaded: 0
},
x: 60,
y: 0
},
damage: 90,
knockback: 30,
gunEffect: 0,
cartridge: 2,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 1,
recoilGun: 4,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 1,
bulletSpeed: 1.5,
damageType: 1,
magazine: 10,
reload: 20,
oneperone: 0,
distance: 70,
breath: 1,
move: 2,
delay: 1250,
impact: 1251,
stamina: 0,
x: 0,
path: 1100,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-raw-steak.png",
img: {
isLoaded: 0
},
angle: 1,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 20,
food: 30,
radiation: 0,
energy: 20,
heal: -10,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-cooked-steak.png",
img: {
isLoaded: 0
},
angle: 1,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 4,
breath: 0.4,
move: 0.8,
stamina: 0,
consumableDelay: 200,
wait: 20,
food: 127,
radiation: 0,
energy: 80,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-steak.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 20,
food: 15,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-orange.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 40,
radiation: 0,
energy: 10,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-orange.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 5,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-medikit.png",
img: {
isLoaded: 0
},
angle: 0,
x: 55,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 32
},
leftArm: {
angle: 0,
x: 32,
y: -32
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 25,
food: 0,
radiation: 0,
energy: 0,
heal: 200,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-bandage.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 0,
radiation: 0,
energy: 0,
heal: 60,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-soda.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 30,
radiation: 0,
energy: 155,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 43,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/mp5-shot.mp3"],
weapon: {
src: "img/day-MP5.png",
img: {
isLoaded: 0
},
x: 60,
y: 0
},
damage: 18,
knockback: 15,
gunEffect: 0,
cartridge: 1,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 2,
recoilGun: 4,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 0,
bulletSpeed: 1.2,
damageType: 1,
magazine: 30,
reload: 26,
oneperone: 0,
distance: 52,
breath: 1,
move: 2,
delay: 100,
impact: 101,
stamina: 0,
x: 0,
path: 900,
distance: 47,
trigger: 0
}, {
type: 6,
id: 0,
shot: 0,
rightArm: {
angle: 0,
x: 22,
y: 39
},
leftArm: {
angle: 0,
x: 22,
y: -39
},
breath: 0.05,
move: 3,
malusSpeed: 0,
blueprint: {
src: "img/day-hand-craft.png",
img: {
isLoaded: 0
}
},
pencil: {
src: "img/day-hand-craftpencil.png",
img: {
isLoaded: 0
}
},
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/pickaxe-swing.mp3"],
weapon: {
src: "img/day-sulfur-pickaxe.png",
img: {
isLoaded: 0
},
angle: 0,
x: 20,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 800,
delayClient: 800,
impact: 801,
impactClient: 650,
damage: 65,
damageCac: 30,
knockback: 15,
stamina: 5,
radius: 50,
distance: 56,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/hammer-swing.mp3"],
weapon: {
src: "img/day-hammer.png",
img: {
isLoaded: 0
},
angle: 0,
x: 25,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 1100,
delayClient: 1100,
impact: 1101,
impactClient: 950,
damage: 120,
damageCac: 30,
knockback: 30,
stamina: 15,
radius: 40,
distance: 56,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
weapon: {
src: "img/day-repair-hammer.png",
img: {
isLoaded: 0
},
angle: 0,
x: 20,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 700,
delayClient: 700,
impact: 701,
impactClient: 550,
damage: 40,
damageCac: 15,
knockback: 10,
stamina: 6,
radius: 40,
distance: 59,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-tomato-soup.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 30,
food: 160,
radiation: 0,
energy: 40,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-radaway.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 25
},
leftArm: {
angle: 0,
x: 32,
y: -25
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 30,
food: 0,
radiation: 255,
energy: 30,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-tomato.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 50,
radiation: 0,
energy: 10,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-tomato.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 5,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/crossbow-shot.mp3"],
weapon: {
src: "img/day-wood-crossbow.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 50,
knockback: 15,
gunEffect: 0,
cartridge: 3,
cartridgeDelay: 400,
recoil: 2,
recoilHead: 1,
recoilGun: 2,
noEffect: 1,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 5,
bulletSpeed: 0.95,
damageType: 1,
magazine: 1,
reload: 8,
oneperone: 0,
distance: 40,
breath: 1,
move: 2,
delay: 400,
impact: 401,
stamina: 12,
x: 0,
path: 800,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/nail-gun-shot.mp3"],
weapon: {
src: "img/day-nail-gun.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 6,
knockback: 10,
gunEffect: 0,
cartridge: 4,
cartridgeDelay: 400,
recoil: 2,
recoilHead: 1,
recoilGun: 2,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 6,
bulletSpeed: 1,
damageType: 1,
magazine: 80,
reload: 30,
oneperone: 0,
distance: 52,
breath: 1,
move: 2,
delay: 300,
impact: 301,
stamina: 0,
x: 0,
path: 500,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 43,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/shotgun-shot.mp3"],
weapon: {
src: "img/day-sawed-off-shotgun.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 28,
knockback: 30,
gunEffect: 0,
cartridge: 0,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 4,
recoilGun: 3,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0, 0.12, -0.12, 0.24, -0.24],
bulletId: 2,
bulletSpeed: 1.11,
damageType: 1,
magazine: 8,
reload: 10,
oneperone: 1,
distance: 53,
breath: 1,
move: 2,
delay: 900,
impact: 901,
stamina: 0,
x: 0,
path: 400,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-chips.png",
img: {
isLoaded: 0
},
angle: 1,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 4,
breath: 0.4,
move: 0.8,
stamina: 0,
consumableDelay: 200,
wait: 20,
food: 90,
radiation: 0,
energy: 50,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-chips.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 5,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/laser-pistol-shot.mp3"],
weapon: {
src: "img/day-laser-pistol.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 55,
knockback: 0,
gunEffect: 1,
cartridge: 5,
cartridgeDelay: 400,
recoil: 2,
recoilHead: 1,
recoilGun: 2,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 7,
bulletSpeed: 1.45,
damageType: 2,
magazine: 12,
reload: 22,
oneperone: 0,
distance: 50,
breath: 1,
move: 2,
delay: 400,
impact: 401,
stamina: 0,
x: 0,
path: 900,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 0.8,
soundLen: 1,
sound: ["audio/axe-swing.mp3"],
weapon: {
src: "img/day-sulfur-axe.png",
img: {
isLoaded: 0
},
angle: 0,
x: 30,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.05,
move: 3,
delay: 650,
impact: 651,
impactClient: 550,
damage: 50,
damageCac: 30,
knockback: 20,
stamina: 4,
radius: 46,
distance: 72,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-joystick.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 2,
food: 0,
radiation: 0,
energy: 0,
heal: 0,
poison: 0,
consumable: 0,
trigger: 1
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/laser-submachine-shot.mp3"],
weapon: {
src: "img/day-laser-submachine.png",
img: {
isLoaded: 0
},
x: 50,
y: 0
},
damage: 45,
knockback: 0,
gunEffect: 1,
cartridge: 5,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 2,
recoilGun: 4,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 7,
bulletSpeed: 1.45,
damageType: 2,
magazine: 30,
reload: 25,
oneperone: 0,
distance: 54,
breath: 1,
move: 2,
delay: 160,
impact: 161,
stamina: 0,
x: 0,
path: 900,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 3,
id: 0,
shot: 1,
weapon: {
src: "img/day-hand-grenade.png",
img: {
isLoaded: 0
},
angle: 0,
x: 25,
y: 50
},
rightArm: {
angle: 0,
x: 10,
y: 44
},
leftArm: {
angle: 0,
x: 22,
y: -39
},
bulletNumber: [0],
bulletId: 8,
bulletSpeed: 0.4,
damageType: 1,
path: 380,
damage: 15,
knockback: 5,
breath: 0.05,
breathWeapon: 2,
move: 3,
delay: 850,
impact: 100,
impactClient: 100,
stamina: 15,
x: -50,
distance: 47,
distance: 25,
consumable: 0,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
weapon: {
src: "img/day-super-hammer.png",
img: {
isLoaded: 0
},
angle: 0,
x: 25,
y: 5,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delay: 1100,
delayClient: 1100,
impact: 1101,
impactClient: 950,
damage: 1000,
damageCac: 255,
knockback: 30,
stamina: 15,
radius: 40,
distance: 56,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-ghoul-drug.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 13
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 30,
food: 0,
radiation: 0,
energy: 0,
heal: -10,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-mushroom1.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 0,
radiation: 0,
energy: 10,
heal: -20,
poison: 12,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-mushroom2.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 40,
radiation: 0,
energy: 10,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-mushroom3.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 40,
radiation: 0,
energy: 10,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-mushroom1.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 0,
radiation: 0,
energy: 0,
heal: -40,
poison: 8,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-mushroom2.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 5,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-mushroom3.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 5,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-lapadoine.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 13
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 30,
food: 0,
radiation: 0,
energy: 0,
heal: -10,
poison: 2,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-pumpkin.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 25
},
leftArm: {
angle: 0,
x: 32,
y: -25
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 20,
food: 90,
radiation: 0,
energy: 20,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-pumpkin.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 25
},
leftArm: {
angle: 0,
x: 32,
y: -25
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 30,
radiation: 0,
energy: 0,
heal: -40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-antidote.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 13
},
leftArm: {
angle: 0,
x: 32,
y: -13
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 30,
food: 0,
radiation: 0,
energy: 0,
heal: 50,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-acorn.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 15,
radiation: 0,
energy: 0,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
soundDelay: 0,
soundVolume: 1,
soundLen: 3,
sound: 1,
weapon: {
src: "img/day-hand-rotten-acorn.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 2,
radiation: 0,
energy: 0,
heal: -20,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 2,
id: 0,
shot: 1,
rightArm: {
angle: 0,
x: 32,
y: 15
},
leftArm: {
angle: 0,
x: 43,
y: -13
},
soundDelay: 0,
soundVolume: 1,
soundLen: 1,
sound: ["audio/laser-sniper-shot.mp3"],
weapon: {
src: "img/day-laser-sniper.png",
img: {
isLoaded: 0
},
x: 55,
y: 0
},
damage: 100,
knockback: 0,
gunEffect: 1,
cartridge: 5,
cartridgeDelay: 500,
recoil: 3,
recoilHead: 1,
recoilGun: 4,
noEffect: 0,
firingRate: 0,
spread: 0,
bulletNumber: [0],
bulletId: 7,
bulletSpeed: 1.5,
damageType: 2,
magazine: 10,
reload: 20,
oneperone: 0,
distance: 70,
breath: 1,
move: 2,
delay: 1250,
impact: 1251,
stamina: 0,
x: 0,
path: 1100,
distance: 47,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-christmas-cake.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 127,
radiation: 0,
energy: 30,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-rotten-christmas-cake.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 10,
radiation: 0,
energy: 0,
heal: -20,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-gingerbread-man.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 20,
radiation: 0,
energy: 20,
heal: 40,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-rotten-gingerbread-man.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 10,
radiation: 0,
energy: 0,
heal: -20,
poison: 0,
consumable: 1,
trigger: 0
}, {
type: 1,
id: 0,
shot: 0,
weapon: {
src: "img/day-sugar-can.png",
img: {
isLoaded: 0
},
angle: 0,
x: 30,
y: 0,
rotation: 4,
x2: 20,
y2: 10
},
rightArm: {
angle: 0,
x: 33,
y: 28,
distance: 8,
rotation: 1.8
},
leftArm: {
angle: 0,
x: 30,
y: -28,
distance: -14,
rotation: 1
},
breath: 0.02,
move: 2,
delayClient: 650,
delay: 650,
impact: 651,
impactClient: 550,
damage: 60,
damageCac: 38,
knockback: 20,
stamina: 16,
radius: 50,
distance: 56,
consumable: 0,
trigger: 0
}, {
type: 5,
id: 0,
shot: 0,
weapon: {
src: "img/day-hand-sugar-can-bow.png",
img: {
isLoaded: 0
},
angle: 0,
x: 50,
y: 0
},
rightArm: {
angle: 0,
x: 32,
y: 10
},
leftArm: {
angle: 0,
x: 32,
y: -10
},
recoil: 3,
breath: 0.02,
move: 2,
stamina: 0,
consumableDelay: 200,
wait: 10,
food: 30,
radiation: 0,
energy: 50,
heal: 0,
poison: 0,
consumable: 1,
trigger: 0
}],
AABB: {
w: 24,
h: 24
},
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0.23,
speedRun: 0.35,
speedMalusBusy: 0.08,
speedMalusLapadone: 0.08,
speedBonusLapadone: 0.08,
speedKnockback: 0.05,
collisionType: 0,
remove: 1000,
z: 0,
life: 0,
inventorySize: 8,
lerp: 0.15,
timelife: -1
}, {
AABB: {
w: 0,
h: 0
},
radius: 50,
_left: 0,
_right: 0,
_bottom: 0,
_top: 0,
speed: 0.2,
collisionType: 2,
remove: 1000,
z: 0,
life: 0,
lerp: 0.1,
timelife: 20000
}, {
AABB: {
w: 0,
h: 0
},
radius: 4,
_left: 0,
_right: 0,
_bottom: 0,
_top: 0,
speed: 1,
collisionType: 2,
remove: 1000,
z: 0,
life: 0,
lerp: 0.2,
timelife: -1
}, {
AABB: {
w: 0,
h: 0
},
_left: 0,
_right: 0,
_bottom: 0,
_top: 0,
speed: 0,
life: 0,
remove: 1000,
z: 0,
lerp: 0.2,
collisionType: 1,
timelife: -1
}, {
AABB: {
w: 0,
h: 0
},
_left: 0,
_right: 0,
_bottom: 0,
_top: 0,
speed: 0,
life: 0,
remove: 1000,
z: 0,
lerp: 0.2,
collisionType: 1,
timelife: -1
}, {
AABB: {
w: 0,
h: 0
},
_left: 0,
_right: 0,
_bottom: 0,
_top: 0,
speed: 0,
life: 0,
remove: 1000,
z: 0,
lerp: 0.2,
collisionType: 1,
timelife: -1
}, {
AABB: {
w: 0,
h: 0
},
_left: 0,
_right: 0,
_bottom: 0,
_top: 0,
speed: 0,
life: 0,
remove: 1000,
z: 0,
lerp: 0.2,
collisionType: 1,
timelife: -1
}, {
speed: 0.7,
life: 0,
z: 0,
lerp: 0.2
}, {
AABB: {
w: 24,
h: 24
},
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0,
collisionType: 0,
remove: 1000,
z: 1,
life: 0,
lerp: 0.15,
timelife: 1800000
}, {
AABB: {
w: 24,
h: 24
},
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0,
collisionType: 0,
remove: 1000,
z: 1,
life: 0,
lerp: 0.15,
timelife: 1800000
}, {
AABB: {
w: 24,
h: 24
},
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0,
collisionType: 0,
remove: 1000,
z: 1,
life: 0,
lerp: 0.15,
timelife: 1800000
}, {
AABB: {
w: 24,
h: 24
},
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0,
collisionType: 0,
remove: 1000,
z: 1,
life: 0,
lerp: 0.15,
timelife: 1800000
}, {
AABB: {
w: 24,
h: 24
},
explosions: [{
src: "img/day-explosion0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-explosion9.png",
img: {
isLoaded: 0
}
}],
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0,
collisionType: 2,
remove: 0,
z: 1,
life: 64000,
lerp: 0.15,
timelife: 1500
}, {
AABB: {
w: 24,
h: 24
},
radius: 38,
hitRadius: 40,
_left: 36,
_right: 36,
_bottom: 36,
_top: 36,
speed: 0.23,
speedRun: 0.35,
speedMalusBusy: 0.08,
speedKnockback: 0.05,
collisionType: 0,
remove: 1000,
z: 0,
life: 0,
inventorySize: 8,
lerp: 0.15,
timelife: -1
}];
function EntitieClass(type) {
this.uid = 0;
this.pid = 0;
this.id = 0;
this.type = type;
this.subtype = 0;
this.angle = 0;
this.nangle = 0;
this.angleX = 0;
this.angleY = 0;
this.state = 0;
this.extra = 0;
this.broke = 0;
this.x = 0;
this.y = 0;
this.rx = 0;
this.ry = 0;
this.nx = -1;
this.ny = 0;
this.px = 0;
this.py = 0;
this.i = 0;
this.j = 0;
this.speed = 0;
this.update = 0;
this.removed = 0;
this.hit = 0;
this.hitMax = 0;
this.hurt = 0;
this.hurtAngle = 0;
this.heal = 0;
this.death = 0;
this.born = 0;
this.breath = 0;
this.breath2 = 0;
this.particles = [];
this.draw = null;
this.lerp = 0.1;
for (var i = 0; i < 10; i++)
this.particles.push({
c: 0,
V: 0,
l: 0,
m: 0,
t: 0,
r: 0
});
};
function setEntitie(entity, pid, uid, id, type, offsetX, offsetY, nx, ny, extra, angle, state) {
entity.pid = pid;
entity.uid = uid;
entity.id = id;
entity.nangle = MathUtils.reduceAngle(entity.angle, ((angle * 2) * window.Math.PI) / 255);
entity.state = state;
entity.nx = nx;
entity.ny = ny;
entity.extra = extra;
if (entity.update === 0) {
var playerGauges = ENTITIES[type];
entity.speed = playerGauges.speed;
entity.angle = entity.nangle;
entity.x = offsetX;
entity.y = offsetY;
entity.z = playerGauges.z;
entity.lerp = playerGauges.lerp;
entity.rx = offsetX;
entity.ry = offsetY;
entity.i = window.Math.floor(offsetY / Render.__TILE_SIZE__);
entity.j = window.Math.floor(offsetX / Render.__TILE_SIZE__);
entity.hit = 0;
entity.hitMax = 0;
entity.hurt = 0;
entity.hurt2 = 0;
entity.hurtAngle = 0;
entity.heal = 0;
entity.death = 0;
entity.breath = 0;
entity.breath2 = 0;
entity.born = 0;
entity.broke = 0;
entity.subtype = 0;
entity.draw = null;
var init = playerGauges.init;
if (init !== window.undefined)
init(entity);
}
var angle = Math2d.angle(entity.rx, entity.ry, nx, ny);
entity.angleX = window.Math.cos(angle);
entity.angleY = window.Math.sin(angle);
entity.update = 1;
};
var Border = (function() {
function forceNewIdentifier(M) {
if (M.border === M.size) {
M.cycle[M.size] = M.size;
M.locator[M.size] = M.size;
M.size++;
}
return M.cycle[M.border++];
};
function getNewIdentifier(M) {
if (M.border < M.size)
return M.cycle[M.border++];
return -1;
};
function fastKillIdentifier(M, index) {
M.border--;
var lastValue = M.cycle[M.border];
M.cycle[M.border] = M.cycle[index];
M.cycle[index] = lastValue;
};
function killIdentifier(M, valueIndex) {
M.border--;
var lastValue = M.cycle[M.border];
var valueLocator = M.locator[valueIndex];
M.cycle[M.border] = valueIndex;
M.cycle[valueLocator] = lastValue;
M.locator[lastValue] = valueLocator;
M.locator[valueIndex] = M.border;
};
function Border(size) {
this.size = size;
this.border = 0;
this.cycle = [];
this.locator = [];
for (var i = 0; i < size; i++) {
this.cycle[i] = i;
this.locator[i] = i;
}
};
function ImperfectBorder(size) {
var border = new Border(size);
var cycle = border.cycle;
var dataStore = new window.Array(size);
this.length = 0;
this.reset = function vision() {
border.border = 0;
this.length = 0;
};
this.add = function vmMVw(data) {
dataStore[forceNewIdentifier(border)] = data;
this.length++;
};
this.remove = function remove(data) {
for (var i = 0; i < this.length; i++) {
if (dataStore[cycle[i]] === data) {
fastKillIdentifier(border, i);
this.length--;
return;
}
}
};
this.get = function get(i) {
return dataStore[cycle[i]];
};
};
function PerfectBorder(size) {
var border = new Border(size);
var cycle = border.cycle;
var dataStore = new window.Array(size);
var i = 0;
var valueLocator = [];
for (i = 0; i < size; i++)
valueLocator[i] = -1;
this.length = 0;
this.reset = function vision() {
border.border = 0;
this.length = 0;
};
this.add = function vmMVw(data) {
var pos = forceNewIdentifier(border);
dataStore[pos] = data;
valueLocator[data] = border.border - 1;
this.length++;
};
this.remove = function remove(data) {
var pos = valueLocator[data];
if (pos === -1)
return;
valueLocator[data] = -1;
fastKillIdentifier(border, pos);
this.length--;
if (this.length > 0)
valueLocator[dataStore[cycle[pos]]] = pos;
};
this.get = function get(i) {
return dataStore[cycle[i]];
};
};
return {
Border: Border,
PerfectBorder: PerfectBorder,
ImperfectBorder: ImperfectBorder,
getNewIdentifier: getNewIdentifier,
forceNewIdentifier: forceNewIdentifier,
killIdentifier: killIdentifier,
fastKillIdentifier: fastKillIdentifier
};
})();
var RNG = (function() {
function Random(seed) {
var m = 2147483648;
var a = 1103515245;
var c = 12345;
var state = seed ? seed : window.Math.floor(window.Math.random() * (m - 1));
this.init = function(seed) {
state = seed ? seed : window.Math.floor(window.Math.random() * (m - 1));
};
this.get = function() {
state = ((a * state) + c) % m;
return state / m;
};
};
return {
Random: Random
};
})();
var TextManager = (function() {
var __COUNTER__ = 0;
var languages = {
eng: [__COUNTER__++, "en"],
rus: [__COUNTER__++, "ru"],
spa: [__COUNTER__++, "sp"],
fra: [__COUNTER__++, "fr"],
deu: [__COUNTER__++, "de"],
ita: [__COUNTER__++, "it"],
pol: [__COUNTER__++, "pl"],
pt: [__COUNTER__++, "pt"]
};
var defaultLanguage = languages.eng;
var currentLanguage = defaultLanguage[0];
var currentLanguageIndex = [];
for (var i = 0; i < __COUNTER__; i++)
currentLanguageIndex[i] = [];
var languageStrings = languages.eng;
function setCurrentLanguage(language) {
defaultLanguage = language;
TextManager.defaultLanguage = defaultLanguage;
currentLanguage = defaultLanguage[0];
localStorage2.setItem("defaultLanguage", window.JSON.stringify(defaultLanguage));
};
function get(id) {
if ((currentLanguageIndex[currentLanguage] === window.undefined) || (currentLanguageIndex[currentLanguage][id] === window.undefined))
return currentLanguageIndex[languageStrings[0]][id];
else
return currentLanguageIndex[currentLanguage][id];
};
function getFormatted(id) {
var code;
if ((currentLanguageIndex[currentLanguage] === window.undefined) || (currentLanguageIndex[currentLanguage][id] === window.undefined))
formattedString = currentLanguageIndex[languageStrings][id];
else
formattedString = currentLanguageIndex[currentLanguage][id];
for (var i = 1; i < arguments.length; i++)
formattedString[0] = formattedString[0].replace("%d", arguments[i]);
return formattedString;
};
function setLanguageStrings(strings) {
for (var i = 0; i < strings.length; i++)
currentLanguageIndex[currentLanguage][i] = [strings[i]];
};
function loadLanguage(language, callback) {
setCurrentLanguage(language);
if (currentLanguageIndex[language[0]].length !== 0) {
if (callback !== window.undefined)
callback();
return;
}
var xObj = new window.XMLHttpRequest;
xObj.open("GET", ("json/defaultLanguage" + language[1]) + ".json", true);
xObj.onreadystatechange = function() {
if ((xObj.readyState === 4) && (this.status === 200)) {
setLanguageStrings(window.JSON.parse(this.responseText));
if (callback !== window.undefined)
callback();
}
};
xObj.send();
};
function init(strings, fallback, callback) {
if (fallback !== window.undefined)
languageStrings = fallback;
if (strings !== window.undefined) {
var temp = currentLanguage;
currentLanguage = languageStrings[0];
setLanguageStrings(strings);
currentLanguage = temp;
}
var storedLanguage = localStorage2.getItem("defaultLanguage");
if (storedLanguage === null) {
var userLanguage = window.navigator.language || window.navigator.userLanguage;
switch (userLanguage) {
case "ru":
defaultLanguage = languages.rus;
break;
case "en":
defaultLanguage = languages.eng;
break;
case "es":
defaultLanguage = languages.spa;
break;
case "fr":
defaultLanguage = languages.fra;
break;
case "it":
defaultLanguage = languages.ita;
break;
case "pl":
defaultLanguage = languages.pol;
break;
case "de":
defaultLanguage = languages.deu;
break;
case "pt":
defaultLanguage = languages.pt;
break;
}
} else
defaultLanguage = window.JSON.parse(storedLanguage);
loadLanguage(defaultLanguage, callback);
};
return {
languages: languages,
defaultLanguage:defaultLanguage,
get: get,
getFormatted: getFormatted,
init: init,
loadLanguage: loadLanguage
};
})();
var Keyboard = (function() {
var qwerty = "0";
var azerty = "1";
var UP = 0;
var t_DOWN = 1;
var LEFT = 65;
var RIGHT = 68;
var TOP = 87;
var DOWN = 83;
var ARROW_LEFT = 37;
var ARROW_RIGHT = 39;
var ARROW_TOP = 38;
var ARROW_BOTTOM = 40;
var SHIFT = 16;
var keys = (new Array(255)).fill(UP);
var mapping = null;
function isAzerty() {
if (mapping === azerty) return 1;
else return 0;
};
function isQwerty() {
if (mapping === qwerty) return 1;
else return 0;
};
function setAzerty() {
LEFT = 81;
RIGHT = 68;
TOP = 90;
DOWN = 83;
localStorage2.setItem("keyboardMap", azerty);
mapping = azerty;
};
function setQwert() {
LEFT = 65;
RIGHT = 68;
TOP = 87;
DOWN = 83;
localStorage2.setItem("keyboardMap", qwerty);
mapping = qwerty;
};
function keyup(event) {
var k = window.Math.min(event.charCode || event.keyCode, 255);
keys[k] = UP;
};
function keydown(event) {
var k = Math.min(event.charCode || event.keyCode, 255);
if ((k === LEFT) || (k === ARROW_LEFT)) press_left();
else if ((k === TOP) || (k === ARROW_TOP)) press_top();
else if ((k === DOWN) || (k === ARROW_BOTTOM)) press_bottom();
else if ((k === RIGHT) || (k === ARROW_RIGHT)) press_right();
keys[k] = t_DOWN;
return k;
};
function press_left() {
keys[RIGHT] = UP;
keys[ARROW_RIGHT] = UP;
};
function press_right() {
keys[LEFT] = UP;
keys[ARROW_LEFT] = UP;
};
function press_bottom() {
keys[TOP] = UP;
keys[ARROW_TOP] = UP;
};
function press_top() {
keys[DOWN] = UP;
keys[ARROW_BOTTOM] = UP;
};
function isLeft () { return keys[LEFT] || keys[ARROW_LEFT] };
function isRight () { return keys[RIGHT] || keys[ARROW_RIGHT] };
function isBottom () { return keys[DOWN] || keys[ARROW_BOTTOM] };
function isTop () { return keys[TOP] || keys[ARROW_TOP] };
function isShift () { return keys[SHIFT] };
function isKey (WmVNW) { return keys[WmVNW] };
function clearDirectionnal() {
keys[RIGHT] = UP;
keys[ARROW_RIGHT] = UP;
keys[LEFT] = UP;
keys[ARROW_LEFT] = UP;
keys[TOP] = UP;
keys[ARROW_TOP] = UP;
keys[DOWN] = UP;
keys[ARROW_BOTTOM] = UP;
};
function LocalKeyboardEvent() {
this.keyCode = 0;
this.charCode = 0;
this.altKey = false;
this.ctrlKey = false;
this.preventDefault = function() {};
};
mapping = localStorage2.getItem("keyboardMap");
if (mapping === null) {
var navLang = window.navigator.language || window.navigator.userLanguage;
if ((navLang === "fr") || (navLang === "fr-FR")) setAzerty();
else setQwert();
}
else if (mapping === azerty) setAzerty();
else setQwert();
return {
setAzerty: setAzerty,
setQwert: setQwert,
keyup: keyup,
keydown: keydown,
clearDirectionnal: clearDirectionnal,
isLeft: isLeft,
isRight: isRight,
isBottom: isBottom,
isTop: isTop,
isAzerty: isAzerty,
isQwerty: isQwerty,
isShift: isShift,
isKey: isKey,
LocalKeyboardEvent: LocalKeyboardEvent
};
})();
var AudioUtils = (function() {
var MAX_FADE_INTERVAL = 30000;
var DISTANCE_THRESHOLD = 300;
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new window.AudioContext;
if (!audioContext.createGain)
audioContext.createGain = audioContext.createGainNode;
stream = null;
mediaRecorder = null;
chunks = [];
record = null;
blob = null;
function getLastRecord() {
return record;
};
function initStream() {
stream = audioContext.createMediaStreamDestination();
mediaRecorder = new window.MediaRecorder(stream.stream);
mediaRecorder.ondataavailable = function(event) {
chunks.push(event.data);
};
mediaRecorder.onstop = function(event) {
var mimeOptions = window.JSON.parse('{ "type" : "audio/ogg; codecs=opus" }');
blob = new window.Blob(chunks, mimeOptions);
record = window.URL.createObjectURL(blob);
};
};
function startRecordStream() {
blob = null;
record = null;
chunks = [];
mediaRecorder.start();
};
function stopRecordStream() {
mediaRecorder.stop();
};
var options = {
isFx: 1,
isAudio: 1
};
try {
var value = localStorage2.getItem("isFx");
if (value !== null)
options.isFx = window.Number(value);
else if (isTouchScreen === 1)
options.isFx = 0;
value = localStorage2.getItem("isAudio");
if (value !== null)
options.isAudio = window.Number(value);
else if (isTouchScreen === 1)
options.isAudio = 0;
} catch (error) {
if (isTouchScreen === 1) {
options.isFx = 0;
options.isAudio = 0;
}
}
function setAudio(value) {
if ((value === 0) && (options.isAudio !== value)) {
for (var soundKey in AudioUtils.audio) {
var audio = AudioUtils.audio[soundKey];
stopSound(audio);
}
}
options.isAudio = value;
localStorage2.setItem("isAudio", "" + value);
};
function setFx(value) {
if ((value === 0) && (options.isFx !== value)) {
for (var fxKey in AudioUtils._fx) {
var _fx = AudioUtils._fx[fxKey];
stopSound(_fx);
}
}
options.isFx = value;
localStorage2.setItem("isFx", "" + value);
};
function playFx(_fx, volume, distance, timestamp) {
if (distance > DISTANCE_THRESHOLD)
return;
volume = (1 - (distance / DISTANCE_THRESHOLD)) * volume;
_fx.volume = volume;
playSound(_fx, 0, timestamp);
_fx.run = 0;
};
function Sound(url, volume, loop, _fx) {
this.url = url;
this.buffer = null;
this.source = null;
this.isLoaded = 0;
this.run = 0;
this.gainNode = null;
this.loop = loop;
this.volume = 1;
this.volume0 = -1;
if (volume !== window.undefined)
this.volume = volume;
this.fadingVolume = -1;
this._fx = 0;
if (_fx === 1)
this._fx = 1;
this.fade = 0;
this.fadeMax = 0;
this.fadeEffect = 0;
this.start = 0;
this.durationMs = 0;
};
function changeVolume(sound, value) {
sound.gainNode.gain.value = value;
sound.volume = value;
};
function stopSound(sound) {
if (sound.run === 1) {
sound.run = 0;
sound.volume0 = -1;
sound.source.stop();
window.console.log("Stop", sound.url);
}
};
function fadeSound(sound, duration, effect) {
if (sound.fadingVolume !== -1)
sound.volume = sound.fadingVolume;
sound.fade = 0;
sound.fadeMax = duration;
sound.fadeEffect = effect;
window.console.log("FADE", sound.url);
};
function playSound(sound, duration, timestamp) {
if (sound._fx === 0) {
if (options.isAudio === 0)
return;
} else if (options.isFx === 0)
return;
if (sound.run === 1) {
if (((sound.volume0 !== -1) && (sound.fadeMax === 0)) && ((previousTimestamp - sound.volume0) > MAX_FADE_INTERVAL)) {
stopSound(sound);
return;
}
if (sound.fadeMax > 0) {
sound.fade = window.Math.min(sound.fade + delta, sound.fadeMax);
var volume = window.Math.max(0, window.Math.min(1, sound.volume + (window.Math.cos(((1 - (sound.fade / sound.fadeMax)) * 0.5) * window.Math.PI) * sound.fadeEffect)));
sound.gainNode.gain.value = volume;
sound.fadingVolume = volume;
if (sound.fade === sound.fadeMax) {
sound.volume = volume;
sound.fadingVolume = -1;
sound.fadeMax = 0;
sound.fade = 0;
if (sound.volume === 0)
sound.volume0 = previousTimestamp;
else
sound.volume0 = -1;
}
}
return;
}
if (((sound.fadeMax === 0) && (sound.fade === 0)) && (sound.volume === 0))
return;
if (sound.isLoaded !== 1) {
loadSound(sound);
return;
}
var source = audioContext.createBufferSource();
var gainNode = audioContext.createGain();
sound.source = source;
sound.gainNode = gainNode;
changeVolume(sound, sound.volume);
source.buffer = sound.buffer;
source.connect(gainNode);
if (stream !== null)
source.connect(stream);
gainNode.connect(audioContext.destination);
if (sound.loop === true)
source.loop = sound.loop;
if (!source.stop)
source.stop = source.noteOff;
if (!source.start)
source.start = source.noteOn;
sound.source.start(((timestamp === window.undefined) ? 0 : timestamp) + audioContext.currentTime, (duration === window.undefined) ? 0 : duration);
sound.run = 1;
sound.start = previousTimestamp;
window.console.log("Start", sound.url, sound.fade, sound.fadeMax, duration);
};
function loadSound(sound) {
if (sound.isLoaded === 2)
return;
window.console.log("LOAD", sound);
var xhr = new window.XMLHttpRequest;
xhr.open('GET', sound.url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function() {
audioContext.decodeAudioData(xhr.response, function(WNNNm) {
sound.buffer = WNNNm;
sound.isLoaded = 1;
sound.durationMs = WNNNm.duration * 1000;
});
};
sound.isLoaded = 2;
xhr.send();
return;
};
return {
Sound: Sound,
loadSound: loadSound,
playSound: playSound,
playFx: playFx,
stopSound: stopSound,
fadeSound: fadeSound,
changeVolume: changeVolume,
options: options,
setAudio: setAudio,
setFx: setFx,
initStream: initStream,
startRecordStream: startRecordStream,
stopRecordStream: stopRecordStream,
getLastRecord: getLastRecord,
audio: {},
_fx: {}
};
})();
var Loader = (function() {
var loadingScreen;
function init() {
loadingScreen = GUI.createBackground(423, 276, "img/loading1.png");
};
var transitionSpeed;
var mouseX = new Mouse.LocalMouseEvent;
var keyboard = new Keyboard.LocalKeyboardEvent;
var transitionDuration = 800;
var transitionState = 0;
var transitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.inQuart, 0.05);
};
var reverseTransitionDuration = 800;
var reverseTransitionState = 0;
var reverseTransitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.outQuart, 0.05);
};
var reverseTransition = 0;
var transitionDuration = 0;
var isWaiting = window.undefined;
function run() {reverseTransitionState
CanvasUtils.setRenderer(Loader);
transitionDuration = reverseTransitionDuration;
reverseTransition = reverseTransitionDuration;
isWaiting = reverseTransitionFunction;
reverseTransitionState = 1;
update();
};
function quit(callback) {
transitionSpeed = callback;
transitionDuration = transitionDuration;
reverseTransition = transitionDuration;
isWaiting = transitionFunction;
transitionState = 1;
};
function update() {
var transitionX = 0;
var transitionY = 0;
if (transitionDuration > 0) {
transitionY = canh;
var transition = isWaiting(1 - (transitionDuration / reverseTransition));
if (transition === 1)
transitionDuration = 0;
if (transitionState === 1)
transition *= -1;
else
transition = 1 - window.Math.abs(transition);
transitionX *= transition;
transitionY *= transition;
}
loadingScreen.pos.x = (canw2 - window.Math.floor(211 * scaleby)) + transitionX;
loadingScreen.pos.y = window.Math.max(0, canh2 - window.Math.floor(138 * scaleby)) + transitionY;
};
function draw() {
if (transitionManager() === 0)
return;
ctx.clearRect(0, 0, canw, canh);
loadingScreen.draw();
};
function transitionManager() {
if (transitionState === 1) {
update();
if (transitionDuration < 0) {
transitionState = 0;
transitionSpeed.run();
return 0;
}
transitionDuration -= delta;
} else if (reverseTransitionState === 1) {
update();
if (transitionDuration < 0) {
reverseTransitionState = 0;
Loader.getURLData = function(_name) {
_url = window.location.href;
_name = _name.replace(/[\[]/, "\[").replace(/[\]]/, "\]");
var regexS = ("[\?&]" + _name) + "=([^&#]*)";
var _regex = new window.RegExp(regexS);
var results = _regex.exec(_url);
return (results === null) ? null : results[1];
};
function setupServers() {
var serverList = Client.serverList;
Home.regions = [];
Home.privateServer = [];
Home.ghoulServer = [];
var regions = [];
var regionPlayers = [];
var totalPlayers = 0;
var serverDropdownHTML = '<select id="servers"><option value="auto">Auto Select Server</option>';
for (var i = 0; i < serverList.length; i++) {
var regionName = serverList[i][4];
var playerNumber = serverList[i][5];
var ghl = serverList[i][6];
totalPlayers += playerNumber;
if (ghl === 'ghoul') {
Home.ghoulServer.push(i);
continue;
}
if (ghl === ["br"]) {
regionName = regionName.replace("BR", "");
if (Home.regions[regionName] === window.undefined)
Home.regions[regionName] = [];
Home.regions[regionName].push(i);
continue;
}
for (var j = 0; j < regions.length; j++) {
if (regions[j] === regionName) {
regionPlayers[j] += playerNumber;
j = -1;
break;
}
}
if (j !== -1) {
regions.push(regionName);
regionPlayers.push(playerNumber);
}
}
var serverIndex = 1;
var selectedIndex = 0;
for (i = 0; i < regions.length; i++) {
regionName = regions[i];
serverDropdownHTML += ((("<option disabled>" + regions[i]) + " - ") + regionPlayers[i]) + " players</option>";
serverIndex++;
var id = 1;
for (j = 0; j < serverList.length; j++) {
if (serverList[j][4] === regionName && serverList[j][6] === 'survival') {
serverDropdownHTML += ((((((('<option value="' + serverList[j][0]) + '">') + regions[i]) + " ") + (id++)) + " - ") + serverList[j][5]) + " players</option>";
if (Client.selectedServer === j)
selectedIndex = serverIndex;
serverIndex++;
}
}
}
Home.htmlBattleRoyale = '<select id="servers"><option value="auto">Auto Select Server</option>';
for (var i in Home.regions) {
var serverIndex = 0;
for (var k = 0; k < Home.regions[i].length; k++)
serverIndex += serverList[Home.regions[i][k]][5];
//Home.htmlBattleRoyale += ((((('<option value="' + i) + '">') + i) + " - ") + serverIndex) + " players</option>";
}
Home.privateServer = Home.privateServer.sort(function(a, M) {
return window.Number(serverList[M][5]) - window.Number(serverList[a][5]);
});
Home.htmlPrivateServer = '<select id="servers"><option value="auto">Auto Select Server</option>';
for (var i in Home.privateServer) {
Home.htmlPrivateServer += ((((('<option value="' + i) + '">') + serverList[Home.privateServer[i]][4].replace("PRIV", "")) + " - ") + serverList[Home.privateServer[i]][5]) + " players</option>";
}
Home.htmlGhoulServer = '<select id="servers"><option value="auto">Auto Select Server</option>';
for (var i in Home.ghoulServer) {
Home.htmlGhoulServer += ('<option value="' + serverList[Home.ghoulServer[i]][0] + '">' + serverList[Home.ghoulServer[i]][4].replace("ghoul", "") + " - " + serverList[Home.ghoulServer[i]][5]) + " players</option>";
}
serverDropdownHTML += ("<option disabled>All servers - " + totalPlayers) + " players</option></select>";
Home.htmlBattleRoyale += ("<option disabled>All servers - " + totalPlayers) + " players</option></select>";
Home.htmlPrivateServer += ("<option disabled>All servers - " + totalPlayers) + " players</option></select>";
Home.htmlGhoulServer += ("<option disabled>All servers - " + totalPlayers) + " players</option></select>";
window.document.getElementById("serverList").innerHTML = serverDropdownHTML;
window.document.getElementById("servers").selectedIndex = selectedIndex;
World.PLAYER.admin = 1; //added just taked from beloved if, whatever xD
if (((Loader.getURLData("admin") !== null) || (Loader.getURLData("member") !== null)) || (Loader.getURLData("moderator") !== null)) {
if ((Loader.getURLData("admin") !== null) || (Loader.getURLData("moderator") !== null)) {
World.PLAYER.admin = 1;
window.document.getElementById("chatInput").maxLength = 1000000;
}
window.document.getElementById("nickname").innerHTML += '<input id="passwordInput" type="password" placeholder="Password" maxLength="16">';
var password = localStorage2.getItem("password");
if (password !== null) window.document.getElementById("passwordInput").value = password;
}
var port = Loader.getURLData("port");
var ip = Loader.getURLData("ips");
if (ip !== null) {
ip = ip.replace(/\./g, '-');
var selectedServer = window.Number(window.document.getElementById("servers").value);
Client.serverList[selectedServer][0] = ip;
Client.serverList[selectedServer][1] = ip + ".devast.io";
Client.serverList[selectedServer][2] = (port === null) ? "443" : port;
Client.serverList[selectedServer][3] = 1;
}
ip = Loader.getURLData("ip");
if (ip !== null) {
ip = ip.replace(/\./g, '-');
var selectedServer = window.Number(window.document.getElementById("servers").value);
Client.serverList[selectedServer][0] = ip;
Client.serverList[selectedServer][1] = ip;
Client.serverList[selectedServer][2] = (port === null) ? "8080" : port;
Client.serverList[selectedServer][3] = 0;
}
};
Client.types = ["BR", "PRIV", "HIDDEN", "GHOUL"];
Client.getServerList(function() {
setupServers();
Loader.quit(Home);
});
var entityExplosions = ENTITIES[__ENTITIE_EXPLOSION__].explosions;
var entityExplosions2 = ENTITIES2[__ENTITIE_EXPLOSION__].explosions;
for (var i = 0; i < entityExplosions.length; i++) {
entityExplosions[i].img = CanvasUtils.loadImage(entityExplosions[i].src, entityExplosions[i].img);
entityExplosions2[i].img = CanvasUtils.loadImage(entityExplosions2[i].src, entityExplosions2[i].img);
}
}
transitionDuration -= delta;
}
return 1;
};
return {
quit: quit,
init: init,
run: run,
update: update,
draw: draw
};
})();
var Home = (function() {
async function joinServer() {
checkAdBlocker();
if (shouldShowAds()) {
if (Home.waitAds === 1) return;
if (Home.ads === 1) {
await showAds();
return;
}
}
const gameMode = getGameMode();
const serverId = document.getElementById('servers').value;
const [lobFind, lobID] = getLobbyDetails(gameMode, serverId);
try {
const lobby = await findOrJoinLobby(lobFind, lobID);
connectToLobby(lobby);
} catch (error) {
console.error(error);
}
}
function checkAdBlocker() {
try {
document.getElementsByClassName("ympb_target")[0].id;
document.getElementById("trevda").id;
document.getElementById("preroll").id;
} catch (error) {
Home.adblocker = 1;
}
}
function shouldShowAds() {
return (
World.PLAYER.admin !== 1 &&
typeof window["YMPB"] !== 'undefined' &&
typeof window["YMPB"]["preroll"] !== 'undefined'
);
}
function showAds() {
return new Promise((resolve) => {
AudioManager.cutTitleMusic();
document.getElementById("preroll").style.display = "block";
window["YMPB"]["preroll"]('preroll', () => {
Home.waitAds = 0;
Home.ads = -1;
Home.joinServer();
resolve();
});
Home.waitAds = 1;
});
}
function getGameMode() {
switch (Home.gameMode) {
case World['__SURVIVAL__']:
return 'survival';
case World['__GHOUL__']:
return 'ghoul';
case World['__BR__']:
return 'br';
default:
throw new Error('Unknown game mode', Home.gameMode);
}
}
function getLobbyDetails(gameMode, serverId) {
if (serverId === 'auto') {
return ['https://api.eg.rivet.gg/matchmaker/lobbies/find', { 'game_modes': [gameMode] }];
} else {
return ['https://api.eg.rivet.gg/matchmaker/lobbies/join', { 'lobby_id': serverId }];
}
}
async function findOrJoinLobby(url, body) {
const headers = {
'Accept': 'application/json',
'Content-Type': 'application/json'
};
if (window.RIVET_TOKEN) {
headers['Authorization'] = 'Bearer ' + window.RIVET_TOKEN;
}
const response = await fetch(url, {
method: 'POST',
headers: headers,
body: JSON.stringify(body),
});
if (!response.ok) {
throw new Error('Failed to find lobby: ' + response.status);
}
return response.json();
}
function connectToLobby(lobby) {
Client.selectedServer = Client.serverList.findIndex(server => server[0] === lobby.lobby_id);
Client.connectedLobby = lobby;
Client.startConnection(document.getElementById('nicknameInput').value, 0, lobby.player.token);
}
function onError(state) {};
function quitGame() {
quit(Game);
};
function onOpen() {
quitGame();
};
var vmV = 0;
function nnn(type, offsetX, offsetY, angle, MMWWm, Mmwvn) {
var entity = Entitie.get(0, vmV, vmV, type);
setEntitie(entity, 0, vmV, vmV, type, offsetX, offsetY, offsetX, offsetY, (MMWWm << 5) + (Mmwvn << 10), angle, 1);
vmV++;
};
function Vnvmv(type, offsetX, offsetY, rotation, state, subtype) {
var entity = Entitie.get(0, vmV, vmV, type);
setEntitie(entity, 0, vmV, vmV, type, offsetX, offsetY, offsetX, offsetY, (subtype << 7) + (rotation << 5), 0, state);
vmV++;
};
var NNN = 0;
var mNMWw = {
_en: [{
_name: 'Yuukun',
button: ["img/yuukun0out.png", "img/yuukun0in.png", "img/yuukun0click.png"],
_url: "https://energy.youtube.com/watch?v=TyI_8Il64d8"
}, {
_name: 'eXistenZ',
button: ["img/existenz5out.png", "img/existenz5in.png", "img/existenz5click.png"],
_url: "https://energy.youtube.com/watch?v=Seq6QGBTvNQ"
}, {
_name: 'Bubble Gum',
button: ["img/bubblegum2out.png", "img/bubblegum2in.png", "img/bubblegum2click.png"],
_url: "https://youtu.be/fD7lx9zAQGU"
}],
_fr: [{
_name: 'Devaster',
button: ["img/devaster0out.png", "img/devaster0in.png", "img/devaster0click.png"],
_url: "https://energy.youtube.com/watch?v=Jpgx-d3qHzs"
}]
};
var WVwwn = mNMWw._en;
var userLanguage = window.navigator.language || window.navigator.userLanguage;
if (userLanguage.toLowerCase().indexOf("fr") !== -1) WVwwn = mNMWw._fr;
var WWNWM = WVwwn[window.Math.floor(WVwwn.length * window.Math.random())];
var mnMMV = [GUI.renderText(WWNWM._name, "'Viga', sans-serif", "#FFFFFF", 30, 150), GUI.renderText(WWNWM._name, "'Viga', sans-serif", "#C5B03C", 30, 150), GUI.renderText(WWNWM._name, "'Viga', sans-serif", "#9B800D", 30, 150)];
mnMMV[0].isLoaded = 1;
mnMMV[1].isLoaded = 1;
mnMMV[2].isLoaded = 1;
var wMMNm = GUI.createButton(mnMMV[0].wh, mnMMV[0].h2, window.undefined, mnMMV);
var wvmwM = GUI.createButton(120, 67, WWNWM.button);
var WnwMN = {
img: null
};
var VmV;
var mVwVw;
var nickname;
var vWmNN;
var VWvmM;
var playbutt;
var NnnVw;
var Wvwwv;
var VMmWW;
var serverList;
var vnmmN;
var wwMMw;
var mwvwV;
var NNnwN;
var VNVnM;
var nmnWW;
var mmvWv;
var mwnnv;
var wnwvW;
var MMNMM;
var WWNNV;
var twitter;
var facebook;
var youtube;
var reddit;
var discord;
var NvW;
var VmwMm;
var vvWWW;
var wnm;
var VMm;
var WMmmM;
var nvWwv;
var WwWvv;
var wvmmM;
var mNVWV;
var VMmWN;
var vnvmm;
var wWWwm;
var privateServer;
var vvmMm;
var wMNWw;
var trevdaStyle;
var vWNNw;
var VvVMm;
var VwWMv;
var vmWmN;
function init() {
Home.joinServer = joinServer;
Home.ads = 1;
Home.waitAds = 0;
/*var WvMwn = new window.XMLHttpRequest;
WvMwn.onreadystatechange = function() {
if ((this.readyState === 4) && (this.status === 0)) {
Home.adblocker = 1;
window.document.getElementById("trevda").innerHTML = '<img src="./img/disable-to-get-bonus.png"></img>';
}
};
WvMwn.open("GET", "https://api.adinplay.com/libs/aiptag/assets/adsbygoogle.js", true);
WvMwn.send();
*/
if (window.String(window.document.createElement).indexOf("createElement") === -1) Home.adblocker = 1;
Home.gameMode = 0;
Home.publicMode = 1;
Home.alertId = 0;
Home.alertDelay = 0;
window.document.getElementById("nicknameInput").value = localStorage2.getItem("nickname", nickname);
AudioUtils.fadeSound(AudioUtils.audio.title, 1000, AudioManager.musicVolume);
Entitie.removeAll();
Render.reset(1);
vmV = 0;
nnn(__ENTITIE_RESOURCES_DOWN__, 200, 0, 127, RESID.STONE, 3);
nnn(__ENTITIE_RESOURCES_TOP__, 400, 100, 127, RESID.ORANGETREE, 2);
nnn(__ENTITIE_RESOURCES_STOP__, 100, 100, 127, RESID.LEAFTREE, 0);
Vnvmv(__ENTITIE_BUILD_GROUND__, 900, 500, 0, 33, IID.__SMELTER__);
Vnvmv(__ENTITIE_BUILD_DOWN__, 800, 400, 1, 1, IID.__WORKBENCH__);
nnn(__ENTITIE_RESOURCES_STOP__, 1100, 300, 10, RESID.LEAFTREE, 1);
nnn(__ENTITIE_RESOURCES_STOP__, 800, 200, 127, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_STOP__, 700, 100, 127, RESID.LEAFTREE, 3);
nnn(__ENTITIE_RESOURCES_STOP__, 1200, 0, 127, RESID.LEAFTREE, 0);
nnn(__ENTITIE_RESOURCES_STOP__, 1300, 100, 127, RESID.LEAFTREE, 4);
nnn(__ENTITIE_RESOURCES_STOP__, 1300, 300, 127, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_STOP__, 800, 500, 127, RESID.LEAFTREE, 4);
nnn(__ENTITIE_RESOURCES_TOP__, 1000, 200, 127, RESID.ORANGETREE, 0);
nnn(__ENTITIE_RESOURCES_STOP__, 700, 600, 127, RESID.LEAFTREE, 0);
nnn(__ENTITIE_RESOURCES_STOP__, 500, 400, 127, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_DOWN__, 500, 700, 127, RESID.STONE, 3);
nnn(__ENTITIE_RESOURCES_DOWN__, 1000, 300, 127, RESID.STONE, 4);
nnn(__ENTITIE_RESOURCES_STOP__, 1300, 500, 100, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_STOP__, 1200, 700, 127, RESID.LEAFTREE, 4);
nnn(__ENTITIE_RESOURCES_STOP__, 1300, 700, 127, RESID.LEAFTREE, 0);
nnn(__ENTITIE_RESOURCES_DOWN__, 800, 600, 127, RESID.STONE, 5);
nnn(__ENTITIE_RESOURCES_STOP__, 500, 600, 127, RESID.LEAFTREE, 4);
nnn(__ENTITIE_RESOURCES_DOWN__, 200, 400, 127, RESID.URANIUM, 0);
nnn(__ENTITIE_RESOURCES_DOWN__, 400, 500, 50, RESID.WOOD, 3);
nnn(__ENTITIE_RESOURCES_STOP__, 100, 400, 190, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_STOP__, 100, 500, 190, RESID.LEAFTREE, 3);
nnn(__ENTITIE_RESOURCES_STOP__, 100, 600, 127, RESID.LEAFTREE, 4);
nnn(__ENTITIE_RESOURCES_STOP__, 0, 500, 127, RESID.LEAFTREE, 1);
nnn(__ENTITIE_RESOURCES_STOP__, 200, 300, 50, RESID.LEAFTREE, 4);
nnn(__ENTITIE_RESOURCES_STOP__, 400, 200, 10, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_STOP__, 500, 200, 10, RESID.LEAFTREE, 1);
nnn(__ENTITIE_RESOURCES_STOP__, 100, 800, 10, RESID.LEAFTREE, 0);
nnn(__ENTITIE_RESOURCES_STOP__, 400, 800, 10, RESID.LEAFTREE, 1);
nnn(__ENTITIE_RESOURCES_STOP__, 700, 800, 10, RESID.LEAFTREE, 2);
nnn(__ENTITIE_RESOURCES_DOWN__, 900, 700, 50, RESID.WOOD, 4);
if (isTouchScreen === 1) VmV = GUI.createBackground(650, 312, "img/logo-homepage-mobile2.png");
else VmV = GUI.createBackground(650, 312, "img/logo-homepage4.png");
if (isTouchScreen === 1) mVwVw = GUI.createButton(0, 0);
else mVwVw = GUI.createButton(94, 40, ["img/more-io-games-out.png", "img/more-io-games-in.png", "img/more-io-games-click.png"]);
nickname = window.document.getElementById("nickname");
vWmNN = nickname.style;
VWvmM = {
x: 0,
y: 0
};
nickname.addEventListener("keyup", function(event) {
if ((transitionState | reverseTransitionState) === 1) return;
if (event.keyCode === 13) joinServer();
}, false);
playbutt = GUI.createButton(136, 57, ["img/play-button-out.png", "img/play-button-in.png", "img/play-button-click.png"]);
NnnVw = window.document.getElementById("terms");
Wvwwv = NnnVw.style;
VMmWW = {
x: 0,
y: 0
};
serverList = window.document.getElementById("serverList");
vnmmN = serverList.style;
wwMMw = {
x: 0,
y: 0
};
serverList.addEventListener("mouseover", function(event) {
if ((transitionState | reverseTransitionState) === 1) return;
}, false);
serverList.addEventListener("mousedown", function(event) {
if ((transitionState | reverseTransitionState) === 1) return;
}, false);
serverList.addEventListener("mouseup", function(event) {
if ((transitionState | reverseTransitionState) === 1) return;
}, false);
if (isTouchScreen === 1) mwvwV = GUI.createBackground(0, 0);
else mwvwV = GUI.createBackground(230, 235, "img/changelogBox.png");
NNnwN = window.document.getElementById("changelog");
VNVnM = NNnwN.style;
nmnWW = {
x: 0,
y: 0
};
if (isTouchScreen === 1) mmvWv = GUI.createBackground(0, 0);
else mmvWv = GUI.createBackground(230, 355, "img/commandsBox.png");
mwnnv = window.document.getElementById("howtoplay");
wnwvW = mwnnv.style;
MMNMM = {
x: 0,
y: 0
};
if (isTouchScreen === 1) WWNNV = GUI.createBackground(0, 0);
else WWNNV = GUI.createBackground(123, 55, "img/gameMade.png");
if (isTouchScreen === 1) twitter = GUI.createButton(0, 0);
else twitter = GUI.createButton(40, 38, ["img/twitter-button-out.png", "img/twitter-button-in.png", "img/twitter-button-click.png"]);
if (isTouchScreen === 1) facebook = GUI.createButton(0, 0);
else facebook = GUI.createButton(40, 38, ["img/facebook-button-out.png", "img/facebook-button-in.png", "img/facebook-button-click.png"]);
if (isTouchScreen === 1) youtube = GUI.createButton(0, 0);
else youtube = GUI.createButton(40, 38, ["img/youtube-button-out.png", "img/youtube-button-in.png", "img/youtube-button-click.png"]);
if (isTouchScreen === 1) reddit = GUI.createButton(0, 0);
else reddit = GUI.createButton(54, 54, ["img/home-reddit-button-out.png", "img/home-reddit-button-in.png", "img/home-reddit-button-click.png"]);
if (isTouchScreen === 1) discord = GUI.createButton(0, 0);
else discord = GUI.createButton(54, 54, ["img/home-discord-button-out.png", "img/home-discord-button-in.png", "img/home-discord-button-click.png"]);
NvW = GUI.createButton(93, 51, ["img/survivalmode-button-out.png", "img/survivalmode-button-in.png", "img/survivalmode-button-click.png"]);
VmwMm = GUI.createButton(93, 51, ["img/battle-royale-button-out.png", "img/battle-royale-button-in.png", "img/battle-royale-button-click.png"]);
vvWWW = GUI.createButton(93, 51, ["img/ghoul-mode-button-out.png", "img/ghoul-mode-button-in.png", "img/ghoul-mode-button-click.png"]);
wnm = GUI.createButton(68, 34, ["img/private-server-button-out.png", "img/private-server-button-in.png", "img/private-server-button-click.png"]);
VMm = GUI.createButton(68, 34, ["img/public-server-button-out.png", "img/public-server-button-in.png", "img/public-server-button-click.png"]);
if (isTouchScreen === 1) WMmmM = GUI.createBackground(0, 0);
else WMmmM = GUI.createBackground(171, 432, "img/featured.png");
if (isTouchScreen === 1) nvWwv = GUI.createButton(0, 0);
else nvWwv = GUI.createButton(60, 60, ["img/home-limaxio-out.png", "img/home-limaxio-in.png", "img/home-limaxio-click.png"]);
if (isTouchScreen === 1) WwWvv = GUI.createButton(0, 0);
else WwWvv = GUI.createButton(60, 60, ["img/home-oibio-out.png", "img/home-oibio-in.png", "img/home-oibio-click.png"]);
if (isTouchScreen === 1) wvmmM = GUI.createButton(0, 0);
else wvmmM = GUI.createButton(60, 60, ["img/home-starveio-out.png", "img/home-starveio-in.png", "img/home-starveio-click.png"]);
if (isTouchScreen === 1) mNVWV = GUI.createButton(0, 0);
else mNVWV = GUI.createButton(60, 60, ["img/home-nendio-out.png", "img/home-nendio-in.png", "img/home-nendio-click.png"]);
VMmWN = window.document.getElementById("featuredVideo");
vnvmm = VMmWN.style;
wWWwm = {
x: 0,
y: 0
};
if (isTouchScreen === 1) privateServer = GUI.createButton(0, 0);
else privateServer = GUI.createButton(86, 48, ["img/privateserver-button-out.png", "img/privateserver-button-in.png", "img/privateserver-button-click.png"]);
if (isTouchScreen === 1) vvmMm = GUI.createButton(0, 0);
else vvmMm = GUI.createButton(52, 42, ["img/map-editor-button-out.png", "img/map-editor-button-in.png", "img/map-editor-button-click.png"]);
wMNWw = window.document.getElementById("trevda");
trevdaStyle = wMNWw.style;
vWNNw = {
x: 0,
y: 0
};
VvVMm = window.document.getElementById("preroll");
VwWMv = VvVMm.style;
vmWmN = {
x: 0,
y: 0
};
};
var transitionSpeed;
var mouseX = new Mouse.LocalMouseEvent;
var keyboard = new Keyboard.LocalKeyboardEvent;
var transitionDuration = 800;
var transitionState = 0;
var transitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.inQuart, 0.05);
};
var reverseTransitionDuration = 2000;
var reverseTransitionState = 0;
var reverseTransitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.outQuart, 0.05);
};
var reverseTransition = 0;
var transitionDuration = 0;
var isWaiting = window.undefined;
function run() {
Client.onError = onError;
Client.onOpen = onOpen;
World.PLAYER.isBuilding = 0;
World.PLAYER.id = 0;
Render.setDetection(0);
Render.stopPoisonEffect();
if (Home.gameMode === 1) {
VMm.hide();
wnm.hide();
}
Home.trevdaStyle = trevdaStyle;
if (isTouchScreen === 1) {
wMMNm.hide();
wvmwM.hide();
vvmMm.hide();
}
CanvasUtils.setRenderer(Home);
transitionDuration = reverseTransitionDuration;
reverseTransition = reverseTransitionDuration;
isWaiting = reverseTransitionFunction;
reverseTransitionState = 1;
update();
vWmNN.display = "inline-block";
if (isTouchScreen === 0) Wvwwv.display = "inline-block";
vnmmN.display = "inline-block";
if (isTouchScreen === 0) VNVnM.display = "inline-block";
if (isTouchScreen === 0) wnwvW.display = "inline-block";
if (isTouchScreen === 0) vnvmm.display = "inline-block";
};
function quit(callback) {
transitionSpeed = callback;
VVwMW();
transitionDuration = transitionDuration;
reverseTransition = transitionDuration;
isWaiting = transitionFunction;
transitionState = 1;
};
function update() {
var transitionX = 0;
var transitionY = 0;
if (transitionDuration > 0) {
transitionY = canh;
var transition = isWaiting(1 - (transitionDuration / reverseTransition));
if (transition === 1) transitionDuration = 0;
if (reverseTransitionState === 1) transition = 1 - window.Math.abs(transition);
transitionX *= transition;
transitionY *= transition;
}
VmV.pos.x = ((canw2 - window.Math.floor(325 * scaleby)) + window.Math.floor(((isTouchScreen === 0) ? -30 : -70) * scaleby)) - transitionX;
VmV.pos.y = window.Math.max(0, (canh2 - window.Math.floor(156 * scaleby)) + window.Math.floor(((isTouchScreen === 0) ? -150 : -150) * scaleby)) - transitionY;
mVwVw.pos.x = window.Math.floor(5 * scaleby) + transitionX;
mVwVw.pos.y = ((canh - window.Math.floor(40 * scaleby)) + window.Math.floor(-5 * scaleby)) + transitionY;
VWvmM.x = ((canw2 - window.Math.floor(91 * scaleby)) + window.Math.floor(((isTouchScreen === 0) ? -6.8 : -47.5) * scaleby)) - transitionX;
vWmNN.left = VWvmM.x + "px";
VWvmM.y = VmV.pos.y + window.Math.floor(143 * scaleby);
vWmNN.top = VWvmM.y + "px";
playbutt.pos.x = VmV.pos.x + window.Math.floor(290 * scaleby);
playbutt.pos.y = VmV.pos.y + window.Math.floor(235 * scaleby);
VMmWW.x = (canw - 85) + transitionX;
Wvwwv.left = VMmWW.x + "px";
VMmWW.y = ((canh - 17) + window.Math.floor(-10 * scaleby)) + transitionY;
Wvwwv.top = VMmWW.y + "px";
wwMMw.x = ((canw2 - window.Math.floor(100 * scaleby)) + window.Math.floor(((isTouchScreen === 0) ? 12.8 : -26.5) * scaleby)) - transitionX;
vnmmN.left = wwMMw.x + "px";
wwMMw.y = VWvmM.y + window.Math.floor(45 * scaleby);
vnmmN.top = wwMMw.y + "px";
mwvwV.pos.x = ((canw - window.Math.floor(230 * scaleby)) + window.Math.floor(7 * scaleby)) - transitionX;
mwvwV.pos.y = -transitionY;
nmnWW.x = ((canw - 200) + window.Math.floor(-10 * scaleby)) - transitionX;
VNVnM.left = nmnWW.x + "px";
nmnWW.y = window.Math.floor(20 * scaleby) - transitionY;
VNVnM.top = nmnWW.y + "px";
mmvWv.pos.x = mwvwV.pos.x;
mmvWv.pos.y = mwvwV.pos.y + window.Math.floor(230 * scaleby);
MMNMM.x = ((canw - 200) + window.Math.floor(-10 * scaleby)) - transitionX;
wnwvW.left = MMNMM.x + "px";
MMNMM.y = nmnWW.y + window.Math.floor(215 * scaleby);
wnwvW.top = MMNMM.y + "px";
WWNNV.pos.x = window.Math.floor(15 * scaleby) - transitionX;
WWNNV.pos.y = window.Math.floor(5 * scaleby) - transitionY;
twitter.pos.x = WWNNV.pos.x + window.Math.floor(-5 * scaleby);
twitter.pos.y = WWNNV.pos.y + window.Math.floor(55 * scaleby);
facebook.pos.x = twitter.pos.x + window.Math.floor(45 * scaleby);
facebook.pos.y = twitter.pos.y;
youtube.pos.x = facebook.pos.x + window.Math.floor(45 * scaleby);
youtube.pos.y = twitter.pos.y;
reddit.pos.x = VmV.pos.x + window.Math.floor(26 * scaleby);
reddit.pos.y = VmV.pos.y + window.Math.floor(36 * scaleby);
discord.pos.x = reddit.pos.x + window.Math.floor(83.5 * scaleby);
discord.pos.y = reddit.pos.y;
NvW.pos.x = playbutt.pos.x + window.Math.floor(213 * scaleby);
NvW.pos.y = playbutt.pos.y + window.Math.floor(-98 * scaleby);
VmwMm.pos.x = NvW.pos.x;
VmwMm.pos.y = NvW.pos.y + window.Math.floor(60 * scaleby);
vvWWW.pos.x = NvW.pos.x;
vvWWW.pos.y = NvW.pos.y + window.Math.floor(60 * scaleby);
wnm.pos.x = playbutt.pos.x + window.Math.floor(-126 * scaleby);
wnm.pos.y = playbutt.pos.y + window.Math.floor(-58 * scaleby);
VMm.pos.x = wnm.pos.x;
VMm.pos.y = wnm.pos.y + window.Math.floor(-37 * scaleby);
WMmmM.pos.x = twitter.pos.x;
WMmmM.pos.y = twitter.pos.y + window.Math.floor(50 * scaleby);
nvWwv.pos.x = twitter.pos.x + window.Math.floor(21.5 * scaleby);
nvWwv.pos.y = twitter.pos.y + window.Math.floor(72 * scaleby);
WwWvv.pos.x = nvWwv.pos.x;
WwWvv.pos.y = nvWwv.pos.y + window.Math.floor(70 * scaleby);
wvmmM.pos.x = WwWvv.pos.x;
wvmmM.pos.y = WwWvv.pos.y + window.Math.floor(69 * scaleby);
mNVWV.pos.x = wvmmM.pos.x;
mNVWV.pos.y = wvmmM.pos.y + window.Math.floor(69 * scaleby);
wWWwm.x = mNVWV.pos.x + window.Math.floor(15 * scaleby);
vnvmm.left = wWWwm.x + "px";
wWWwm.y = mNVWV.pos.y + window.Math.floor(83 * scaleby);
vnvmm.top = wWWwm.y + "px";
privateServer.pos.x = VMm.pos.x + window.Math.floor(-120 * scaleby);
privateServer.pos.y = VMm.pos.y + window.Math.floor(41 * scaleby);
vvmMm.pos.x = privateServer.pos.x + window.Math.floor(-8.5 * scaleby);
vvmMm.pos.y = privateServer.pos.y + window.Math.floor(-53 * scaleby);
vWNNw.x = canw2 - window.Math.floor(150 * scaleby);
trevdaStyle.left = vWNNw.x + "px";
vWNNw.y = VWvmM.y + window.Math.floor(130 * scaleby);
trevdaStyle.top = vWNNw.y + "px";
var mVvwv = window.Math.min(scaleby, 1);
var pos = (VWvmM.y + transitionY) + (170 * scaleby);
window.document.getElementById("trevda").style.left = window.Math.floor(canw2 - (325 * mVvwv)) + "px";
window.document.getElementById("trevda").style.top = window.Math.floor(pos + (((mVvwv * 250) - 250) / 2)) + "px";
window.document.getElementById("trevda").style.transform = ("scale(" + mVvwv) + ")";
var mwNww = window.document.getElementById("nicknameInput").style;
var width = window.Math.floor(220 * scaleby);
var height = window.Math.floor(35 * scaleby);
height = height + "px";
width = width + "px";
vWmNN.width = width;
vWmNN.height = height;
mwNww["borderWidth"] = window.Math.floor(3 * scaleby) + "px";
mwNww.width = width;
mwNww.height = height;
mwNww.fontSize = window.Math.floor(18 * scaleby) + "px";
if ((Loader.getURLData("ips") !== null) || (Loader.getURLData("ip") !== null)) {
vnmmN.display = "none";
NvW.pos.y = -500;
VmwMm.pos.y = -500;
vvWWW.pos.y = -500;
wnm.pos.y = -500;
VMm.pos.y = -500;
if (Loader.getURLData("admin") !== null) wMNWw.display = "none";
}
if (window.document.getElementById("passwordInput") !== null) {
var VNNvn = window.document.getElementById("passwordInput").style;
var width = window.Math.floor(220 * scaleby);
var height = window.Math.floor(35 * scaleby);
var MMM = window.Math.floor(canw2 - (width / 2)) + "px";
height = height + "px";
width = width + "px";
VNNvn.width = width;
VNNvn.height = height;
VNNvn.left = MMM;
VNNvn["borderWidth"] = window.Math.floor(3 * scaleby) + "px";
VNNvn.width = width;
VNNvn.height = height;
VNNvn.fontSize = window.Math.floor(18 * scaleby) + "px";
VNNvn["marginTop"] = window.Math.floor(4 * scaleby) + "px";
};
width = window.Math.floor(200 * scaleby);
height = window.Math.floor(28 * scaleby);
height = height + "px";
width = width + "px";
vnmmN.width = width;
vnmmN.height = height;
vnmmN["backgroundSize"] = window.Math.floor(17 * scaleby) + "px";
var nVvNv = window.document.getElementById("servers").style;
width = window.Math.floor(230 * scaleby) + "px";
height = window.Math.floor(28 * scaleby) + "px";
nVvNv.width = width;
nVvNv.height = height;
nVvNv.fontSize = window.Math.floor(13 * scaleby) + "px";
width = window.Math.floor(185 * scaleby);
height = window.Math.floor(17 * scaleby);
MMM = window.Math.floor(canw - width) + "px";
height = height + "px";
width = width + "px";
_top = (window.Math.floor(canh - (18 * scaleby)) + transitionY) + "px";
Wvwwv.width = width;
Wvwwv.height = height;
Wvwwv.left = MMM;
Wvwwv.top = _top;
Wvwwv.fontSize = window.Math.floor(11 * scaleby) + "px";
width = window.Math.floor(197 * scaleby);
height = window.Math.floor(250 * scaleby);
MMM = window.Math.floor(canw - (205 * scaleby)) + "px";
height = height + "px";
width = width + "px";
VNVnM.width = width;
VNVnM.height = height;
VNVnM.left = MMM;
VNVnM.fontSize = window.Math.floor(11 * scaleby) + "px";
VNVnM["borderRadius"] = window.Math.floor(5 * scaleby) + "px";
VNVnM["paddingTop"] = window.Math.floor(18 * scaleby) + "px";
var NNVVn = window.document.getElementById("changelogTitle").style;
width = window.Math.floor(197 * scaleby) + "px";
height = window.Math.floor(23 * scaleby) + "px";
NNVVn.width = width;
NNVVn.height = height;
NNVVn.fontSize = window.Math.floor(16 * scaleby) + "px";
NNVVn["paddingTop"] = window.Math.floor(8 * scaleby) + "px";
NNVVn["paddingBottom"] = window.Math.floor(0 * scaleby) + "px";
NNVVn["marginBottom"] = window.Math.floor(-2 * scaleby) + "px";
NNVVn["marginTop"] = window.Math.floor(-22 * scaleby) + "px";
NNVVn["borderRadius"] = ((((((window.Math.floor(5 * scaleby) + "px ") + window.Math.floor(5 * scaleby)) + "px ") + window.Math.floor(0 * scaleby)) + "px ") + window.Math.floor(0 * scaleby)) + "px";
var NMvMW = window.document.getElementById("changelogImg").style;
width = window.Math.floor(175 * scaleby) + "px";
height = window.Math.floor(80 * scaleby) + "px";
NMvMW.width = width;
NMvMW.height = height;
NMvMW.wnwNW = window.Math.floor(10 * scaleby) + "px";
var nMWvW = window.document.getElementById("changelogText").style;
nMWvW.fontSize = window.Math.floor(10 * scaleby) + "px";
nMWvW["padding"] = window.Math.floor(15 * scaleby) + "px";
nMWvW["paddingTop"] = window.Math.floor(5 * scaleby) + "px";
width = window.Math.floor(197 * scaleby);
height = window.Math.floor(347 * scaleby);
MMM = window.Math.floor(canw - (205 * scaleby)) + "px";
MVvmn = window.Math.floor(canh - (105 * scaleby)) + "px";
height = height + "px";
width = width + "px";
wnwvW.width = width;
wnwvW.height = height;
wnwvW.left = MMM;
wnwvW.bottom = MVvmn;
wnwvW.fontSize = window.Math.floor(13 * scaleby) + "px";
wnwvW["marginTop"] = window.Math.floor(0 * scaleby) + "px";
wnwvW["paddingTop"] = window.Math.floor(18 * scaleby) + "px";
window.document.getElementById("featuredVideo").style.fontSize = window.Math.floor(13 * scaleby) + "px";
window.document.getElementById("mainCommands").style["marginTop"] = window.Math.floor(55 * scaleby) + "px";
window.document.getElementById("secondCommands").style["marginTop"] = window.Math.floor(55 * scaleby) + "px";
window.document.getElementById("moveCommand").style["paddingLeft"] = window.Math.floor(20 * scaleby) + "px";
window.document.getElementById("moveCommand").style["paddingRight"] = window.Math.floor(20 * scaleby) + "px";
window.document.getElementById("hitCommands").style["paddingLeft"] = window.Math.floor(10 * scaleby) + "px";
window.document.getElementById("hitCommands").style["paddingRight"] = window.Math.floor(10 * scaleby) + "px";
window.document.getElementById("runCommands").style["paddingLeft"] = window.Math.floor(0 * scaleby) + "px";
window.document.getElementById("runCommands").style["paddingRight"] = window.Math.floor(20 * scaleby) + "px";
window.document.getElementById("interactCommands").style["paddingLeft"] = window.Math.floor(7 * scaleby) + "px";
window.document.getElementById("interactCommands").style["paddingRight"] = window.Math.floor(0 * scaleby) + "px";
window.document.getElementById("craftCommands").style["paddingLeft"] = window.Math.floor(5 * scaleby) + "px";
window.document.getElementById("craftCommands").style["paddingRight"] = window.Math.floor(18 * scaleby) + "px";
window.document.getElementById("mapCommands").style["paddingLeft"] = window.Math.floor(6 * scaleby) + "px";
window.document.getElementById("mapCommands").style["paddingRight"] = window.Math.floor(12 * scaleby) + "px";
var NwvWV = window.document.getElementById("howtoplayTitle").style;
width = window.Math.floor(197 * scaleby) + "px";
height = window.Math.floor(23 * scaleby) + "px";
NwvWV.width = width;
NwvWV.height = height;
NwvWV.fontSize = window.Math.floor(16 * scaleby) + "px";
NwvWV["paddingTop"] = window.Math.floor(0 * scaleby) + "px";
NwvWV["paddingBottom"] = window.Math.floor(13 * scaleby) + "px";
NwvWV["marginBottom"] = window.Math.floor(6 * scaleby) + "px";
NwvWV["marginTop"] = window.Math.floor(0 * scaleby) + "px";
NwvWV["borderRadius"] = ((((((window.Math.floor(5 * scaleby) + "px ") + window.Math.floor(5 * scaleby)) + "px ") + window.Math.floor(0 * scaleby)) + "px ") + window.Math.floor(0 * scaleby)) + "px";
var vNvVn = window.document.getElementById("howtoplayText").style;
vNvVn.fontSize = window.Math.floor(11 * scaleby) + "px";
vNvVn.MNmmV = window.Math.floor(6 * scaleby) + "px";
vNvVn.height = window.Math.floor(52 * scaleby) + "px";
var NWmNv = window.document.getElementById("howtoplayCommands").style;
width = window.Math.floor(197 * scaleby) + "px";
height = window.Math.floor(23 * scaleby) + "px";
NWmNv.width = width;
NWmNv.height = height;
NWmNv.fontSize = window.Math.floor(16 * scaleby) + "px";
NWmNv["paddingTop"] = window.Math.floor(13 * scaleby) + "px";
NWmNv["paddingBottom"] = window.Math.floor(13 * scaleby) + "px";
NWmNv["marginBottom"] = window.Math.floor(6 * scaleby) + "px";
NWmNv["marginTop"] = window.Math.floor(11 * scaleby) + "px";
};
function draw() {
if (transitionManager() === 0) return;
ctx.clearRect(0, 0, canw, canh);
Render.world();
if (transitionDuration > 0) {
NNN = isWaiting(1 - (transitionDuration / reverseTransition));
if (reverseTransitionState === 1) NNN = 1 - window.Math.abs(NNN);
NNN = 1 - NNN;
}
ctx.globalAlpha = 0.3 * NNN;
ctx.fillStyle = "#000000";
ctx.fillRect(0, 0, canw, canh);
ctx.globalAlpha = 1;
if (Home.gameMode === World.__SURVIVAL__) NvW.setState(GUI.__BUTTON_CLICK__);
else if (Home.gameMode === World.__BR__) VmwMm.setState(GUI.__BUTTON_CLICK__);
else if (Home.gameMode === World.__GHOUL__) vvWWW.setState(GUI.__BUTTON_CLICK__);
if (Home.publicMode === 0) wnm.setState(GUI.__BUTTON_CLICK__);
else if (Home.publicMode === 1) VMm.setState(GUI.__BUTTON_CLICK__);
VmV.draw();
mVwVw.draw();
playbutt.draw();
mwvwV.draw();
mmvWv.draw();
WWNNV.draw();
twitter.draw();
facebook.draw();
youtube.draw();
reddit.draw();
discord.draw();
NvW.draw();
vvWWW.draw();
wnm.draw();
VMm.draw();
WMmmM.draw();
nvWwv.draw();
WwWvv.draw();
wvmmM.draw();
mNVWV.draw();
privateServer.draw();
vvmMm.draw();
if (WnwMN.img === null) {
WnwMN.img = GUI.renderText((('0.' + versionInf[0]) + '.') + versionInf[1], "'Viga', sans-serif", "#d6ddde", 24, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#2b3c3e", 8);
WnwMN.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(WnwMN, (VmV.pos.x / scaleby) + 484.5, (VmV.pos.y / scaleby) + 124, 0, 0, 0, 1);
wvmwM.pos.x = WMmmM.pos.x + (27 * scaleby);
wvmwM.pos.y = WMmmM.pos.y + (329 * scaleby);
wvmwM.draw();
wMMNm.pos.x = WMmmM.pos.x + (34 * scaleby);
wMMNm.pos.y = WMmmM.pos.y + (399 * scaleby);
wMMNm.draw();
Render.alertServer();
AudioManager.scheduler();
};
function transitionManager() {
if (transitionState === 1) {
update();
if (transitionDuration < 0) {
transitionState = 0;
mVwVw.setState(GUI.__BUTTON_OUT__);
vWmNN.display = "none";
playbutt.setState(GUI.__BUTTON_OUT__);
Wvwwv.display = "none";
vnmmN.display = "none";
VNVnM.display = "none";
wnwvW.display = "none";
twitter.setState(GUI.__BUTTON_OUT__);
facebook.setState(GUI.__BUTTON_OUT__);
youtube.setState(GUI.__BUTTON_OUT__);
reddit.setState(GUI.__BUTTON_OUT__);
discord.setState(GUI.__BUTTON_OUT__);
NvW.setState(GUI.__BUTTON_OUT__);
VmwMm.setState(GUI.__BUTTON_OUT__);
vvWWW.setState(GUI.__BUTTON_OUT__);
wnm.setState(GUI.__BUTTON_OUT__);
VMm.setState(GUI.__BUTTON_OUT__);
nvWwv.setState(GUI.__BUTTON_OUT__);
WwWvv.setState(GUI.__BUTTON_OUT__);
wvmmM.setState(GUI.__BUTTON_OUT__);
mNVWV.setState(GUI.__BUTTON_OUT__);
vnvmm.display = "none";
privateServer.setState(GUI.__BUTTON_OUT__);
vvmMm.setState(GUI.__BUTTON_OUT__);
trevdaStyle.display = "none";
VwWMv.display = "none";
transitionSpeed.run();
return 0;
}
transitionDuration -= delta;
} else if (reverseTransitionState === 1) {
update();
if (transitionDuration < 0) {
reverseTransitionState = 0;
if (World.PLAYER.admin !== 1) trevdaStyle.display = "inline-block";
window.document.getElementById("bod").style.backgroundColor = "#46664d";
MmNNN();
}
transitionDuration -= delta;
}
return 1;
};
function mouseDown(event) {
Mouse.updateAll(event, Mouse.__MOUSE_DOWN__);
var vnm = 0;
if (mVwVw.trigger() === 1) {
vnm = 1;
}
if (playbutt.trigger() === 1) {
vnm = 1;
}
if (twitter.trigger() === 1) {
vnm = 1;
}
if (facebook.trigger() === 1) {
vnm = 1;
}
if (youtube.trigger() === 1) {
vnm = 1;
}
if (reddit.trigger() === 1) {
vnm = 1;
}
if (discord.trigger() === 1) {
vnm = 1;
}
if (NvW.trigger() === 1) {
vnm = 1;
}
if (VmwMm.trigger() === 1) {
vnm = 1;
}
if (vvWWW.trigger() === 1) {
vnm = 1;
}
if (wnm.trigger() === 1) {
vnm = 1;
}
if (VMm.trigger() === 1) {
vnm = 1;
}
if (nvWwv.trigger() === 1) {
vnm = 1;
}
if (WwWvv.trigger() === 1) {
vnm = 1;
}
if (wvmmM.trigger() === 1) {
vnm = 1;
}
if (mNVWV.trigger() === 1) {
vnm = 1;
}
if (privateServer.trigger() === 1) {
vnm = 1;
}
if (vvmMm.trigger() === 1) {
vnm = 1;
}
wvmwM.trigger();
wMMNm.trigger();
};
function mouseUp(event) {
Mouse.updateAll(event, Mouse.__MOUSE_UP__);
var vnm = 0;
if (mVwVw.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://iogames.space", "_blank");
}
if (playbutt.trigger() === 1) {
vnm = 1;
joinServer();
AudioUtils.playFx(AudioUtils._fx.play, 1, 0);
}
if (twitter.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://twitter.com/lapamauve", "_blank");
}
if (facebook.trigger() === 1) {
vnm = 1;
var OPEN = window.open(" https://energy.facebook.com/limaxio-571818073000979", "_blank");
}
if (youtube.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://youtube.com/c/LapaMauve", "_blank");
}
if (reddit.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://energy.reddit.com/r/devastio/", "_blank");
}
if (discord.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://discord.gg/V4KXEwr", "_blank");
}
if (NvW.trigger() === 1) {
vnm = 1;
if (Home.gameMode !== 0) {
if (((Client.state & State.__PENDING__) === 0) && ((Client.state & State.__CONNECTED__) === 0)) {
Home.gameMode = 0;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
VMm.show();
wnm.show();
window.document.getElementById("serverList").innerHTML = Home.survivalHtml;
window.document.getElementById("servers").selectedIndex = Home.survivalIndex;
update();
}
}
}
if (VmwMm.trigger() === 1) {
vnm = 1;
if ((0 && (Home.gameMode !== 1)) && (Home.publicMode === 1)) {
if (((Client.state & State.__PENDING__) === 0) && ((Client.state & State.__CONNECTED__) === 0)) {
Home.serverTest = 0;
Home.gameMode = World.__BR__;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
VMm.hide();
wnm.hide();
Home.survivalHtml = window.document.getElementById("serverList").innerHTML;
Home.survivalIndex = window.document.getElementById("servers").selectedIndex;
window.document.getElementById("serverList").innerHTML = Home.htmlBattleRoyale;
var j = 0;
var vvvNm = 0;
for (var i in Home.regions) {
if (i === Client.serverList[Home.survivalIndex][4]) {
Home.serverTest = window.Math.floor(window.Math.random() * Home.regions[i].length);
vvvNm = j;
break;
}
j++;
};
window.document.getElementById("servers").selectedIndex = vvvNm;
update();
}
}
}
if (vvWWW.trigger() === 1) {
vnm = 1;
if ((Home.gameMode !== 1) && (Home.publicMode === 1)) {
if (((Client.state & State.__PENDING__) === 0) && ((Client.state & State.__CONNECTED__) === 0)) {
Home.serverTest = 0;
Home.gameMode = World.__GHOUL__;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
VMm.hide();
wnm.hide();
Home.survivalHtml = window.document.getElementById("serverList").innerHTML;
Home.survivalIndex = window.document.getElementById("servers").selectedIndex;
window.document.getElementById("serverList").innerHTML = Home.htmlGhoulServer;
var vvvNm = window.Math.floor(window.Math.random() * 1);
window.document.getElementById("servers").selectedIndex = vvvNm;
update();
}
}
}
if (wnm.trigger() === 1) {
vnm = 1;
if ((Home.publicMode !== 0) && (Home.gameMode === 0)) {
if (((Client.state & State.__PENDING__) === 0) && ((Client.state & State.__CONNECTED__) === 0)) {
Home.serverTest = 0;
Home.publicMode = 0;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
NvW.hide();
VmwMm.hide();
vvWWW.hide();
Home.survivalHtml = window.document.getElementById("serverList").innerHTML;
Home.survivalIndex = window.document.getElementById("servers").selectedIndex;
window.document.getElementById("serverList").innerHTML = Home.htmlPrivateServer;
Home.serverTest = 0;
window.document.getElementById("servers").selectedIndex = 0;
update();
}
}
}
if (VMm.trigger() === 1) {
vnm = 1;
if ((Home.publicMode !== 1) && (Home.gameMode === 0)) {
if (((Client.state & State.__PENDING__) === 0) && ((Client.state & State.__CONNECTED__) === 0)) {
Home.publicMode = 1;
Home.gameMode = 0;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
NvW.show();
vvWWW.show();
window.document.getElementById("serverList").innerHTML = Home.survivalHtml;
window.document.getElementById("servers").selectedIndex = Home.survivalIndex;
update();
}
}
}
if (nvWwv.trigger() === 1) {
vnm = 1;
var OPEN = window.open("http://limax.io", "_blank");
}
if (WwWvv.trigger() === 1) {
vnm = 1;
var OPEN = window.open("http://oib.io", "_blank");
}
if (wvmmM.trigger() === 1) {
vnm = 1;
var OPEN = window.open("http://starve.io", "_blank");
}
if (mNVWV.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://nend.io", "_blank");
}
if (privateServer.trigger() === 1) {
vnm = 1;
var OPEN = window.open("https://devast.io/private-server", "_blank");
}
if (vvmMm.trigger() === 1) {
vnm = 1;
Home.quit(Editor);
AudioUtils.playFx(AudioUtils._fx.play, 1, 0);
}
if ((wvmwM.trigger() === 1) || (wMMNm.trigger() === 1)) {
var OPEN = window.open(WWNWM._url, "_blank");
};
};
function mouseMove(event) {
Mouse.updateAll(event, Mouse.__MOUSE_MOVE__);
var vnm = 0;
if (mVwVw.trigger() === 1) {
vnm = 1;
}
if (playbutt.trigger() === 1) {
vnm = 1;
}
if (twitter.trigger() === 1) {
vnm = 1;
}
if (facebook.trigger() === 1) {
vnm = 1;
}
if (youtube.trigger() === 1) {
vnm = 1;
}
if (reddit.trigger() === 1) {
vnm = 1;
}
if (discord.trigger() === 1) {
vnm = 1;
}
if (NvW.trigger() === 1) {
vnm = 1;
}
if (VmwMm.trigger() === 1) {
vnm = 1;
}
if (vvWWW.trigger() === 1) {
vnm = 1;
}
if (wnm.trigger() === 1) {
vnm = 1;
}
if (VMm.trigger() === 1) {
vnm = 1;
}
if (nvWwv.trigger() === 1) {
vnm = 1;
}
if (WwWvv.trigger() === 1) {
vnm = 1;
}
if (wvmmM.trigger() === 1) {
vnm = 1;
}
if (mNVWV.trigger() === 1) {
vnm = 1;
}
if (privateServer.trigger() === 1) {
vnm = 1;
}
if (vvmMm.trigger() === 1) {
vnm = 1;
}
wvmwM.trigger();
wMMNm.trigger();
};
function touchStart(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseDown(mouseX);
}
};
function touchEnd(event) {
mouseUp(mouseX);
};
function touchCancel(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseUp(mouseX);
}
};
function touchMove(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseMove(mouseX);
}
};
function getClickPos(e)
{
setx = rowx;
sety = rowy;
console.log('set: ' + rowx + ', ' + rowy)
};
function MmNNN() {
if (isTouchScreen === 0) window.addEventListener('contextmenu', function(ev) {
ev.preventDefault();
getClickPos();
return false;
}, false);
if (isTouchScreen === 0) window.addEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.addEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.addEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 1) window.addEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.addEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.addEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.addEventListener('touchmove', touchMove, false);
};
function VVwMW() {
if (isTouchScreen === 0) window.removeEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.removeEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.removeEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 1) window.removeEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.removeEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.removeEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.removeEventListener('touchmove', touchMove, false);
};
return {
quit: quit,
init: init,
run: run,
update: update,
draw: draw
};
})();
var chatvisible = 0;
var Game = (function() {
function onError(state) {
window.console.log("onError", state);
if (World.gameMode === 1) quit(Rank);
else quit(Score);
};
function onOpen() {};
function getBoxState() {
return NmW;
};
function getSkillBoxState() {
return NmW & isCraftOpen;
};
var NmW = 0;
var isMapOpen = 0;
var isSettingsOpen = 0;
var isCraftOpen = 0;
var isChestOpen = 0;
var isTeamOpen = 0;
var MNnnv = 0;
function _OpenBox(box) {
_CloseBox();
NmW = 1;
if (box === 1) isCraftOpen = 1;
else if (box === 2) isChestOpen = 1;
};
function _CloseBox() {
NmW = 0;
BUTTON_CLOSE_BOX.setState(GUI.__BUTTON_OUT__);
isMapOpen = 0;
isSettingsOpen = 0;
isCraftOpen = 0;
isChestOpen = 0;
isTeamOpen = 0;
World.releaseBuilding();
};
var BUTTON_ADDTEAM = GUI.createButton(63, 28, ["img/addteam-button-out.png", "img/addteam-button-in.png", "img/addteam-button-click.png"]);
var BUTTON_LEAVE = GUI.createButton(44, 33, ["img/leave-button-out.png", "img/leave-button-in.png", "img/leave-button-click.png"]);
var BUTTON_LOCK_TEAM = GUI.createButton(44, 33, ["img/lockteam-button-out.png", "img/lockteam-button-in.png", "img/lockteam-button-click.png"]);
var BUTTON_UNLOCK_TEAM = GUI.createButton(44, 33, ["img/unlockteam-button-out.png", "img/unlockteam-button-in.png", "img/unlockteam-button-click.png"]);
var BUTTON_DELETE = GUI.createButton(44, 33, ["img/delete-button-out.png", "img/delete-button-in.png", "img/delete-button-click.png"]);
var BUTTON_DELETE2 = GUI.createButton(44, 33, ["img/delete-button-out.png", "img/delete-button-in.png", "img/delete-button-click.png"]);
var BUTTON_JOIN = GUI.createButton(44, 33, ["img/join-button-out.png", "img/join-button-in.png", "img/join-button-click.png"]);
var BUTTON_CRAFT = GUI.createButton(71, 46, ["img/craft-button-out.png", "img/craft-button-in.png", "img/craft-button-click.png"]);
var BUTTON_CANCEL = GUI.createButton(71, 46, ["img/cancel-craft-button-out.png", "img/cancel-craft-button-in.png", "img/cancel-craft-button-click.png"]);
var BUTTON_UNLOCK = GUI.createButton(71, 46, ["img/unlock-button-out.png", "img/unlock-button-in.png", "img/unlock-button-click.png"]);
var BUTTON_BAG = GUI.createButton(64, 63, ["img/bag-button-out.png", "img/bag-button-in.png", "img/bag-button-click.png"]);
BUTTON_BAG.open = 0;
var skillList = [];
var craftList = [];
var nmMMm = 0;
var BUTTON_CLOSE_BOX = GUI.createButton(43, 43, ["img/close-box-out.png", "img/close-box-in.png", "img/close-box-click.png"]);
var highpartout = [CanvasUtils.loadImage("img/high-particules-out.png"), CanvasUtils.loadImage("img/high-particules-in.png"), CanvasUtils.loadImage("img/high-particules-click.png")];
var joinbuttout = [CanvasUtils.loadImage("img/join-button-out.png"), CanvasUtils.loadImage("img/join-button-in.png"), CanvasUtils.loadImage("img/join-button-click.png")];
var removebuttout = [CanvasUtils.loadImage("img/remove-button-out.png"), CanvasUtils.loadImage("img/remove-button-in.png"), CanvasUtils.loadImage("img/remove-button-click.png")];
var wVwnm = GUI.createButton(54, 42, null, highpartout);
var vWmmV = [CanvasUtils.loadImage("img/low-particules-out.png"), CanvasUtils.loadImage("img/low-particules-in.png"), CanvasUtils.loadImage("img/low-particules-click.png")];
var VnWMV = GUI.createButton(54, 42, null, vWmmV);
var vVvNM = [CanvasUtils.loadImage("img/no-particules-out.png"), CanvasUtils.loadImage("img/no-particules-in.png"), CanvasUtils.loadImage("img/no-particules-click.png")];
var wwMwv = GUI.createButton(54, 42, null, vVvNM);
var IMG_BUTTON_FUEL = [CanvasUtils.loadImage("img/fuel-button-out.png"), CanvasUtils.loadImage("img/fuel-button-in.png"), CanvasUtils.loadImage("img/fuel-button-click.png")];
var BUTTON_FUEL = GUI.createButton(46, 46, null, IMG_BUTTON_FUEL);
var IMG_BUTTON_FUEL1 = [CanvasUtils.loadImage("img/fuel1-button-out.png"), CanvasUtils.loadImage("img/fuel1-button-in.png"), CanvasUtils.loadImage("img/fuel1-button-click.png")];
var BUTTON_FUEL1 = GUI.createButton(46, 46, null, IMG_BUTTON_FUEL1);
var IMG_BUTTON_CELLS = [CanvasUtils.loadImage("img/energy-cells-button-out.png"), CanvasUtils.loadImage("img/energy-cells-button-in.png"), CanvasUtils.loadImage("img/energy-cells-button-click.png")];
var BUTTON_CELLS = GUI.createButton(46, 46, null, IMG_BUTTON_CELLS);
var VVVMw = [CanvasUtils.loadImage("img/high-resolution-out.png"), CanvasUtils.loadImage("img/high-resolution-in.png"), CanvasUtils.loadImage("img/high-resolution-click.png")];
var wWNnw = GUI.createButton(54, 42, null, VVVMw);
var wmnmv = [CanvasUtils.loadImage("img/medium-resolution-out.png"), CanvasUtils.loadImage("img/medium-resolution-in.png"), CanvasUtils.loadImage("img/medium-resolution-click.png")];
var nvwMN = GUI.createButton(54, 42, null, wmnmv);
var vmVnn = [CanvasUtils.loadImage("img/low-resolution-out.png"), CanvasUtils.loadImage("img/low-resolution-in.png"), CanvasUtils.loadImage("img/low-resolution-click.png")];
var MNVVn = GUI.createButton(54, 42, null, vmVnn);
var NwVwn = [CanvasUtils.loadImage("img/azerty-button-out.png"), CanvasUtils.loadImage("img/azerty-button-in.png"), CanvasUtils.loadImage("img/azerty-button-click.png")];
var VmvmN = GUI.createButton(81, 33, null, NwVwn);
var NMnMN = [CanvasUtils.loadImage("img/qwerty-button-out.png"), CanvasUtils.loadImage("img/qwerty-button-in.png"), CanvasUtils.loadImage("img/qwerty-button-click.png")];
var WMVVn = GUI.createButton(87, 33, null, NMnMN);
var soundonbutt = [CanvasUtils.loadImage("img/sound-on-out.png"), CanvasUtils.loadImage("img/sound-on-in.png"), CanvasUtils.loadImage("img/sound-on-click.png")];
var soundoffbutt = [CanvasUtils.loadImage("img/sound-off-out.png"), CanvasUtils.loadImage("img/sound-off-in.png"), CanvasUtils.loadImage("img/sound-off-click.png")];
var wvNNV = GUI.createButton(51, 36, null, soundonbutt);
var WVnnn = GUI.createButton(51, 36, null, soundoffbutt);
var NmVWV = GUI.createButton(51, 36, null, soundonbutt);
var vVMWm = GUI.createButton(51, 36, null, soundoffbutt);
var MNWwn = [];
var MmV = -1;
var NWmNn = -1;
var inventoryEmpty = CanvasUtils.loadImage("img/inv-empty.png");
var inventoryEmpty2 = [inventoryEmpty, inventoryEmpty, inventoryEmpty];
var inventory = [];
var craft = [];
var recipe = [];
var queue = [];
var tools = [];
var join = [];
var kick = [];
var chest = [];
var autoloot = [];
var preview = GUI.createButton(58, 58, null, inventoryEmpty2);
var inventoryItemNumber = [];
var inventoryAmmoNumber = [];
var mWM = 0;
var MWVNw = 0;
var NVNwm = 0;
var MMMvM = 0;
var vmWNW = 0;
var NnVMv = 0;
var WNmmw = 0;
var nvnNv = 0;
function NnnNW() {
if ((Mouse.state === Mouse.__MOUSE_DOWN__) && (World.PLAYER.click === 0)) {
if (World.PLAYER.isBuilding === 1) {
World.PLAYER.click = -1;
if (World.PLAYER.canBuild === 1) Client.sendPacket(window.JSON.stringify([14, World.PLAYER.buildRotate, World.PLAYER.iBuild, World.PLAYER.jBuild]));
} else {
World.PLAYER.click = 1;
World.interaction = -1;
Client.sendMouseDown();
}
} else if (Mouse.state === Mouse.__MOUSE_UP__) {
if (World.PLAYER.isBuilding === 1) {
nmMMm = 0;
World.PLAYER.click = 0;
} else if (World.PLAYER.click === 1) {
nmMMm = 0;
World.PLAYER.click = 0;
Client.sendMouseUp();
} else if (nmMMm === 1) {
World.PLAYER.click = 1;
World.interaction = -1;
Client.sendMouseDown();
}
}
};
function vWMVN() {
Client.update();
if (delta > 5000) Client.sendPacket("[20]");
if (chatvisible === 0) {
Client.sendMove();
Client.sendShift();
}
if (Mouse.state === Mouse.__MOUSE_DOWN__) Client.sendFastMouseAngle();
else Client.sendMouseAngle();
NnnNW();
};
function markPosition() {
if (MOD.DrawLines) {
var Nnw = 0;
if (Nnw > 0) {
Nnw -= delta;
if (Nnw > 2500) ctx.globalAlpha = MathUtils.Ease.inOutQuad((3000 - Nnw) / 500);
else if (Nnw < 500) ctx.globalAlpha = MathUtils.Ease.inOutQuad(Nnw / 500);
ctx.drawImage(VWWvn, editorCopy.pos.x - (85 * scaleby), editorCopy.pos.y - (40 * scaleby), VWWvn.wh * scaleby, VWWvn.h2 * scaleby);
ctx.globalAlpha = 1;
}
if (NVVNW[World.PLAYER._j] === window.undefined) NVVNW[World.PLAYER._j] = [];
if (NVVNW[World.PLAYER._j][World.PLAYER._i] === window.undefined) NVVNW[World.PLAYER._j][World.PLAYER._i] = GUI.renderText(((("(" + World.PLAYER._j) + ",") + World.PLAYER._i) + ")", "'Viga', sans-serif", "#FFFFFF", 30, 300, "#000000", 22, 22, window.undefined, window.undefined, 0.4, window.undefined, "#000000", 15.6);
var img = NVVNW[World.PLAYER._j][World.PLAYER._i];
ctx.drawImage(img, 5 * scaleby, fullscreenimg.pos.y, img.wh * scaleby, img.h2 * scaleby);
}
};
var NVVNW = [];
var gauges;
var BACKGROUND_SETTBOX;
var BACKGROUND_CHESTBOX;
var BACKGROUND_CRAFTBOX;
var BACKGROUND_BIGMAP;
var minimap;
var leaderboard;
var teambox;
var teammemberbox;
var fullscreenimg;
var craftbutton;
var settingsimg;
var minimapbutt;
var teambutt;
var leaderboardbutt;
var leaderboardbutt2;
var chat;
var mnnNv;
var NWmmW;
function init() {
VWWvn = GUI.renderText("Copied to clipboard", "'Viga', sans-serif", "#FFFFFF", 40, 350, "#000000", 18, 18, window.undefined, window.undefined, 0.2);
chatinput = window.document.getElementById("chatInput");
var size = 68;
var len = ENTITIES[__ENTITIE_PLAYER__].inventorySize + 8;
for (i = 0; i < len; i++) inventory.push(GUI.createButton(size, size, null, inventoryEmpty2));
for (i = 0; i < 4; i++) chest.push(GUI.createButton(size, size, null, inventoryEmpty2));
size = 49;
for (i = 0; i < 35; i++) craft.push(GUI.createButton(size, size, null, inventoryEmpty2));
size = 40;
for (i = 0; i < 5; i++) recipe.push(GUI.createButton(size, size, null, inventoryEmpty2));
for (i = 0; i < 4; i++) queue.push(GUI.createButton(size, size, null, inventoryEmpty2));
for (i = 0; i < 3; i++) tools.push(GUI.createButton(size, size, null, inventoryEmpty2));
for (i = 0; i < 9; i++) kick.push(GUI.createButton(29, 27, null, removebuttout));
for (i = 0; i < 18; i++) join.push(GUI.createButton(44, 33, null, joinbuttout));
//AUTOLOOT \/\/
size = 30;
for (i = 0; i < 171; i++) autoloot.push(GUI.createButton(size, size, null, inventoryEmpty2));
Game.autoloot = autoloot;
//AUTOLOOT /\/\
Game.BUTTON_CLOSE_BOX = _CloseBox;
Game.openBox = _OpenBox;
Game.inventory = inventory;
Game.craft = craft;
Game.recipe = recipe;
Game.preview = preview;
Game.queue = queue;
Game.tools = tools;
Game.chest = chest;
Game.kick = kick;
Game.join = join;
Game.getSkillBoxState = getSkillBoxState;
Game.getBoxState = getBoxState;
Game.teamName = "";
Game.acceptMember = BUTTON_JOIN;
Game.refuseMember = BUTTON_DELETE2;
Game.inventoryItemNumber = inventoryItemNumber;
Game.inventoryAmmoNumber = inventoryAmmoNumber;
Game.xInteract = 0;
Game.yInteract = 0;
Game.widthInteract = 0;
Game.heightInteract = 0;
Game.xInteract2 = 0;
Game.yInteract2 = 0;
skillList[SKILLS.__BUILDING__] = GUI.createButton(42, 42, ["img/building-button-out.png", "img/building-button-in.png", "img/building-button-click.png"]);
skillList[SKILLS.__SKILL__] = GUI.createButton(42, 42, ["img/skill-button-out.png", "img/skill-button-in.png", "img/skill-button-click.png"]);
skillList[SKILLS.__CLOTHE__] = GUI.createButton(42, 42, ["img/clothe-button-out.png", "img/clothe-button-in.png", "img/clothe-button-click.png"]);
skillList[SKILLS.__PLANT__] = GUI.createButton(42, 42, ["img/plant-button-out.png", "img/plant-button-in.png", "img/plant-button-click.png"]);
skillList[SKILLS.__DRUG__] = GUI.createButton(42, 42, ["img/medecine-button-out.png", "img/medecine-button-in.png", "img/medecine-button-click.png"]);
skillList[SKILLS.__MINERAL__] = GUI.createButton(42, 42, ["img/resources-button-out.png", "img/resources-button-in.png", "img/resources-button-click.png"]);
skillList[SKILLS.__SURVIVAL__] = GUI.createButton(42, 42, ["img/survival-button-out.png", "img/survival-button-in.png", "img/survival-button-click.png"]);
skillList[SKILLS.__TOOL__] = GUI.createButton(42, 42, ["img/tool-button-out.png", "img/tool-button-in.png", "img/tool-button-click.png"]);
skillList[SKILLS.__WEAPON__] = GUI.createButton(42, 42, ["img/weapon-button-out.png", "img/weapon-button-in.png", "img/weapon-button-click.png"]);
skillList[SKILLS.__LOGIC__] = GUI.createButton(42, 42, ["img/cable-button-out.png", "img/cable-button-in.png", "img/cable-button-click.png"]);
craftList[AREAS.__PLAYER__] = GUI.createButton(42, 42, ["img/own-button-out.png", "img/own-button-in.png", "img/own-button-click.png"]);
craftList[AREAS.__FIRE__] = GUI.createButton(42, 42, ["img/fire-button-out.png", "img/fire-button-in.png", "img/fire-button-click.png"]);
craftList[AREAS.__WORKBENCH__] = GUI.createButton(42, 42, ["img/workbench1-button-out.png", "img/workbench1-button-in.png", "img/workbench1-button-click.png"]);
craftList[AREAS.__BBQ__] = GUI.createButton(42, 42, ["img/bbq-button-out.png", "img/bbq-button-in.png", "img/bbq-button-click.png"]);
craftList[AREAS.__COMPOST__] = GUI.createButton(42, 42, ["img/composter-button-out.png", "img/composter-button-in.png", "img/composter-button-click.png"]);
craftList[AREAS.__WEAVING__] = GUI.createButton(42, 42, ["img/weaving-machine-button-out.png", "img/weaving-machine-button-in.png", "img/weaving-machine-button-click.png"]);
craftList[AREAS.__WELDING_MACHINE__] = GUI.createButton(42, 42, ["img/welding-machine-button-out.png", "img/welding-machine-button-in.png", "img/welding-machine-button-click.png"]);
craftList[AREAS.__WORKBENCH2__] = GUI.createButton(42, 42, ["img/workbench2-button-out.png", "img/workbench2-button-in.png", "img/workbench2-button-click.png"]);
craftList[AREAS.__SMELTER__] = GUI.createButton(42, 42, ["img/smelter-button-out.png", "img/smelter-button-in.png", "img/smelter-button-click.png"]);
craftList[AREAS.__TESLA__] = GUI.createButton(42, 42, ["img/workbench3-button-out.png", "img/workbench3-button-in.png", "img/workbench3-button-click.png"]);
craftList[AREAS.__AGITATOR__] = GUI.createButton(42, 42, ["img/agitator-button-out.png", "img/agitator-button-in.png", "img/agitator-button-click.png"]);
craftList[AREAS.__EXTRACTOR__] = GUI.createButton(42, 42, ["img/extractor-button-out.png", "img/extractor-button-in.png", "img/extractor-button-click.png"]);
craftList[AREAS.__FEEDER__] = GUI.createButton(42, 42, ["img/feeder-button-out.png", "img/feeder-button-in.png", "img/feeder-button-click.png"]);
gauges = GUI.createBackground(255, 174, "img/profile-player2.png");
BACKGROUND_SETTBOX = GUI.createBackground(269, 267, "img/settings-box.png");
BACKGROUND_CHESTBOX = GUI.createBackground(162, 165, "img/chest-box4.png");
BACKGROUND_CRAFTBOX = GUI.createBackground(595, 405, "img/craftbox2.png");
BACKGROUND_BIGMAP = GUI.createBackground(412, 412, "img/borderBigMinimap2.png");
minimap = GUI.createBackground(128, 128, "img/minimap.png");
leaderboard = GUI.createBackground(233, 246, "img/leaderboard.png");
teambox = GUI.createBackground(516, 275, "img/jointeam-box.png");
teammemberbox = GUI.createBackground(513, 150, "img/memberteam-box.png");
fullscreenimg = GUI.createButton(40, 40, ["img/full-screen-out.png", "img/full-screen-in.png", "img/full-screen-click.png"]);
craftbutton = GUI.createButton(64, 63, ["img/craftbox-button-out.png", "img/craftbox-button-in.png", "img/craftbox-button-click.png"]);
settingsimg = GUI.createButton(40, 40, ["img/settings-out.png", "img/settings-in.png", "img/settings-click.png"]);
minimapbutt = GUI.createButton(40, 40, ["img/minimap-button-out.png", "img/minimap-button-in.png", "img/minimap-button-click.png"]);
teambutt = GUI.createButton(40, 40, ["img/team-button-out.png", "img/team-button-in.png", "img/team-button-click.png"]);
leaderboardbutt = GUI.createButton(34, 33, ["img/close-leaderboard-out.png", "img/close-leaderboard-in.png", "img/close-leaderboard-click.png"]);
leaderboardbutt2 = GUI.createButton(34, 33, ["img/open-leaderboard-out.png", "img/open-leaderboard-in.png", "img/open-leaderboard-click.png"]);
chat = window.document.getElementById("chat");
mnnNv = chat.style;
NWmmW = {
x: 0,
y: 0
};
};
var transitionSpeed;
var mouseX = new Mouse.LocalMouseEvent;
var keyboard = new Keyboard.LocalKeyboardEvent;
var transitionDuration = 2000;
var transitionState = 0;
var transitionFunction = MathUtils.Ease.inQuad;
var reverseTransitionDuration = 1000;
var reverseTransitionState = 0;
var reverseTransitionFunction = MathUtils.Ease.outQuad;
var reverseTransition = 0;
var transitionDuration = 0;
var isWaiting = window.undefined;
function run() {
Client.onError = onError;
Client.onOpen = onOpen;
if (localStorage2.getItem("showLeaderboard") === "0") {
leaderboardbutt.hide();
leaderboardbutt2.show();
} else {
leaderboardbutt2.hide();
leaderboardbutt.show();
}
window.document.getElementById("bod").style.backgroundColor = "#46664D";
nmMMm = 0;
Home.ads++;
Game.teamName = "";
Game.teamNameValid = 0;
AudioManager.startGame();
if (World.gameMode === World.__BR__) {
teambutt.hide();
craftbutton.show();
} else if (World.PLAYER.ghoul > 0) {
window.console.log("HERE");
teambutt.hide();
craftbutton.hide();
} else {
teambutt.show();
craftbutton.show();
}
CanvasUtils.setRenderer(Game);
transitionDuration = reverseTransitionDuration;
reverseTransition = reverseTransitionDuration;
isWaiting = reverseTransitionFunction;
reverseTransitionState = 1;
update();
};
function quit(callback) {
chatvisible = 0;
_CloseBox();
AudioManager.quitGame();
transitionSpeed = callback;
VVwMW();
transitionDuration = transitionDuration;
reverseTransition = transitionDuration;
isWaiting = transitionFunction;
transitionState = 1;
};
function update() {
var transitionX = 0;
var transitionY = 0;
if (transitionDuration > 0) {
transitionY = canh;
var transition = isWaiting(1 - (transitionDuration / reverseTransition));
if (transition === 1) transitionDuration = 0;
if (reverseTransitionState === 1) transition = 1 - window.Math.abs(transition);
transitionX *= transition;
transitionY *= transition;
}
gauges.pos.x = window.Math.floor(5 * scaleby) + transitionX;
gauges.pos.y = ((canh - window.Math.floor(174 * scaleby)) + window.Math.floor(-7 * scaleby)) + transitionY;
BACKGROUND_SETTBOX.pos.x = (canw2 - window.Math.floor(134 * scaleby)) + transitionX;
BACKGROUND_SETTBOX.pos.y = window.Math.max(0, canh2 - window.Math.floor(133 * scaleby)) + transitionY;
BACKGROUND_CHESTBOX.pos.x = (canw2 - window.Math.floor(81 * scaleby)) + transitionX;
BACKGROUND_CHESTBOX.pos.y = window.Math.max(0, canh2 - window.Math.floor(82 * scaleby)) + transitionY;
BACKGROUND_CRAFTBOX.pos.x = (canw2 - window.Math.floor(297 * scaleby)) + transitionX;
BACKGROUND_CRAFTBOX.pos.y = window.Math.max(0, canh2 - window.Math.floor(202 * scaleby)) + transitionY;
BACKGROUND_BIGMAP.pos.x = (canw2 - window.Math.floor(206 * scaleby)) + transitionX;
BACKGROUND_BIGMAP.pos.y = window.Math.max(0, canh2 - window.Math.floor(206 * scaleby)) + transitionY;
minimap.pos.x = window.Math.floor(5 * scaleby) - transitionX;
minimap.pos.y = window.Math.floor(5 * scaleby) - transitionY;
leaderboard.pos.x = ((canw - window.Math.floor(233 * scaleby)) + window.Math.floor(-6 * scaleby)) - transitionX;
leaderboard.pos.y = window.Math.floor(5 * scaleby) - transitionY;
teambox.pos.x = (canw2 - window.Math.floor(258 * scaleby)) - transitionX;
teambox.pos.y = window.Math.max(0, canh2 - window.Math.floor(137 * scaleby)) - transitionY;
teammemberbox.pos.x = (canw2 - window.Math.floor(256 * scaleby)) - transitionX;
teammemberbox.pos.y = window.Math.max(0, canh2 - window.Math.floor(75 * scaleby)) - transitionY;
fullscreenimg.pos.x = minimap.pos.x + window.Math.floor(126 * scaleby);
fullscreenimg.pos.y = minimap.pos.y;
craftbutton.pos.x = fullscreenimg.pos.x + window.Math.floor(50 * scaleby);
craftbutton.pos.y = fullscreenimg.pos.y;
settingsimg.pos.x = fullscreenimg.pos.x;
settingsimg.pos.y = fullscreenimg.pos.y + window.Math.floor(44.5 * scaleby);
minimapbutt.pos.x = settingsimg.pos.x;
minimapbutt.pos.y = settingsimg.pos.y + window.Math.floor(44.5 * scaleby);
teambutt.pos.x = minimap.pos.x;
teambutt.pos.y = minimap.pos.y + window.Math.floor(127 * scaleby);
leaderboardbutt.pos.x = ((canw - window.Math.floor(34 * scaleby)) + window.Math.floor(-7 * scaleby)) - transitionX;
leaderboardbutt.pos.y = window.Math.floor(5 * scaleby) - transitionY;
leaderboardbutt2.pos.x = leaderboardbutt.pos.x;
leaderboardbutt2.pos.y = leaderboardbutt.pos.y;
NWmmW.x = (canw2 - window.Math.floor(150 * scaleby)) + transitionX;
mnnNv.left = NWmmW.x + "px";
NWmmW.y = (window.Math.max(0, canh2 - 12) + window.Math.floor(150 * scaleby)) + transitionY;
mnnNv.top = NWmmW.y + "px";
var wvnVv = window.document.getElementById("chatInput").style;
var width = window.Math.floor(250 * scaleby);
var height = window.Math.floor(20 * scaleby);
var MMM = window.Math.floor(canw2 - (width / 2)) + "px";
var _top = window.Math.floor(((canh2 - (height / 2)) + (scaleby * 85)) + transitionY) + "px";
height = height + "px";
width = width + "px";
mnnNv.width = width;
mnnNv.height = height;
mnnNv.left = MMM;
mnnNv.top = _top;
wvnVv.width = width;
wvnVv.height = height;
wvnVv.fontSize = window.Math.floor(14 * scaleby) + "px";
};
function draw() {
if (transitionManager() === 0) return;
vWMVN();
ctx.clearRect(0, 0, canw, canh);
World.updatePosition();
World.updateGauges();
Render.world();
Render.interaction();
Render.gauges(gauges.pos.x, gauges.pos.y);
Render.minimap(minimap.pos.x, minimap.pos.y);
Render.inventory(inventoryItemNumber, inventoryAmmoNumber, MmV, BUTTON_BAG);
gauges.draw();
minimap.draw();
fullscreenimg.draw();
craftbutton.draw();
settingsimg.draw();
minimapbutt.draw();
teambutt.draw();
markPosition();
Render.gaugesAfter(gauges.pos.x, gauges.pos.y);
if (World.gameMode !== World.__BR__) {
if (leaderboardbutt.pos.disable === 0) {
leaderboard.draw();
Render.leaderboard(leaderboard.pos.x, leaderboard.pos.y);
leaderboardbutt.draw();
} else leaderboardbutt2.draw();
}
if (NmW === 1) {
if (isMapOpen === 1) Render.bigminimap(BACKGROUND_BIGMAP, BUTTON_CLOSE_BOX);
else if (isSettingsOpen === 1) Render.config(BACKGROUND_SETTBOX, wWNnw, nvwMN, MNVVn, VmvmN, WMVVn, wvNNV, WVnnn, NmVWV, vVMWm, BUTTON_CLOSE_BOX, wVwnm, VnWMV, wwMwv);
else if (isCraftOpen === 1) Render.craft(BACKGROUND_CRAFTBOX, BUTTON_CLOSE_BOX, skillList, BUTTON_CRAFT, BUTTON_CANCEL, BUTTON_UNLOCK, craftList, preview, inventoryItemNumber, inventoryAmmoNumber, BUTTON_FUEL, BUTTON_FUEL1, BUTTON_CELLS, NWmNn);
else if (isChestOpen === 1) Render.chest(BACKGROUND_CHESTBOX, BUTTON_CLOSE_BOX, inventoryItemNumber, inventoryAmmoNumber);
else if (isTeamOpen === 1) Render.team(BUTTON_CLOSE_BOX, teambox, teammemberbox, BUTTON_LEAVE, BUTTON_ADDTEAM, BUTTON_LOCK_TEAM, BUTTON_UNLOCK_TEAM, BUTTON_DELETE);
} else if (isTouchScreen === 1) {
if ((((Keyboard.isLeft() + Keyboard.isRight()) + Keyboard.isTop()) + Keyboard.isBottom()) >= 1) {
ctx.globalAlpha = 0.3;
var offsetX = canw2ns - (canw4ns * 1.5);
var offsetY = canh2ns + (canw4ns / 4);
CanvasUtils.circle(ctx, offsetX, offsetY, 60);
CanvasUtils.drawPath(ctx, "#000000");
CanvasUtils.circle(ctx, offsetX + ((window.Math.cos(MWVNw) * NVNwm) * scaleby), offsetY + ((window.Math.sin(MWVNw) * NVNwm) * scaleby), 30);
CanvasUtils.drawPath(ctx, "#FFFFFF");
ctx.globalAlpha = 1;
}
if (vmWNW === 1) {
ctx.globalAlpha = 0.3;
var offsetX = canw2ns + (canw4ns * 1.5);
var offsetY = canh2ns + (canw4ns / 4);
CanvasUtils.circle(ctx, offsetX, offsetY, 60);
CanvasUtils.drawPath(ctx, "#000000");
CanvasUtils.circle(ctx, offsetX + ((window.Math.cos(Mouse.angle) * 25) * scaleby), offsetY + ((window.Math.sin(Mouse.angle) * 25) * scaleby), 30);
CanvasUtils.drawPath(ctx, "#FFFFFF");
ctx.globalAlpha = 1;
}
}
AudioManager.scheduler();
};
function transitionManager() {
if (transitionState === 1) {
update();
if (transitionDuration < 0) {
transitionState = 0;
fullscreenimg.setState(GUI.__BUTTON_OUT__);
craftbutton.setState(GUI.__BUTTON_OUT__);
settingsimg.setState(GUI.__BUTTON_OUT__);
minimapbutt.setState(GUI.__BUTTON_OUT__);
teambutt.setState(GUI.__BUTTON_OUT__);
leaderboardbutt.setState(GUI.__BUTTON_OUT__);
leaderboardbutt2.setState(GUI.__BUTTON_OUT__);
mnnNv.display = "none";
transitionSpeed.run();
return 0;
}
transitionDuration -= delta;
} else if (reverseTransitionState === 1) {
update();
if (transitionDuration < 0) {
reverseTransitionState = 0;
World.PLAYER.timePlayed = window.Date.now();
MmNNN();
}
transitionDuration -= delta;
}
return 1;
};
function mouseDown(event) {
Mouse.updateAll(event, Mouse.__MOUSE_DOWN__);
var vnm = 0;
if (fullscreenimg.trigger() === 1) {
vnm = 1;
}
if (craftbutton.trigger() === 1) {
vnm = 1;
}
if (settingsimg.trigger() === 1) {
vnm = 1;
}
if (minimapbutt.trigger() === 1) {
vnm = 1;
}
if (teambutt.trigger() === 1) {
vnm = 1;
}
if (leaderboardbutt.trigger() === 1) {
vnm = 1;
}
if (leaderboardbutt2.trigger() === 1) {
vnm = 1;
}
if (World.PLAYER.teamJoin !== 0) {
if ((BUTTON_JOIN.trigger() === 1) || (BUTTON_DELETE2.trigger() === 1)) vnm = 1;
}
if (NmW === 1) {
BUTTON_CLOSE_BOX.trigger();
if (isSettingsOpen === 1) {
VmvmN.trigger();
WMVVn.trigger();
wWNnw.trigger();
nvwMN.trigger();
MNVVn.trigger();
wvNNV.trigger();
WVnnn.trigger();
NmVWV.trigger();
vVMWm.trigger();
VnWMV.trigger();
wVwnm.trigger();
wwMwv.trigger();
} else if (isCraftOpen === 1) {
if (World.PLAYER.craftCategory === -1) {
if ((World.PLAYER.crafting === 0) || (World.PLAYER.isInBuilding === 1)) BUTTON_CRAFT.trigger();
else BUTTON_CANCEL.trigger();
if ((((World.PLAYER.craftArea === AREAS.__FIRE__) || (World.PLAYER.craftArea === AREAS.__BBQ__)) || (World.PLAYER.craftArea === AREAS.__COMPOST__)) && (World.PLAYER.building.fuel !== 255)) BUTTON_FUEL.trigger();
else if ((((World.PLAYER.craftArea === AREAS.__SMELTER__) || (World.PLAYER.craftArea === AREAS.__EXTRACTOR__)) || (World.PLAYER.craftArea === AREAS.__AGITATOR__)) && (World.PLAYER.building.fuel !== 255)) BUTTON_FUEL1.trigger();
else if (World.PLAYER.craftArea === AREAS.__FEEDER__ && World.PLAYER.building.fuel !== 255) BUTTON_CELLS.trigger();
} else BUTTON_UNLOCK.trigger();
for (var i = 0; i < skillList.length; i++) skillList[i].trigger();
for (i = 0; i < craftList.length; i++) {
if ((World.PLAYER.buildingArea === i) || (i === 0)) craftList[i].trigger();
}
var len = World.PLAYER.craftLen;
for (var i = 0; i < len; i++) craft[i].trigger();
len = World.PLAYER.recipeLen;
for (i = 0; i < len; i++) recipe[i].trigger();
if (World.PLAYER.isInBuilding === 1) {
for (i = 0; i < World.PLAYER.building.len; i++) queue[i].trigger();
}
len = World.PLAYER.toolsLen;
for (i = 0; i < len; i++) tools[i].trigger();
preview.trigger();
}
}
var invtr = World.PLAYER.inventory;
var len = invtr.length;
if ((len > 10) && (BUTTON_BAG.trigger() === 1)) vnm = 1;
for (var i = 0; i < len; i++) {
if (inventory[i].trigger() === 1) {
vnm = 1;
if (invtr[i][0] !== 0) {
var drag = World.PLAYER.drag;
if (drag.begin === 0) {
drag.begin = 1;
drag.x = Mouse.x;
drag.y = Mouse.y;
drag.id = i;
}
}
} else if (isChestOpen === 1) {
var wVMVN = World.PLAYER.chest;
for (var k = 0; k < 4; k++) {
if (wVMVN[k][0] !== 0) chest[k].trigger();
}
} else if (isTeamOpen === 1) {
if (World.PLAYER.team === -1) {
BUTTON_ADDTEAM.trigger();
var j = 0;
for (var i = 0; i < join.length; i++) {
if (World.teams[i].leader !== 0) {
join[j].trigger();
j++;
}
}
} else if (World.PLAYER.teamLeader === 1) {
BUTTON_LOCK_TEAM.trigger();
BUTTON_UNLOCK_TEAM.trigger();
BUTTON_DELETE.trigger();
var j = 0;
var team = World.teams[World.PLAYER.team];
for (var i = 0; i < World.players.length; i++) {
if (i === World.PLAYER.id) {
j++;
continue;
}
var PLAYER = World.players[i];
if ((PLAYER.team === team.id) && (PLAYER.teamUid === team.uid)) {
kick[j].trigger();
j++;
}
}
} else BUTTON_LEAVE.trigger();
}
}
if ((vnm === 0) && (NmW === 0)) {
nmMMm = 1;
if (World.PLAYER.click === -1) World.PLAYER.click = 0;
} else {
if (World.PLAYER.click === 0) World.PLAYER.click = -1;
}
};
function mouseUp(event) {
Mouse.updateAll(event, Mouse.__MOUSE_UP__);
var vnm = 0;
if (fullscreenimg.trigger() === 1) {
vnm = 1;
if (MNnnv === 0) {
MNnnv = 1;
CanvasUtils.enableFullscreen();
if (World.day === 0) canvas.style.backgroundColor = "#3D5942";
else canvas.style.backgroundColor = "#0B2129";
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else {
MNnnv = 0;
CanvasUtils.disableFullscreen();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
}
if (craftbutton.trigger() === 1) {
vnm = 1;
if (World.PLAYER.ghoul === 0) {
if (isCraftOpen === 0) {
_CloseBox();
NmW = 1;
isCraftOpen = 1;
World.buildCraftList(AREAS.__PLAYER__);
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
}
if (settingsimg.trigger() === 1) {
vnm = 1;
if (isSettingsOpen === 0) {
_CloseBox();
NmW = 1;
isSettingsOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
if (minimapbutt.trigger() === 1) {
vnm = 1;
if (isMapOpen === 0) {
_CloseBox();
NmW = 1;
isMapOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
if (teambutt.trigger() === 1) {
vnm = 1;
if (isTeamOpen === 0) {
_CloseBox();
NmW = 1;
isTeamOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
if (leaderboardbutt.trigger() === 1) {
vnm = 1;
leaderboardbutt.hide();
leaderboardbutt2.show();
localStorage2.setItem("showLeaderboard", "0");
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
if (leaderboardbutt2.trigger() === 1) {
vnm = 1;
leaderboardbutt2.hide();
leaderboardbutt.show();
localStorage2.setItem("showLeaderboard", "1");
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
var drag = World.PLAYER.drag;
if (World.PLAYER.teamJoin !== 0) {
if (BUTTON_JOIN.trigger() === 1) {
Client.sendPacket(window.JSON.stringify([31, World.PLAYER.teamJoin]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
World.nextInvitation();
return;
}
if (BUTTON_DELETE2.trigger() === 1) {
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
World.nextInvitation();
return;
}
}
if (NmW === 1) {
if (BUTTON_CLOSE_BOX.trigger() === 1) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
if (isSettingsOpen === 1) {
WMVVn.setState(GUI.__BUTTON_OUT__);
VmvmN.setState(GUI.__BUTTON_OUT__);
wWNnw.setState(GUI.__BUTTON_OUT__);
nvwMN.setState(GUI.__BUTTON_OUT__);
MNVVn.setState(GUI.__BUTTON_OUT__);
wvNNV.setState(GUI.__BUTTON_OUT__);
WVnnn.setState(GUI.__BUTTON_OUT__);
NmVWV.setState(GUI.__BUTTON_OUT__);
vVMWm.setState(GUI.__BUTTON_OUT__);
wVwnm.setState(GUI.__BUTTON_OUT__);
VnWMV.setState(GUI.__BUTTON_OUT__);
wwMwv.setState(GUI.__BUTTON_OUT__);
if (VmvmN.trigger() === 1) {
Keyboard.setAzerty();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (WMVVn.trigger() === 1) {
Keyboard.setQwert();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wWNnw.trigger() === 1) {
CanvasUtils.setResolution(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (nvwMN.trigger() === 1) {
CanvasUtils.setResolution(2);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (MNVVn.trigger() === 1) {
CanvasUtils.setResolution(3);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wvNNV.trigger() === 1) {
AudioUtils.setAudio(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (WVnnn.trigger() === 1) {
AudioUtils.setAudio(0);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (NmVWV.trigger() === 1) {
AudioUtils.setFx(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (vVMWm.trigger() === 1) {
AudioUtils.setFx(0);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (VnWMV.trigger() === 1) {
Render.setParticles(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wVwnm.trigger() === 1) {
Render.setParticles(2);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wwMwv.trigger() === 1) {
Render.setParticles(0);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
var MMMnn = BACKGROUND_SETTBOX.pos;
if ((((Mouse.sx < MMMnn.x) || (Mouse.sx > (MMMnn.x + (234 * scaleby)))) || (Mouse.sy < MMMnn.y)) || (Mouse.sy > (MMMnn.y + (232 * scaleby)))) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
} else if (isMapOpen === 1) {
var mNMnn = BACKGROUND_BIGMAP.pos;
if ((((Mouse.sx < mNMnn.x) || (Mouse.sx > (mNMnn.x + (412 * scaleby)))) || (Mouse.sy < mNMnn.y)) || (Mouse.sy > (mNMnn.y + (412 * scaleby)))) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
} else if (isCraftOpen === 1) {
if (World.PLAYER.craftCategory === -1) {
if ((World.PLAYER.crafting === 0) || (World.PLAYER.isInBuilding === 1)) {
if ((World.PLAYER.craftAvailable[World.PLAYER.craftIdSelected] === 1) && (BUTTON_CRAFT.trigger() === 1)) {
if (World.PLAYER.isInBuilding === 1) {
if ((World.PLAYER.building.fuel !== 0) && (World.PLAYER.building.len < 4)) {
Client.sendPacket(window.JSON.stringify([18, World.PLAYER.craftSelected]));
AudioUtils.playFx(AudioUtils._fx.craft, 0.8, 0);
}
} else {
Client.sendPacket(window.JSON.stringify([22, World.PLAYER.craftSelected]));
AudioUtils.playFx(AudioUtils._fx.craft, 0.8, 0);
}
BUTTON_CRAFT.setState(GUI.__BUTTON_OUT__);
}
} else if (BUTTON_CANCEL.trigger() === 1) {
Client.sendPacket(window.JSON.stringify([23]));
World.PLAYER.crafting = 0;
BUTTON_CANCEL.setState(GUI.__BUTTON_OUT__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
} else {
if (BUTTON_UNLOCK.trigger() === 1) {
if (World.PLAYER.craftAvailable[World.PLAYER.craftIdSelected] === 1) {
Client.sendPacket(window.JSON.stringify([21, World.PLAYER.craftSelected]));
AudioUtils.playFx(AudioUtils._fx.skill, 1, 0);
}
}
}
if (skillList[SKILLS.__SKILL__].trigger() === 1) {
World.buildSkillList(SKILLS.__SKILL__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__BUILDING__].trigger() === 1) {
World.buildSkillList(SKILLS.__BUILDING__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__CLOTHE__].trigger() === 1) {
World.buildSkillList(SKILLS.__CLOTHE__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__PLANT__].trigger() === 1) {
World.buildSkillList(SKILLS.__PLANT__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__DRUG__].trigger() === 1) {
World.buildSkillList(SKILLS.__DRUG__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__MINERAL__].trigger() === 1) {
World.buildSkillList(SKILLS.__MINERAL__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__LOGIC__].trigger() === 1) {
World.buildSkillList(SKILLS.__LOGIC__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__SURVIVAL__].trigger() === 1) {
World.buildSkillList(SKILLS.__SURVIVAL__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__TOOL__].trigger() === 1) {
World.buildSkillList(SKILLS.__TOOL__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (skillList[SKILLS.__WEAPON__].trigger() === 1) {
World.buildSkillList(SKILLS.__WEAPON__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (craftList[AREAS.__PLAYER__].trigger() === 1) {
World.buildCraftList(AREAS.__PLAYER__);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (((craftList[AREAS.__FIRE__].trigger() === 1) || (craftList[AREAS.__BBQ__].trigger() === 1)) || (craftList[AREAS.__COMPOST__].trigger() === 1)) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (craftList[AREAS.__WORKBENCH__].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (craftList[AREAS.__WELDING_MACHINE__].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (craftList[AREAS.__WEAVING__].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (craftList[AREAS.__WORKBENCH2__].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (craftList[AREAS.__TESLA__].trigger() === 1 || craftList[AREAS.__FEEDER__].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else if (((craftList[AREAS.__SMELTER__].trigger() === 1) || (craftList[AREAS.__EXTRACTOR__].trigger() === 1)) || (craftList[AREAS.__AGITATOR__].trigger() === 1)) {
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else {
var len = World.PLAYER.craftLen;
for (var i = 0; i < len; i++) {
if (craft[i].trigger() === 1) {
World.PLAYER.craftIdSelected = i;
World.selectRecipe(World.PLAYER.craftList[i]);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
}
len = World.PLAYER.recipeLen;
for (i = 0; i < len; i++) {
if (recipe[i].trigger() === 1) return;
}
if (World.PLAYER.isInBuilding === 1) {
for (i = 0; i < World.PLAYER.building.len; i++) {
if (queue[i].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([19, i]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
}
if (((World.PLAYER.craftArea === AREAS.__FIRE__) || (World.PLAYER.craftArea === AREAS.__BBQ__)) || (World.PLAYER.craftArea === AREAS.__COMPOST__)) {
if ((World.PLAYER.building.fuel !== 255) && (BUTTON_FUEL.trigger() === 1)) {
Client.sendPacket(window.JSON.stringify([24]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
} else if (((World.PLAYER.craftArea === AREAS.__SMELTER__) || (World.PLAYER.craftArea === AREAS.__EXTRACTOR__)) || (World.PLAYER.craftArea === AREAS.__AGITATOR__)) {
if ((World.PLAYER.building.fuel !== 255) && (BUTTON_FUEL1.trigger() === 1)) {
Client.sendPacket(window.JSON.stringify([24]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
} else if (World.PLAYER.craftArea === AREAS.__TESLA__ || World.PLAYER.craftArea === AREAS.__FEEDER__) {
if ((World.PLAYER.building.fuel !== 255) && (BUTTON_CELLS.trigger() === 1)) {
Client.sendPacket(window.JSON.stringify([24]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
}
}
var nNMwN = BACKGROUND_CRAFTBOX.pos;
if (((drag.begin !== 1) && !event.ctrlKey) && ((((Mouse.sx < nNMwN.x) || (Mouse.sx > (nNMwN.x + (595 * scaleby)))) || (Mouse.sy < nNMwN.y)) || (Mouse.sy > (nNMwN.y + (325 * scaleby))))) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
} else if (isChestOpen === 1) {
var wVMVN = World.PLAYER.chest;
for (var k = 0; k < 4; k++) {
if ((wVMVN[k][0] !== 0) && (chest[k].trigger() === 1)) {
Client.sendPacket(window.JSON.stringify([27, k]));
AudioUtils.playFx(AudioUtils._fx.drag, 1, 0);
return;
}
}
} else if (isTeamOpen === 1) {
if (World.PLAYER.team === -1) {
if (((BUTTON_ADDTEAM.trigger() === 1) && (World.PLAYER.teamNameValid === 1)) && ((window.Date.now() - World.PLAYER.teamCreateDelay) > 30500)) {
Client.sendPacket(window.JSON.stringify([28, Game.teamName]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
World.PLAYER.teamCreateDelay = window.Date.now();
}
if ((window.Date.now() - World.PLAYER.teamDelay) > 10500) {
var j = 0;
for (var i = 0; i < join.length; i++) {
if (World.teams[i].leader !== 0) {
if (join[j].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([30, i]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
World.PLAYER.teamDelay = window.Date.now();
}
j++;
}
}
}
} else if (World.PLAYER.teamLeader === 1) {
if ((BUTTON_LOCK_TEAM.trigger() === 1) && (World.PLAYER.teamLocked === 0)) {
Client.sendPacket(window.JSON.stringify([33]));
World.PLAYER.teamLocked = 1;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
if ((BUTTON_UNLOCK_TEAM.trigger() === 1) && (World.PLAYER.teamLocked === 1)) {
Client.sendPacket(window.JSON.stringify([34]));
World.PLAYER.teamLocked = 0;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
if (BUTTON_DELETE.trigger() === 1) {
Client.sendPacket(window.JSON.stringify([29]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
var j = 0;
var team = World.teams[World.PLAYER.team];
for (var i = 0; i < World.players.length; i++) {
if (i === World.PLAYER.id) {
j++;
continue;
}
var PLAYER = World.players[i];
if ((PLAYER.team === team.id) && (PLAYER.teamUid === team.uid)) {
if (kick[j].trigger() === 1) {
Client.sendPacket(window.JSON.stringify([32, PLAYER.id]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
j++;
}
}
} else {
if (BUTTON_LEAVE.trigger() === 1) {
Client.sendPacket(window.JSON.stringify([35, World.PLAYER.id]));
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
}
}
};
var invtr = World.PLAYER.inventory;
var len = invtr.length;
var mnWNv = 0;
if ((len > 10) && (BUTTON_BAG.trigger() === 1)) {
BUTTON_BAG.open = (BUTTON_BAG.open + 1) % 2;
if (BUTTON_BAG.open === 1) AudioUtils.playFx(AudioUtils._fx.zipperOn, 0.08, 0);
else AudioUtils.playFx(AudioUtils._fx.zipperOff, 0.08, 0);
}
for (var i = 0; i < len; i++) {
if ((i > 9) && (BUTTON_BAG.open === 0)) break;
if (inventory[i].trigger() === 1) {
mnWNv = 1;
var IID = invtr[i][0];
var amount = invtr[i][1];
var itemId = invtr[i][2];
var wvmvw = invtr[i][3];
var type = INVENTORY[IID];
if (drag.begin === 1) {
if (drag.id !== i) {
if (invtr[i][0] === invtr[drag.id][0]) {
if ((type.stack > invtr[i][1]) && (type.stack > invtr[drag.id][1])) {
Client.sendPacket(window.JSON.stringify([10, invtr[drag.id][0], invtr[drag.id][1], invtr[drag.id][2], invtr[i][1], invtr[i][2]]));
World.PLAYER.drag.begin = 0;
AudioUtils.playFx(AudioUtils._fx.drag, 1, 0);
return;
}
}
invtr[i][0] = invtr[drag.id][0];
invtr[i][1] = invtr[drag.id][1];
invtr[i][2] = invtr[drag.id][2];
invtr[i][3] = invtr[drag.id][3];
invtr[drag.id][0] = IID;
invtr[drag.id][1] = amount;
invtr[drag.id][2] = itemId;
invtr[drag.id][3] = wvmvw;
if (IID !== 0) Game.inventory[drag.id].setImages(INVENTORY[IID].itemButton.src, INVENTORY[IID].itemButton.img);
Game.inventory[i].setImages(INVENTORY[invtr[i][0]].itemButton.src, INVENTORY[invtr[i][0]].itemButton.img);
World.PLAYER.drag.begin = 0;
AudioUtils.playFx(AudioUtils._fx.drag, 1, 0);
return;
}
World.PLAYER.drag.begin = 0;
}
if (IID !== 0) {
if ((isChestOpen === 1) && (event.which !== 3)) {
Client.sendPacket(window.JSON.stringify([26, IID, amount, itemId, wvmvw]));
AudioUtils.playFx(AudioUtils._fx.drag, 1, 0);
} else if (event.which === 3) {
Client.sendPacket(window.JSON.stringify([9, IID, amount, itemId, wvmvw]));
AudioUtils.playFx(AudioUtils._fx.throwLoot, 1, 0);
} else {
if (event.ctrlKey) {
AudioUtils.playFx(AudioUtils._fx.drag, 0.6, 0);
Client.sendPacket(window.JSON.stringify([11, IID, amount, itemId]));
} else Client.sendPacket(window.JSON.stringify([8, IID, amount, itemId, wvmvw]));
}
}
}
}
if ((isChestOpen === 1) && (mnWNv === 0)) {
var NnVVw = BACKGROUND_CHESTBOX.pos;
if ((((Mouse.sx < NnVVw.x) || (Mouse.sx > (NnVVw.x + (161 * scaleby)))) || (Mouse.sy < NnVVw.y)) || (Mouse.sy > (NnVVw.y + (165 * scaleby)))) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
}
}
if (drag.begin === 1) {
var i = drag.id;
Client.sendPacket(window.JSON.stringify([9, invtr[i][0], invtr[i][1], invtr[i][2], invtr[i][3]]));
AudioUtils.playFx(AudioUtils._fx.throwLoot, 1, 0);
}
drag.begin = 0;
};
function mouseMove(event) {
Mouse.updateAll(event, Mouse.__MOUSE_MOVE__);
var vnm = 0;
if (fullscreenimg.trigger() === 1) {
vnm = 1;
}
if (craftbutton.trigger() === 1) {
vnm = 1;
}
if (settingsimg.trigger() === 1) {
vnm = 1;
}
if (minimapbutt.trigger() === 1) {
vnm = 1;
}
if (teambutt.trigger() === 1) {
vnm = 1;
}
if (leaderboardbutt.trigger() === 1) {
vnm = 1;
}
if (leaderboardbutt2.trigger() === 1) {
vnm = 1;
}
if (World.PLAYER.teamJoin !== 0) {
BUTTON_JOIN.trigger();
BUTTON_DELETE2.trigger();
}
if (NmW === 1) {
BUTTON_CLOSE_BOX.trigger();
if (isSettingsOpen === 1) {
VmvmN.trigger();
WMVVn.trigger();
wWNnw.trigger();
nvwMN.trigger();
MNVVn.trigger();
wvNNV.trigger();
WVnnn.trigger();
NmVWV.trigger();
vVMWm.trigger();
VnWMV.trigger();
wVwnm.trigger();
wwMwv.trigger();
} else if (isCraftOpen === 1) {
if (World.PLAYER.craftCategory === -1) {
if ((World.PLAYER.crafting === 0) || (World.PLAYER.isInBuilding === 1)) BUTTON_CRAFT.trigger();
else BUTTON_CANCEL.trigger();
} else BUTTON_UNLOCK.trigger();
for (var i = 0; i < skillList.length; i++) skillList[i].trigger();
for (i = 0; i < craftList.length; i++) {
if ((World.PLAYER.buildingArea === i) || (i === 0)) craftList[i].trigger();
}
var len = World.PLAYER.craftLen;
for (var i = 0; i < len; i++) craft[i].trigger();
NWmNn = -1;
len = World.PLAYER.recipeLen;
for (i = 0; i < len; i++) {
if (recipe[i].trigger() === 1) NWmNn = i;
}
if (World.PLAYER.isInBuilding === 1) {
for (i = 0; i < World.PLAYER.building.len; i++) queue[i].trigger();
if ((((World.PLAYER.craftArea === AREAS.__FIRE__) || (World.PLAYER.craftArea === AREAS.__BBQ__)) || (World.PLAYER.craftArea === AREAS.__COMPOST__)) && (World.PLAYER.building.fuel !== 255)) BUTTON_FUEL.trigger();
else if ((((World.PLAYER.craftArea === AREAS.__SMELTER__) || (World.PLAYER.craftArea === AREAS.__EXTRACTOR__)) || (World.PLAYER.craftArea === AREAS.__AGITATOR__) || (World.PLAYER.craftArea === AREAS.__FEEDER__)) && (World.PLAYER.building.fuel !== 255)) BUTTON_FUEL1.trigger();
else if (World.PLAYER.craftArea === AREAS.__FEEDER__ && World.PLAYER.building.fuel !== 255) {
BUTTON_CELLS.trigger();
}
}
len = World.PLAYER.toolsLen;
for (i = 0; i < len; i++) tools[i].trigger();
preview.trigger();
} else if (isChestOpen === 1) {
var wVMVN = World.PLAYER.chest;
for (var k = 0; k < 4; k++) {
if (wVMVN[k][0] !== 0) chest[k].trigger();
}
} else if (isTeamOpen === 1) {
if (World.PLAYER.team === -1) {
BUTTON_ADDTEAM.trigger();
var j = 0;
for (var i = 0; i < join.length; i++) {
if (World.teams[i].leader !== 0) {
join[j].trigger();
j++;
}
}
} else if (World.PLAYER.teamLeader === 1) {
BUTTON_LOCK_TEAM.trigger();
BUTTON_UNLOCK_TEAM.trigger();
BUTTON_DELETE.trigger();
var j = 0;
var team = World.teams[World.PLAYER.team];
for (var i = 0; i < World.players.length; i++) {
if (i === World.PLAYER.id) {
j++;
continue;
}
var PLAYER = World.players[i];
if ((PLAYER.team === team.id) && (PLAYER.teamUid === team.uid)) {
kick[j].trigger();
j++;
}
}
} else BUTTON_LEAVE.trigger();
}
}
var invtr = World.PLAYER.inventory;
var len = invtr.length;
MmV = -1;
if (len > 10) BUTTON_BAG.trigger();
for (var i = 0; i < len; i++) {
if ((i > 9) && (BUTTON_BAG.open === 0)) break;
if (invtr[i][0] !== 0) {
if (inventory[i].trigger() === 1) MmV = i;
}
}
};
function NmN(event) {
Keyboard.keyup(event);
if ((isTeamOpen === 1) && (World.PLAYER.team === -1)) {
if ((event.keyCode === 8) && (Game.teamName.length > 0)) {
Game.teamName = Game.teamName.substring(0, Game.teamName.length - 1);
event.preventDefault();
return;
} else if (((event.keyCode >= 65) && (event.keyCode <= 90)) || ((event.keyCode >= 48) && (event.keyCode <= 57))) {
if (Game.teamName.length < 5) Game.teamName += window.String.fromCharCode(event.keyCode);
}
} else if ((chatvisible === 1) && (event.keyCode === 27)) {
chatvisible = 0;
mnnNv.display = "none";
} else if (event.keyCode === 13) {
if (chatvisible === 1) {
if (chatinput.value.length > 0) {
if ((World.PLAYER.admin === 1) && (chatinput.value[0] === '!')) {
if (chatinput.value === '!pos') World.players[World.PLAYER.id].text.push((window.Math.floor(World.PLAYER.x / 100) + ":") + window.Math.floor(World.PLAYER.y / 100));
if (chatinput.value === '!new') Client.newToken(chatinput.value);
if (chatinput.value === '!afk') Client.sendAfk(chatinput.value);
if (chatinput.value === '!path') { if (!pathFinder) pathFinder = true; else pathFinder = false; }
else {
var mNvMM = chatinput.value.split('!');
for (var i = 1; i < mNvMM.length; i++) {
var nwNVn = "!" + mNvMM[i];
if (nwNVn.indexOf("public") === -1) nwNVn = nwNVn.split(" ").join("");
Client.sendChatMessage(nwNVn);
if (i <= 20) World.players[World.PLAYER.id].text.push(nwNVn);
}
}
} else if (chatinput.value[0] === '[') {
Client.sendWSmsg(chatinput.value)
} else {
var delay = Client.sendChatMessage(chatinput.value);
if (delay !== 0) World.players[World.PLAYER.id].text.push(("I am muted during " + window.Math.floor(delay / 1000)) + " seconds");
else World.players[World.PLAYER.id].text.push(chatinput.value);
}
}
chatvisible = 0;
chatinput.value = "";
mnnNv.display = "none";
} else {
chatvisible = 1;
mnnNv.display = "inline-block";
chatinput.focus();
}
} else if (chatvisible === 0) {
if (event.keyCode === 77) {
if (isMapOpen === 0) {
_CloseBox();
NmW = 1;
isMapOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
}
} else if ((event.keyCode === 69) || (event.keyCode === 32)) {
switch (World.PLAYER.interaction) {
case 0:
Client.sendPacket(window.JSON.stringify([12, World.PLAYER.lootId]));
break;
case 2:
Client.sendPacket(window.JSON.stringify([World.PLAYER.packetId, World.PLAYER.buildingId, World.PLAYER.buildingPid]));
break;
}
} else if (event.keyCode === 70) {
if (World.PLAYER.extraLoot === 1) Client.sendPacket(window.JSON.stringify([12, World.PLAYER.lootId]));
} else if (event.keyCode === 82) {
if (World.PLAYER.isBuilding === 1) World.PLAYER.buildRotate = (World.PLAYER.buildRotate + 1) % 4;
else Client.sendPacket(window.JSON.stringify([13]));
} else if ((event.keyCode >= 49) && (event.keyCode <= 57)) {
if (World.PLAYER.drag.begin !== 1) {
var i = event.keyCode - 49;
var invtr = World.PLAYER.inventory;
if (i < invtr.length) {
var IID = invtr[i][0];
var amount = invtr[i][1];
var itemId = invtr[i][2];
var wvmvw = invtr[i][3];
if (event.altKey) {
Client.sendPacket(window.JSON.stringify([9, IID, amount, itemId, wvmvw]));
AudioUtils.playFx(AudioUtils._fx.throwLoot, 1, 0);
} else {
if (event.ctrlKey) {
AudioUtils.playFx(AudioUtils._fx.drag, 0.6, 0);
Client.sendPacket(window.JSON.stringify([11, IID, amount, itemId]));
} else Client.sendPacket(window.JSON.stringify([8, IID, amount, itemId, wvmvw]));
}
}
}
} else if ((event.keyCode === 67) && (World.PLAYER.ghoul === 0)) {
if (isCraftOpen === 0) {
_CloseBox();
NmW = 1;
isCraftOpen = 1;
World.buildCraftList(AREAS.__PLAYER__);
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
} else {
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
_CloseBox();
}
} else if ((event.keyCode === 27) && (NmW === 1)) {
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
_CloseBox();
}
}
};
function vnW(event) {
Keyboard.keydown(event);
if ((((event.keyCode === 37) || (event.keyCode === 38)) || (event.keyCode === 39)) || (event.keyCode === 40)) {
event.preventDefault();
return false;
}
};
function touchStart(event) {
var NVN = 0;
for (var wVV = 0; wVV < event.touches.length; wVV++) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[wVV]);
if (BUTTON_BAG.open !== 0) {
var MVvmv = Mouse.state;
Mouse.updateAll(mouseX, Mouse.__MOUSE_DOWN__);
Mouse.state = MVvmv;
var invtr = World.PLAYER.inventory;
var NwvVw = 0;
for (var i = 10; i < invtr.length; i++) {
if (invtr[i][0] !== 0) {
if (inventory[i].trigger() === 1) {
NwvVw = 1;
break;
}
}
}
if (NwvVw === 1) {
mouseDown(mouseX);
continue;
}
}
if ((World.PLAYER.drag.begin === 0) && (NmW === 0)) {
var sx = window.Math.floor(mouseX.clientX * CanvasUtils.options.ratioX);
var sy = window.Math.floor(mouseX.clientY * CanvasUtils.options.ratioY);
switch (World.PLAYER.interaction) {
case 2:
if (((((World.PLAYER.extraLoot === 1) && (sx > Game.xInteract2)) && (sy > Game.yInteract2)) && (sx < (Game.xInteract2 + Game.widthInteract))) && (sy < (Game.yInteract2 + Game.heightInteract))) {
nvnNv = 1;
keyboard.keyCode = 70;
keyboard.charCode = 70;
NmN(keyboard);
continue;
}
case 0:
if ((((sx > Game.xInteract) && (sy > Game.yInteract)) && (sx < (Game.xInteract + Game.widthInteract))) && (sy < (Game.yInteract + Game.heightInteract))) {
nvnNv = 1;
keyboard.keyCode = 69;
keyboard.charCode = 69;
NmN(keyboard);
continue;
}
break;
}
if (sy < (canh - (70 * scaleby))) {
var WMm = canw4 * 1.5;
var nmV = canw4 / 4;
if (sx < canw2) {
var MVM = 30 * scaleby;
MWVNw = Math2d.angle(canw2 - WMm, canh2 + nmV, sx, sy);
NVNwm = window.Math.min(Math2d.distance(sx, sy, canw2 - WMm, canh2 + nmV), 25);
if (sx < ((canw2 - WMm) - MVM)) {
mWM |= 1;
keyboard.charCode = 37;
keyboard.keyCode = 37;
vnW(keyboard);
} else if (sx > ((canw2 - WMm) + MVM)) {
mWM |= 2;
keyboard.charCode = 39;
keyboard.keyCode = 39;
vnW(keyboard);
}
if (sy < ((canh2 + nmV) - MVM)) {
mWM |= 4;
keyboard.charCode = 38;
keyboard.keyCode = 38;
vnW(keyboard);
} else if (sy > ((canh2 + nmV) + MVM)) {
mWM |= 8;
keyboard.charCode = 40;
keyboard.keyCode = 40;
vnW(keyboard);
}
} else if ((sx < (canw - (40 * scaleby))) || (sy > (40 * scaleby))) {
NVN = 1;
mouseX.clientX -= WMm / CanvasUtils.options.ratioX;
mouseX.clientY -= nmV / CanvasUtils.options.ratioX;
if (World.PLAYER.isBuilding === 1) {
var vVMmn = window.Date.now();
if ((vVMmn - MMMvM) < 1000) {
vmWNW = 1;
NnVMv = mouseX.clientX;
WNmmw = mouseX.clientY;
mouseDown(mouseX);
}
MMMvM = vVMmn;
} else {
vmWNW = 1;
NnVMv = mouseX.clientX;
WNmmw = mouseX.clientY;
mouseDown(mouseX);
}
}
continue;
}
}
if ((NVN === 0) && (mWM === 0)) {
mouseDown(mouseX);
NVN = 1;
}
}
};
function touchEnd(event) {
var sx = window.Math.floor(event.changedTouches[0].clientX * CanvasUtils.options.ratioX);
var sy = window.Math.floor(event.changedTouches[0].clientY * CanvasUtils.options.ratioY);
if (nvnNv === 1) nvnNv = 0;
else if (NmW === 1) mouseUp(mouseX);
else if ((vmWNW === 1) && (sx >= canw2)) {
vmWNW = 0;
mouseX.clientX = NnVMv;
mouseX.clientY = WNmmw;
mouseUp(mouseX);
return;
} else if (((World.PLAYER.drag.begin === 0) && (sx < canw2)) && (sy < (canh - (70 * scaleby)))) {
if ((sx < (240 * scaleby)) && (sy < (160 * scaleby))) mouseUp(mouseX);
} else mouseUp(mouseX);
if (mWM !== 0) {
if (mWM & 1) {
keyboard.charCode = 37;
NmN(keyboard);
}
if (mWM & 2) {
keyboard.charCode = 39;
NmN(keyboard);
}
if (mWM & 4) {
keyboard.charCode = 38;
NmN(keyboard);
}
if (mWM & 8) {
keyboard.charCode = 40;
NmN(keyboard);
}
mWM = 0;
}
};
function touchCancel(event) {};
function touchMove(event) {
var NVN = 0;
var mWVWv = 0;
for (var wVV = 0; wVV < event.touches.length; wVV++) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[wVV]);
if (BUTTON_BAG.open !== 0) {
var invtr = World.PLAYER.inventory;
var NwvVw = 0;
for (var i = 10; i < invtr.length; i++) {
if (invtr[i][0] !== 0) {
if (inventory[i].trigger() === 1) {
NwvVw = 1;
break;
}
}
}
if (NwvVw === 1) {
mouseMove(mouseX);
continue;
}
}
if ((World.PLAYER.drag.begin === 0) && (NmW === 0)) {
var sx = window.Math.floor(mouseX.clientX * CanvasUtils.options.ratioX);
var sy = window.Math.floor(mouseX.clientY * CanvasUtils.options.ratioY);
if (sy < (canh - (70 * scaleby))) {
var WMm = canw4 * 1.5;
var nmV = canw4 / 4;
if (sx < canw2) {
mWVWv = 1;
var VNM = 0;
var MVM = 30 * scaleby;
MWVNw = Math2d.angle(canw2 - WMm, canh2 + nmV, sx, sy);
NVNwm = window.Math.min(Math2d.distance(sx, sy, canw2 - WMm, canh2 + nmV), 25);
if (sx < ((canw2 - WMm) - MVM)) VNM |= 1;
else if (sx > ((canw2 - WMm) + MVM)) VNM |= 2;
if (sy < ((canh2 + nmV) + -MVM)) VNM |= 4;
else if (sy > ((canh2 + nmV) + MVM)) VNM |= 8;
if (((VNM & 1) === 1) && ((mWM & 1) !== 1)) {
keyboard.charCode = 37;
vnW(keyboard);
} else if (((VNM & 1) !== 1) && ((mWM & 1) === 1)) {
keyboard.charCode = 37;
NmN(keyboard);
}
if (((VNM & 2) === 2) && ((mWM & 2) !== 2)) {
keyboard.charCode = 39;
vnW(keyboard);
} else if (((VNM & 2) !== 2) && ((mWM & 2) === 2)) {
keyboard.charCode = 39;
NmN(keyboard);
}
if (((VNM & 4) === 4) && ((mWM & 4) !== 4)) {
keyboard.charCode = 38;
vnW(keyboard);
} else if (((VNM & 4) !== 4) && ((mWM & 4) === 4)) {
keyboard.charCode = 38;
NmN(keyboard);
}
if (((VNM & 8) === 8) && ((mWM & 8) !== 8)) {
keyboard.charCode = 40;
vnW(keyboard);
} else if (((VNM & 8) !== 8) && ((mWM & 8) === 8)) {
keyboard.charCode = 40;
NmN(keyboard);
}
mWM = VNM;
continue;
} else if ((sx < (canw - (40 * scaleby))) || (sy > (40 * scaleby))) {
NVN = 1;
mouseX.clientX -= WMm / CanvasUtils.options.ratioX;
mouseX.clientY -= nmV / CanvasUtils.options.ratioX;
NnVMv = mouseX.clientX;
WNmmw = mouseX.clientY;
mouseMove(mouseX);
}
}
}
if ((NVN === 0) && (mWM === 0)) {
mouseMove(mouseX);
NVN = 1;
}
}
if ((mWVWv === 0) && (mWM !== 0)) {
if (mWM & 1) {
keyboard.charCode = 37;
NmN(keyboard);
}
if (mWM & 2) {
keyboard.charCode = 39;
NmN(keyboard);
}
if (mWM & 4) {
keyboard.charCode = 38;
NmN(keyboard);
}
if (mWM & 8) {
keyboard.charCode = 40;
NmN(keyboard);
}
mWM = 0;
}
};
function MouseWheelHandler(e)
{
if (MOD.mouseScale) {
var e = window.event || e;
Render.scale += (e.wheelDelta / 5000);
return false;
}
};
function MmNNN() {
if (isTouchScreen === 0) window.addEventListener("wheel", MouseWheelHandler, false);
if (isTouchScreen === 0) window.addEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.addEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.addEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 0) window.addEventListener('keyup', NmN, false);
if (isTouchScreen === 0) window.addEventListener('keydown', vnW, false);
if (isTouchScreen === 1) window.addEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.addEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.addEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.addEventListener('touchmove', touchMove, false);
};
function VVwMW() {
if (isTouchScreen === 0) window.addEventListener("wheel", MouseWheelHandler, false);
if (isTouchScreen === 0) window.removeEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.removeEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.removeEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 0) window.removeEventListener('keyup', NmN, false);
if (isTouchScreen === 0) window.removeEventListener('keydown', vnW, false);
if (isTouchScreen === 1) window.removeEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.removeEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.removeEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.removeEventListener('touchmove', touchMove, false);
};
return {
quit: quit,
init: init,
run: run,
update: update,
draw: draw
};
})();
var Score = (function() {
function onError(state) {};
function quitGame() {
quit(Game);
};
function onOpen() {
quitGame();
};
var NNN = 0;
var nMwNn = {
src: "img/adblocker-msg.png",
img: {
isLoaded: 0
}
};
var VmVNw = 0;
var VwvVv = -1;
var WwwvV = null;
var WMwMN = {
img: null
};
var wNnwN = null;
var nwWMv = {
img: null
};
var lastScore = -1;
var MnvWv = {
img: null
};
var scoreLabel = null;
var vvWmM = -1;
var VMnMw = null;
var vMMnW = {
img: null
};
function nmNnw() {
var offsetX = mNw.pos.x;
var offsetY = mNw.pos.y;
var wX_Scale = offsetX / scaleby;
var wY_Scale = offsetY / scaleby;
if ((scoreLabel === null) || (lastScore !== World.PLAYER.exp)) {
lastScore = World.PLAYER.exp;
scoreLabel = GUI.renderText(lastScore + "", "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
MnvWv.img = scoreLabel;
MnvWv.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(MnvWv, wX_Scale + 280, wY_Scale + 117, 0, 0, 0, 1);
if ((WwwvV === null) || (VwvVv !== World.PLAYER.level)) {
VwvVv = World.PLAYER.level;
WwwvV = GUI.renderText(VwvVv + "", "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
wNnwN = GUI.renderText(window.Math.floor(VwvVv / 2), "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
WMwMN.img = WwwvV;
WMwMN.img.isLoaded = 1;
nwWMv.img = wNnwN;
nwWMv.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(WMwMN, wX_Scale + 108, wY_Scale + 117, 0, 0, 0, 1);
CanvasUtils.drawImageHd(nwWMv, wX_Scale + 288, wY_Scale + 147, 0, 0, 0, 1);
if ((VMnMw === null) || (vvWmM !== World.PLAYER.kill)) {
vvWmM = World.PLAYER.kill;
VMnMw = GUI.renderText(vvWmM + "", "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
vMMnW.img = VMnMw;
vMMnW.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(vMMnW, wX_Scale + 453, wY_Scale + 117, 0, 0, 0, 1);
var inventory = Game.inventory;
var invtr = World.PLAYER.inventory;
var len = invtr.length;
var MVM = 50 * scaleby;
var _y = offsetY + (182 * scaleby);
var _x = offsetX + (80 * scaleby);
var WnVvn = scaleby;
scaleby = scaleby - (0.3 * scaleby);
for (var i = 0; i < len; i++) {
var wm = inventory[i];
if (invtr[i][0] !== 0) Render.buttonInv(wm, invtr[i], _x, _y, Game.inventoryItemNumber, Game.inventoryAmmoNumber);
_x += MVM;
}
scaleby = WnVvn;
if (Home.adblocker === 1) {
var breath = MathUtils.Ease.inOutQuad((VmVNw > 500) ? ((1000 - VmVNw) / 500) : (VmVNw / 500));
ctx.globalAlpha = 0.7;
CanvasUtils.drawImageHd(nMwNn, wX_Scale + 288, wY_Scale + 193, 0, 0, 0, 1 + (0.04 * breath));
ctx.globalAlpha = 1;
VmVNw = (VmVNw + delta) % 1000;
}
};
var waitAds = 0;
var mNw;
var playagainbutt;
var vWv;
function init() {
mNw = GUI.createBackground(541, 324, "img/scoreboardnew.png");
playagainbutt = GUI.createButton(123, 35, ["img/play-again-button-out.png", "img/play-again-button-in.png", "img/play-again-button-click.png"]);
vWv = GUI.createButton(198, 35, ["img/back-main-page-button-out.png", "img/back-main-page-button-in.png", "img/back-main-page-button-click.png"]);
};
var transitionSpeed;
var mouseX = new Mouse.LocalMouseEvent;
var keyboard = new Keyboard.LocalKeyboardEvent;
var transitionDuration = 500;
var transitionState = 0;
var transitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.inQuad, 0.05);
};
var reverseTransitionDuration = 500;
var reverseTransitionState = 0;
var reverseTransitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.outQuad, 0.05);
};
var reverseTransition = 0;
var transitionDuration = 0;
var isWaiting = window.undefined;
function run() {
Client.onError = onError;
Client.onOpen = onOpen;
World.PLAYER.isBuilding = 0;
World.PLAYER.id = 0;
Render.setDetection(0);
Render.stopPoisonEffect();
for (var i = 0; i < World.PLAYER.inventory.length; i++) {
for (var j = 0; j < 4; j++) World.PLAYER.inventory[i][j] = 0;
}
var MWMwV = KIT[window.Math.min(KIT.length - 1, World.PLAYER.level)];
for (var i = 0; i < MWMwV.length; i++) {
var item = MWMwV[i];
if (item.id !== 0) Game.inventory[i].setImages(INVENTORY[item.id].itemButton.src, INVENTORY[item.id].itemButton.img);
var invtr = World.PLAYER.inventory[i];
invtr[1] = item.amount;
invtr[2] = 0;
invtr[3] = item.life;
invtr[0] = item.id;
}
CanvasUtils.setRenderer(Score);
transitionDuration = reverseTransitionDuration;
reverseTransition = reverseTransitionDuration;
isWaiting = reverseTransitionFunction;
reverseTransitionState = 1;
update();
};
function quit(callback) {
Home.trevdaStyle.display = "none";
transitionSpeed = callback;
VVwMW();
transitionDuration = transitionDuration;
reverseTransition = transitionDuration;
isWaiting = transitionFunction;
transitionState = 1;
};
function update() {
var transitionX = 0;
var transitionY = 0;
if (transitionDuration > 0) {
transitionY = canh;
var transition = isWaiting(1 - (transitionDuration / reverseTransition));
if (transition === 1) transitionDuration = 0;
if (reverseTransitionState === 1) transition = 1 - window.Math.abs(transition);
transitionX *= transition;
transitionY *= transition;
}
mNw.pos.x = (canw2 - window.Math.floor(270 * scaleby)) - transitionX;
mNw.pos.y = window.Math.max(0, (canh2 - window.Math.floor(162 * scaleby)) + window.Math.floor(-135 * scaleby)) - transitionY;
playagainbutt.pos.x = ((canw2 - window.Math.floor(61 * scaleby)) + window.Math.floor(-100 * scaleby)) - transitionX;
playagainbutt.pos.y = window.Math.max(0, (canh2 - window.Math.floor(17 * scaleby)) + window.Math.floor(-35 * scaleby)) - transitionY;
vWv.pos.x = ((canw2 - window.Math.floor(99 * scaleby)) + window.Math.floor(100 * scaleby)) - transitionX;
vWv.pos.y = playagainbutt.pos.y;
var mVvwv = window.Math.min(scaleby, 1);
window.document.getElementById("trevda").style.top = window.Math.floor((canh2 - 125) + (140 * mVvwv)) + "px";
window.document.getElementById("trevda").style.transform = ("scale(" + mVvwv) + ")";
window.document.getElementById("trevda").style.left = window.Math.floor(canw2 - (325 * mVvwv)) + "px";
};
function draw() {
if (transitionManager() === 0) return;
ctx.clearRect(0, 0, canw, canh);
Render.world();
if (transitionDuration > 0) {
NNN = isWaiting(1 - (transitionDuration / reverseTransition));
if (reverseTransitionState === 1) NNN = 1 - window.Math.abs(NNN);
NNN = 1 - NNN;
}
ctx.globalAlpha = 0.3 * NNN;
ctx.fillStyle = "#000000";
ctx.fillRect(0, 0, canw, canh);
ctx.globalAlpha = 1;
mNw.draw();
vWv.draw();
nmNnw();
Render.alertServer();
AudioManager.scheduler();
if (waitAds > 0) {
waitAds = window.Math.max(0, waitAds - delta);
CanvasUtils.drawImageHd(WAITADS[window.Math.floor(waitAds / 1000)], (playagainbutt.pos.x / scaleby) + 61.5, (playagainbutt.pos.y / scaleby) + 17.75, 0, 0, 0, 1);
} else playagainbutt.draw();
};
function transitionManager() {
if (transitionState === 1) {
update();
if (transitionDuration < 0) {
transitionState = 0;
playagainbutt.setState(GUI.__BUTTON_OUT__);
vWv.setState(GUI.__BUTTON_OUT__);
transitionSpeed.run();
return 0;
}
transitionDuration -= delta;
} else if (reverseTransitionState === 1) {
update();
if (transitionDuration < 0) {
reverseTransitionState = 0;
if (World.PLAYER.admin !== 1) Home.trevdaStyle.display = "inline-block";
window.document.getElementById("bod").style.backgroundColor = "#46664d";
MmNNN();
}
transitionDuration -= delta;
}
return 1;
};
function mouseDown(event) {
Mouse.updateAll(event, Mouse.__MOUSE_DOWN__);
var vnm = 0;
if (playagainbutt.trigger() === 1) {
vnm = 1;
}
if (vWv.trigger() === 1) {
vnm = 1;
}
};
function mouseUp(event) {
Mouse.updateAll(event, Mouse.__MOUSE_UP__);
var vnm = 0;
if (playagainbutt.trigger() === 1) {
vnm = 1;
if (waitAds <= 0) {
Home.joinServer();
AudioUtils.playFx(AudioUtils._fx.play, 1, 0);
}
return;
}
if (vWv.trigger() === 1) {
vnm = 1;
if (((Client.state & Client.State.__PENDING__) === 0) && ((Client.state & Client.State.__CONNECTED__) === 0)) {
quit(Home);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
}
};
function mouseMove(event) {
Mouse.updateAll(event, Mouse.__MOUSE_MOVE__);
var vnm = 0;
if (playagainbutt.trigger() === 1) {
vnm = 1;
}
if (vWv.trigger() === 1) {
vnm = 1;
}
};
function touchStart(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseDown(mouseX);
}
};
function touchEnd(event) {
mouseUp(mouseX);
};
function touchCancel(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseUp(mouseX);
}
};
function touchMove(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseMove(mouseX);
}
};
function MmNNN() {
if (isTouchScreen === 0) window.addEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.addEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.addEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 1) window.addEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.addEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.addEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.addEventListener('touchmove', touchMove, false);
};
function VVwMW() {
if (isTouchScreen === 0) window.removeEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.removeEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.removeEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 1) window.removeEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.removeEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.removeEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.removeEventListener('touchmove', touchMove, false);
};
return {
quit: quit,
init: init,
run: run,
update: update,
draw: draw
};
})();
var Rank = (function() {
function onError(state) {};
function quitGame() {
quit(Game);
};
function onOpen() {
quitGame();
};
var NNN = 0;
var lastTime = -1;
var VmvNV = null;
var vnvvM = {
img: null
};
var mvNVM = -1;
var mmvMV = {
img: null
};
var NmwnM = null;
var vvWmM = -1;
var VMnMw = null;
var vMMnW = {
img: null
};
function nmNnw() {
var offsetX = mNw.pos.x;
var offsetY = mNw.pos.y;
var wX_Scale = offsetX / scaleby;
var wY_Scale = offsetY / scaleby;
if ((NmwnM === null) || (mvNVM !== World.playerAlive)) {
mvNVM = World.playerAlive;
NmwnM = GUI.renderText("#" + window.Math.max(mvNVM, 1), "'Viga', sans-serif", "#FFFFFF", 60, 140, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
mmvMV.img = NmwnM;
mmvMV.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(mmvMV, wX_Scale + 207, wY_Scale + 93, 0, 0, 0, 1);
if ((VmvNV === null) || (lastTime !== World.PLAYER.timePlayed)) {
lastTime = World.PLAYER.timePlayed;
var vMWwM = window.Math.floor((window.Date.now() - World.PLAYER.timePlayed) / 1000);
var wWvWM = window.Math.floor(vMWwM / 60);
var NNvMn = vMWwM % 60;
VmvNV = GUI.renderText((((((wWvWM < 10) ? "0" : "") + wWvWM) + ":") + ((NNvMn < 10) ? "0" : "")) + NNvMn, "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
vnvvM.img = VmvNV;
vnvvM.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(vnvvM, wX_Scale + 110, wY_Scale + 100, 0, 0, 0, 1);
if ((VMnMw === null) || (vvWmM !== World.PLAYER.kill)) {
vvWmM = World.PLAYER.kill;
VMnMw = GUI.renderText(vvWmM + "", "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
vMMnW.img = VMnMw;
vMMnW.img.isLoaded = 1;
}
CanvasUtils.drawImageHd(vMMnW, wX_Scale + 309, wY_Scale + 100, 0, 0, 0, 1);
};
var waitAds = 0;
var mNw;
var playagainbutt;
var vWv;
function init() {
mNw = GUI.createBackground(414, 207, "img/scoreboard-br.png");
playagainbutt = GUI.createButton(123, 35, ["img/play-again-button-out.png", "img/play-again-button-in.png", "img/play-again-button-click.png"]);
vWv = GUI.createButton(198, 35, ["img/back-main-page-button-out.png", "img/back-main-page-button-in.png", "img/back-main-page-button-click.png"]);
};
var transitionSpeed;
var mouseX = new Mouse.LocalMouseEvent;
var keyboard = new Keyboard.LocalKeyboardEvent;
var transitionDuration = 500;
var transitionState = 0;
var transitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.inQuad, 0.05);
};
var reverseTransitionDuration = 500;
var reverseTransitionState = 0;
var reverseTransitionFunction = function(t) {
return MathUtils.Ease.speedLimit(t, MathUtils.Ease.outQuad, 0.05);
};
var reverseTransition = 0;
var transitionDuration = 0;
var isWaiting = window.undefined;
function run() {
Client.onError = onError;
Client.onOpen = onOpen;
World.PLAYER.isBuilding = 0;
World.PLAYER.id = 0;
Render.setDetection(0);
Render.stopPoisonEffect();
CanvasUtils.setRenderer(Rank);
transitionDuration = reverseTransitionDuration;
reverseTransition = reverseTransitionDuration;
isWaiting = reverseTransitionFunction;
reverseTransitionState = 1;
update();
};
function quit(callback) {
Home.trevdaStyle.display = "none";
transitionSpeed = callback;
VVwMW();
transitionDuration = transitionDuration;
reverseTransition = transitionDuration;
isWaiting = transitionFunction;
transitionState = 1;
};
function update() {
var transitionX = 0;
var transitionY = 0;
if (transitionDuration > 0) {
transitionY = canh;
var transition = isWaiting(1 - (transitionDuration / reverseTransition));
if (transition === 1) transitionDuration = 0;
if (reverseTransitionState === 1) transition = 1 - window.Math.abs(transition);
transitionX *= transition;
transitionY *= transition;
}
mNw.pos.x = (canw2 - window.Math.floor(207 * scaleby)) - transitionX;
mNw.pos.y = window.Math.max(0, (canh2 - window.Math.floor(103 * scaleby)) + window.Math.floor(-135 * scaleby)) - transitionY;
playagainbutt.pos.x = ((canw2 - window.Math.floor(61 * scaleby)) + window.Math.floor(-100 * scaleby)) - transitionX;
playagainbutt.pos.y = window.Math.max(0, (canh2 - window.Math.floor(17 * scaleby)) + window.Math.floor(-70 * scaleby)) - transitionY;
vWv.pos.x = ((canw2 - window.Math.floor(99 * scaleby)) + window.Math.floor(70 * scaleby)) - transitionX;
vWv.pos.y = playagainbutt.pos.y;
var mVvwv = scaleby;
window.document.getElementById("trevda").style.top = window.Math.floor((canh2 - 125) + (130 * mVvwv)) + "px";
window.document.getElementById("trevda").style.transform = ("scale(" + mVvwv) + ")";
};
function draw() {
if (transitionManager() === 0) return;
ctx.clearRect(0, 0, canw, canh);
Render.world();
if (transitionDuration > 0) {
NNN = isWaiting(1 - (transitionDuration / reverseTransition));
if (reverseTransitionState === 1) NNN = 1 - window.Math.abs(NNN);
NNN = 1 - NNN;
}
ctx.globalAlpha = 0.3 * NNN;
ctx.fillStyle = "#000000";
ctx.fillRect(0, 0, canw, canh);
ctx.globalAlpha = 1;
mNw.draw();
vWv.draw();
nmNnw();
Render.alertServer();
AudioManager.scheduler();
if (waitAds > 0) {
waitAds = window.Math.max(0, waitAds - delta);
CanvasUtils.drawImageHd(WAITADS[window.Math.floor(waitAds / 1000)], (playagainbutt.pos.x / scaleby) + 61.5, (playagainbutt.pos.y / scaleby) + 17.75, 0, 0, 0, 1);
} else playagainbutt.draw();
};
function transitionManager() {
if (transitionState === 1) {
update();
if (transitionDuration < 0) {
transitionState = 0;
playagainbutt.setState(GUI.__BUTTON_OUT__);
vWv.setState(GUI.__BUTTON_OUT__);
transitionSpeed.run();
return 0;
}
transitionDuration -= delta;
} else if (reverseTransitionState === 1) {
update();
if (transitionDuration < 0) {
reverseTransitionState = 0;
Home.trevdaStyle.display = "inline-block";
window.document.getElementById("bod").style.backgroundColor = "#46664d";
MmNNN();
}
transitionDuration -= delta;
}
return 1;
};
function mouseDown(event) {
Mouse.updateAll(event, Mouse.__MOUSE_DOWN__);
var vnm = 0;
if (playagainbutt.trigger() === 1) {
vnm = 1;
}
if (vWv.trigger() === 1) {
vnm = 1;
}
};
function mouseUp(event) {
Mouse.updateAll(event, Mouse.__MOUSE_UP__);
var vnm = 0;
if (playagainbutt.trigger() === 1) {
vnm = 1;
if (waitAds <= 0) {
Home.joinServer();
AudioUtils.playFx(AudioUtils._fx.play, 1, 0);
}
return;
}
if (vWv.trigger() === 1) {
vnm = 1;
if (((Client.state & Client.State.__PENDING__) === 0) && ((Client.state & Client.State.__CONNECTED__) === 0)) {
quit(Home);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
}
};
function mouseMove(event) {
Mouse.updateAll(event, Mouse.__MOUSE_MOVE__);
var vnm = 0;
if (playagainbutt.trigger() === 1) {
vnm = 1;
}
if (vWv.trigger() === 1) {
vnm = 1;
}
};
function touchStart(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseDown(mouseX);
}
};
function touchEnd(event) {
mouseUp(mouseX);
};
function touchCancel(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseUp(mouseX);
}
};
function touchMove(event) {
if (event.touches.length > 0) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[0]);
mouseMove(mouseX);
}
};
function MmNNN() {
if (isTouchScreen === 0) window.addEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.addEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.addEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 1) window.addEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.addEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.addEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.addEventListener('touchmove', touchMove, false);
};
function VVwMW() {
if (isTouchScreen === 0) window.removeEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.removeEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.removeEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 1) window.removeEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.removeEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.removeEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.removeEventListener('touchmove', touchMove, false);
};
return {
quit: quit,
init: init,
run: run,
update: update,
draw: draw
};
})();
var Editor = (function() {
var NmW = 0;
var isMapOpen = 0;
var isSettingsOpen = 0;
var MNnnv = 0;
var inventoryEmpty = CanvasUtils.loadImage("img/inv-empty.png");
var inventoryEmpty2 = [inventoryEmpty, inventoryEmpty, inventoryEmpty];
var Wnw = [];
var NWw = 0;
function editorSetValues() {
World.PLAYER.id = 1;
World.playerNumber = 2;
World.gameMode = 0;
World.PLAYER.skillPoint = 0;
World.PLAYER.gridPrev[i] = 0;
World.PLAYER.isBuilding = 1;
World.PLAYER.teamJoin = 0;
World.PLAYER.lastAreas = [
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1],
[-1, -1]
];
World.gauges.rad.value = World.gauges.rad._max;
World.gauges.rad.decrease = -1;
World.allocatePlayers([0, window.document.getElementById("nicknameInput").value]);
World.initDayCycle(0, 0);
Render.reset(window.undefined, 0, 0.07);
Render.scale = 0;
Entitie.removeAll();
World.PLAYER.buildRotate = 0;
World.PLAYER.blueprint = 0;
vmV = 0;
mnnMn(1, __ENTITIE_PLAYER__, 550, 550, 21 << 8, 0);
};
function _OpenBox(box) {
_CloseBox();
NmW = 1;
if (box === 1) isCraftOpen = 1;
else if (box === 2) isChestOpen = 1;
};
function _CloseBox() {
NmW = 0;
BUTTON_CLOSE_BOX.setState(GUI.__BUTTON_OUT__);
isMapOpen = 0;
isSettingsOpen = 0;
isCraftOpen = 0;
isChestOpen = 0;
isTeamOpen = 0;
World.releaseBuilding();
};
var nmMMm = 0;
var BUTTON_CLOSE_BOX = GUI.createButton(43, 43, ["img/close-box-out.png", "img/close-box-in.png", "img/close-box-click.png"]);
var highpartout = [CanvasUtils.loadImage("img/high-particules-out.png"), CanvasUtils.loadImage("img/high-particules-in.png"), CanvasUtils.loadImage("img/high-particules-click.png")];
var wVwnm = GUI.createButton(54, 42, null, highpartout);
var vWmmV = [CanvasUtils.loadImage("img/low-particules-out.png"), CanvasUtils.loadImage("img/low-particules-in.png"), CanvasUtils.loadImage("img/low-particules-click.png")];
var VnWMV = GUI.createButton(54, 42, null, vWmmV);
var vVvNM = [CanvasUtils.loadImage("img/no-particules-out.png"), CanvasUtils.loadImage("img/no-particules-in.png"), CanvasUtils.loadImage("img/no-particules-click.png")];
var wwMwv = GUI.createButton(54, 42, null, vVvNM);
var VVVMw = [CanvasUtils.loadImage("img/high-resolution-out.png"), CanvasUtils.loadImage("img/high-resolution-in.png"), CanvasUtils.loadImage("img/high-resolution-click.png")];
var wWNnw = GUI.createButton(54, 42, null, VVVMw);
var wmnmv = [CanvasUtils.loadImage("img/medium-resolution-out.png"), CanvasUtils.loadImage("img/medium-resolution-in.png"), CanvasUtils.loadImage("img/medium-resolution-click.png")];
var nvwMN = GUI.createButton(54, 42, null, wmnmv);
var vmVnn = [CanvasUtils.loadImage("img/low-resolution-out.png"), CanvasUtils.loadImage("img/low-resolution-in.png"), CanvasUtils.loadImage("img/low-resolution-click.png")];
var MNVVn = GUI.createButton(54, 42, null, vmVnn);
var NwVwn = [CanvasUtils.loadImage("img/azerty-button-out.png"), CanvasUtils.loadImage("img/azerty-button-in.png"), CanvasUtils.loadImage("img/azerty-button-click.png")];
var VmvmN = GUI.createButton(81, 33, null, NwVwn);
var NMnMN = [CanvasUtils.loadImage("img/qwerty-button-out.png"), CanvasUtils.loadImage("img/qwerty-button-in.png"), CanvasUtils.loadImage("img/qwerty-button-click.png")];
var WMVVn = GUI.createButton(87, 33, null, NMnMN);
var soundonbutt = [CanvasUtils.loadImage("img/sound-on-out.png"), CanvasUtils.loadImage("img/sound-on-in.png"), CanvasUtils.loadImage("img/sound-on-click.png")];
var soundoffbutt = [CanvasUtils.loadImage("img/sound-off-out.png"), CanvasUtils.loadImage("img/sound-off-in.png"), CanvasUtils.loadImage("img/sound-off-click.png")];
var wvNNV = GUI.createButton(51, 36, null, soundonbutt);
var WVnnn = GUI.createButton(51, 36, null, soundoffbutt);
var NmVWV = GUI.createButton(51, 36, null, soundonbutt);
var vVMWm = GUI.createButton(51, 36, null, soundoffbutt);
var mWM = 0;
var MWVNw = 0;
var NVNwm = 0;
var MMMvM = 0;
var vmWNW = 0;
var NnVMv = 0;
var WNmmw = 0;
var nvnNv = 0;
var vmV = 0;
function mnnMn(pid, type, offsetX, offsetY, extra, state) {
var entity = Entitie.get(pid, vmV, vmV, type);
setEntitie(entity, pid, vmV, vmV, type, offsetX, offsetY, offsetX, offsetY, extra, 0, state);
vmV++;
};
function editorUseCode(code) {
editorSetValues();
code = code.split("!b=");
code.shift();
for (var i = 0; i < code.length; i++) {
var building = code[i].split(":");
if (building.length > 4) Vnvmv(building[0], building[1], building[3], building[2], building[4]);
else Vnvmv(building[0], 0, building[2], building[1], building[3]);
}
};
function Vnvmv(item, subtype, i, j, rotation) {
item = window.Number(item) >>> 0;
subtype = window.Number(subtype) >>> 0;
i = window.Number(i) >>> 0;
j = window.Number(j) >>> 0;
rotation = window.Number(rotation) >>> 0;
if (((rotation > 3) || (i >= MapManager.height)) || (j >= MapManager.height)) return;
var building = INVENTORY[item];
if (((building === window.undefined) || (building.subtype === window.undefined)) || ((building.subtype > 0) && (building.building.length <= subtype))) return;
var rotation = (building.wall === 1) ? 0 : rotation;
var offsetX = (building.xCenter[rotation] + 50) + (100 * j);
var offsetY = (building.yCenter[rotation] + 50) + (100 * i);
var type = 0;
switch ((building.subtype === 0) ? building.zid : building.subtype[subtype].zid) {
case 0:
type = __ENTITIE_BUILD_DOWN__;
break;
case 1:
type = __ENTITIE_BUILD_TOP__;
break;
case 2:
type = __ENTITIE_BUILD_GROUND2__;
break;
default:
type = __ENTITIE_BUILD_GROUND__;
break;
}
nWMWn(1, type, offsetX, offsetY, rotation, 1 + ((building.subtype === 0) ? 0 : (subtype << 5)), building.id);
};
function nWMWn(pid, type, offsetX, offsetY, rotation, state, subtype) {
var entity = Entitie.get(pid, vmV, vmV, type);
setEntitie(entity, pid, vmV, vmV, type, offsetX, offsetY, offsetX, offsetY, (subtype << 7) + (rotation << 5), 0, state);
var update = ENTITIES[type].update;
if (update !== window.undefined) update(entity, offsetX, offsetY);
vmV++;
};
function editorBuildtoCode(type) {
var code = "";
var buildings = Entitie.units[type];
var buildingsBorder = Entitie.border[type];
var buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) {
var player = buildings[buildingsBorder.cycle[i]];
var item = INVENTORY[player.extra >> 7];
code += ("!b=" + item.id) + ":";
if (item.subtype !== 0) code += player.subtype + ":";
code += (((player.j + ":") + player.i) + ":") + ((player.extra >> 5) & 3);
}
return code;
};
function editorBuildRemove(type, offsetX, offsetY) {
var buildings = Entitie.units[type];
var buildingsBorder = Entitie.border[type];
var buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) {
var building = buildings[buildingsBorder.cycle[i]];
if ((((building.x >= offsetX) && (building.x <= (offsetX + 100))) && (building.y >= offsetY)) && (building.y <= (offsetY + 100))) {
Entitie.remove(building.pid, building.id, building.uid, type, building.extra);
return;
}
}
};
function vnMVv() {
if ((Mouse.state === Mouse.__MOUSE_DOWN__) && (World.PLAYER.click === 0)) {
if (World.PLAYER.isBuilding === 1) {
World.PLAYER.click = -1;
if (World.PLAYER.canBuild === 1) {
if ((((World.PLAYER.jBuild !== -1) && (World.PLAYER.iBuild !== -1)) && (World.PLAYER.jBuild !== MapManager.width)) && (World.PLAYER.iBuild !== MapManager.height)) Vnvmv(World.PLAYER.blueprint, World.PLAYER.furniture, World.PLAYER.iBuild, World.PLAYER.jBuild, World.PLAYER.buildRotate);
} else {
var offsetX = 100 * World.PLAYER.jBuild;
var offsetY = 100 * World.PLAYER.iBuild;
editorBuildRemove(__ENTITIE_BUILD_DOWN__, offsetX, offsetY);
editorBuildRemove(__ENTITIE_BUILD_TOP__, offsetX, offsetY);
editorBuildRemove(__ENTITIE_BUILD_GROUND2__, offsetX, offsetY);
editorBuildRemove(__ENTITIE_BUILD_GROUND__, offsetX, offsetY);
}
}
} else if (Mouse.state === Mouse.__MOUSE_UP__) {
if (World.PLAYER.isBuilding === 1) {
nmMMm = 0;
World.PLAYER.click = 0;
}
}
};
var NnMMn = window.Math.sqrt(2) / 2;
function nNvvV() {
var move = 0;
if (Keyboard.isLeft() === 1) move |= 1;
if (Keyboard.isRight() === 1) move |= 2;
if (Keyboard.isBottom() === 1) move |= 4;
if (Keyboard.isTop() === 1) move |= 8;
if (move > 0) {
var pid = World.players[1].locatePlayer;
if (pid === -1) return;
var PLAYER = Entitie.units[__ENTITIE_PLAYER__][pid];
WvvVn = (((move & 3) && (move & 12)) ? NnMMn : 1) * ((Keyboard.isShift() === 0) ? (delta * 1.5) : (delta * 11));
if (move & 1) PLAYER.rx = PLAYER.x - WvvVn;
else if (move & 2) PLAYER.rx = PLAYER.x + WvvVn;
if (move & 8) PLAYER.ry = PLAYER.y - WvvVn;
else if (move & 4) PLAYER.ry = PLAYER.y + WvvVn;
PLAYER.rx = window.Math.max(0, window.Math.min(PLAYER.rx, MapManager.width * 100));
PLAYER.ry = window.Math.max(0, window.Math.min(PLAYER.ry, MapManager.height * 100));
PLAYER.nx = PLAYER.rx;
PLAYER.ny = PLAYER.ry;
}
};
function wWNmN() {
var offsetX = editorBuildings.pos.x - (5 * scaleby);
var offsetY = editorBuildings.pos.y + (74 * scaleby);
var MVM = 45 * scaleby;
for (var i = 0; i < NWw; i++) {
var wm = Wnw[i];
wm.pos.x = offsetX + ((i % 8) * MVM);
wm.pos.y = offsetY + (window.Math.floor(i / 8) * MVM);
wm.draw();
}
};
function editorExportCode() {
if (Nnw <= 0) Nnw = 3000;
else if (Nnw <= 500) Nnw = 3000 - Nnw;
else if (Nnw <= 2500) Nnw = 2500;
var code = "";
code += editorBuildtoCode(__ENTITIE_BUILD_DOWN__);
code += editorBuildtoCode(__ENTITIE_BUILD_TOP__);
code += editorBuildtoCode(__ENTITIE_BUILD_GROUND2__);
code += editorBuildtoCode(__ENTITIE_BUILD_GROUND__);
var vMV = window.document.createElement('textarea');
vMV["value"] = code;
window.document["body"]["appendChild"](vMV);
vMV["select"]();
window.document["execCommand"]('copy');
window.document["body"]["removeChild"](vMV);
};
function markPosition() {
if (Nnw > 0) {
Nnw -= delta;
if (Nnw > 2500) ctx.globalAlpha = MathUtils.Ease.inOutQuad((3000 - Nnw) / 500);
else if (Nnw < 500) ctx.globalAlpha = MathUtils.Ease.inOutQuad(Nnw / 500);
ctx.drawImage(VWWvn, editorCopy.pos.x - (85 * scaleby), editorCopy.pos.y - (40 * scaleby), VWWvn.wh * scaleby, VWWvn.h2 * scaleby);
ctx.globalAlpha = 1;
}
if (NVVNW[World.PLAYER._j] === window.undefined) NVVNW[World.PLAYER._j] = [];
if (NVVNW[World.PLAYER._j][World.PLAYER._i] === window.undefined) NVVNW[World.PLAYER._j][World.PLAYER._i] = GUI.renderText(((("(" + World.PLAYER._j) + ",") + World.PLAYER._i) + ")", "'Viga', sans-serif", "#FFFFFF", 52, 455, "#000000", 22, 22, window.undefined, window.undefined, 0.4, window.undefined, "#000000", 15.6);
var img = NVVNW[World.PLAYER._j][World.PLAYER._i];
ctx.drawImage(img, 5 * scaleby, editorZoomIn.pos.y - (42 * scaleby), img.wh * scaleby, img.h2 * scaleby);
};
var VWWvn = null;
var VWWvn = null;
var Nnw = 0;
var NVVNW = [];
var vVnNn = 0;
var BACKGROUND_SETTBOX;
var BACKGROUND_BIGMAP;
var minimap;
var editorScreen;
var editorOptions;
var editorMap;
var editorLogic;
var editorExplosions;
var editorRoad;
var editorFurniture;
var editorBuildings;
var editorZoomIn;
var editorZoomOut;
var editorDelete;
var editorImport;
var editorCopy;
var editorHome;
var editorZoomIn;
var editorZoomOut;
function init() {
VWWvn = GUI.renderText("Copied to clipboard", "'Viga', sans-serif", "#FFFFFF", 40, 350, "#000000", 18, 18, window.undefined, window.undefined, 0.6);
for (i = 0; i < 64; i++) Wnw.push(GUI.createButton(40, 40, null, inventoryEmpty2));
BACKGROUND_SETTBOX = GUI.createBackground(269, 267, "img/settings-box.png");
BACKGROUND_BIGMAP = GUI.createBackground(412, 412, "img/borderBigMinimap2.png");
minimap = GUI.createBackground(128, 128, "img/minimap.png");
editorScreen = GUI.createButton(40, 40, ["img/full-screen-out.png", "img/full-screen-in.png", "img/full-screen-click.png"]);
editorOptions = GUI.createButton(40, 40, ["img/settings-out.png", "img/settings-in.png", "img/settings-click.png"]);
editorMap = GUI.createButton(40, 40, ["img/minimap-button-out.png", "img/minimap-button-in.png", "img/minimap-button-click.png"]);
editorLogic = GUI.createButton(67, 67, ["img/logic-button-out.png", "img/logic-button-in.png", "img/logic-button-click.png"]);
editorExplosions = GUI.createButton(67, 67, ["img/map-explosive-button-out.png", "img/map-explosive-button-in.png", "img/map-explosive-button-click.png"]);
editorRoad = GUI.createButton(67, 67, ["img/map-road-button-out.png", "img/map-road-button-in.png", "img/map-road-button-click.png"]);
editorFurniture = GUI.createButton(67, 67, ["img/map-furniture-button-out.png", "img/map-furniture-button-in.png", "img/map-furniture-button-click.png"]);
editorBuildings = GUI.createButton(67, 67, ["img/map-building-button-out.png", "img/map-building-button-in.png", "img/map-building-button-click.png"]);
editorZoomIn = GUI.createButton(46.5, 46.5, ["img/zoom-button-out.png", "img/zoom-button-in.png", "img/zoom-button-click.png"]);
editorZoomOut = GUI.createButton(46.5, 46.5, ["img/unzoom-button-out.png", "img/unzoom-button-in.png", "img/unzoom-button-click.png"]);
editorDelete = GUI.createButton(40, 40, ["img/map-delete-button-out.png", "img/map-delete-button-in.png", "img/map-delete-button-click.png"]);
editorImport = GUI.createButton(46.5, 46.5, ["img/import-button-out.png", "img/import-button-in.png", "img/import-button-click.png"]);
editorCopy = GUI.createButton(46.5, 46.5, ["img/copy-paste-button-out.png", "img/copy-paste-button-in.png", "img/copy-paste-button-click.png"]);
editorHome = GUI.createButton(60, 60, ["img/home-button-out.png", "img/home-button-in.png", "img/home-button-click.png"]);
};
var transitionSpeed;
var mouseX = new Mouse.LocalMouseEvent;
var keyboard = new Keyboard.LocalKeyboardEvent;
var transitionDuration = 1000;
var transitionState = 0;
var transitionFunction = MathUtils.Ease.inQuad;
var reverseTransitionDuration = 1000;
var reverseTransitionState = 0;
var reverseTransitionFunction = MathUtils.Ease.outQuad;
var reverseTransition = 0;
var transitionDuration = 0;
var isWaiting = window.undefined;
function run() {
window.document.getElementById("bod").style.backgroundColor = "#46664D";
nmMMm = 0;
AudioManager.startGame();
if (vVnNn === 0) {
vVnNn = 1;
var itemSub = INVENTORY[IID.__ROAD__].subtype;
for (var i = 0; i < itemSub.length; i++) {
var item = itemSub[i];
item.itemButton = {
src: [item.building.src, "img/useless.png", "img/useless.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
};
}
var itemSub = INVENTORY[IID.__FURNITURE__].subtype;
for (var i = 0; i < itemSub.length; i++) {
var item = itemSub[i];
item.itemButton = {
src: [item.building.src, "img/useless.png", "img/useless.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
};
}
}
editorSetValues();
CanvasUtils.setRenderer(Editor);
transitionDuration = reverseTransitionDuration;
reverseTransition = reverseTransitionDuration;
isWaiting = reverseTransitionFunction;
reverseTransitionState = 1;
update();
};
function quit(callback) {
_CloseBox();
AudioManager.quitGame();
transitionSpeed = callback;
VVwMW();
transitionDuration = transitionDuration;
reverseTransition = transitionDuration;
isWaiting = transitionFunction;
transitionState = 1;
};
function update() {
var transitionX = 0;
var transitionY = 0;
if (transitionDuration > 0) {
transitionY = canh;
var transition = isWaiting(1 - (transitionDuration / reverseTransition));
if (transition === 1) transitionDuration = 0;
if (reverseTransitionState === 1) transition = 1 - window.Math.abs(transition);
transitionX *= transition;
transitionY *= transition;
}
BACKGROUND_SETTBOX.pos.x = (canw2 - window.Math.floor(134 * scaleby)) + transitionX;
BACKGROUND_SETTBOX.pos.y = window.Math.max(0, canh2 - window.Math.floor(133 * scaleby)) + transitionY;
BACKGROUND_BIGMAP.pos.x = (canw2 - window.Math.floor(206 * scaleby)) + transitionX;
BACKGROUND_BIGMAP.pos.y = window.Math.max(0, canh2 - window.Math.floor(206 * scaleby)) + transitionY;
minimap.pos.x = window.Math.floor(5 * scaleby) - transitionX;
minimap.pos.y = window.Math.floor(5 * scaleby) - transitionY;
editorScreen.pos.x = minimap.pos.x + window.Math.floor(126 * scaleby);
editorScreen.pos.y = minimap.pos.y;
editorOptions.pos.x = editorScreen.pos.x;
editorOptions.pos.y = editorScreen.pos.y + window.Math.floor(44.5 * scaleby);
editorMap.pos.x = editorOptions.pos.x;
editorMap.pos.y = editorOptions.pos.y + window.Math.floor(44.5 * scaleby);
editorLogic.pos.x = ((canw - window.Math.floor(67 * scaleby)) + window.Math.floor(-5 * scaleby)) - transitionX;
editorLogic.pos.y = window.Math.floor(5 * scaleby) - transitionY;
editorExplosions.pos.x = editorLogic.pos.x + window.Math.floor(-70 * scaleby);
editorExplosions.pos.y = window.Math.floor(5 * scaleby) - transitionY;
editorRoad.pos.x = editorExplosions.pos.x + window.Math.floor(-70 * scaleby);
editorRoad.pos.y = window.Math.floor(5 * scaleby) - transitionY;
editorFurniture.pos.x = editorRoad.pos.x + window.Math.floor(-70 * scaleby);
editorFurniture.pos.y = window.Math.floor(5 * scaleby) - transitionY;
editorBuildings.pos.x = editorFurniture.pos.x + window.Math.floor(-70 * scaleby);
editorBuildings.pos.y = window.Math.floor(5 * scaleby) - transitionY;
editorZoomIn.pos.x = window.Math.floor(5 * scaleby);
editorZoomIn.pos.y = (canh - window.Math.floor(46.5 * scaleby)) + window.Math.floor(-5 * scaleby);
editorZoomOut.pos.x = editorZoomIn.pos.x + window.Math.floor(50 * scaleby);
editorZoomOut.pos.y = (canh - window.Math.floor(46.5 * scaleby)) + window.Math.floor(-5 * scaleby);
editorDelete.pos.x = minimap.pos.x + window.Math.floor(89 * scaleby);
editorDelete.pos.y = minimap.pos.y + window.Math.floor(126 * scaleby);
editorImport.pos.x = (canw - window.Math.floor(46.5 * scaleby)) + window.Math.floor(-5 * scaleby);
editorImport.pos.y = (canh - window.Math.floor(46.5 * scaleby)) + window.Math.floor(-5 * scaleby);
editorCopy.pos.x = editorImport.pos.x + window.Math.floor(-50 * scaleby);
editorCopy.pos.y = (canh - window.Math.floor(46.5 * scaleby)) + window.Math.floor(-5 * scaleby);
editorHome.pos.x = minimap.pos.x;
editorHome.pos.y = minimap.pos.y + window.Math.floor(126 * scaleby);
};
function draw() {
if (transitionManager() === 0) return;
vnMVv();
nNvvV();
ctx.clearRect(0, 0, canw, canh);
World.updatePosition();
Render.world();
Render.minimap(minimap.pos.x, minimap.pos.y);
minimap.draw();
editorScreen.draw();
editorOptions.draw();
editorMap.draw();
editorLogic.draw();
editorExplosions.draw();
editorRoad.draw();
editorFurniture.draw();
editorBuildings.draw();
editorZoomIn.draw();
editorZoomOut.draw();
editorDelete.draw();
editorImport.draw();
editorCopy.draw();
editorHome.draw();
markPosition();
wWNmN();
if (NmW === 1) {
if (isMapOpen === 1) Render.bigminimap(BACKGROUND_BIGMAP, BUTTON_CLOSE_BOX);
else if (isSettingsOpen === 1) Render.config(BACKGROUND_SETTBOX, wWNnw, nvwMN, MNVVn, VmvmN, WMVVn, wvNNV, WVnnn, NmVWV, vVMWm, BUTTON_CLOSE_BOX, wVwnm, VnWMV, wwMwv);
} else if (isTouchScreen === 1) {
if ((((Keyboard.isLeft() + Keyboard.isRight()) + Keyboard.isTop()) + Keyboard.isBottom()) >= 1) {
ctx.globalAlpha = 0.3;
var offsetX = canw2ns - (canw4ns * 1.5);
var offsetY = canh2ns + (canw4ns / 4);
CanvasUtils.circle(ctx, offsetX, offsetY, 60);
CanvasUtils.drawPath(ctx, "#000000");
CanvasUtils.circle(ctx, offsetX + ((window.Math.cos(MWVNw) * NVNwm) * scaleby), offsetY + ((window.Math.sin(MWVNw) * NVNwm) * scaleby), 30);
CanvasUtils.drawPath(ctx, "#FFFFFF");
ctx.globalAlpha = 1;
}
if (vmWNW === 1) {
ctx.globalAlpha = 0.3;
var offsetX = canw2ns + (canw4ns * 1.5);
var offsetY = canh2ns + (canw4ns / 4);
CanvasUtils.circle(ctx, offsetX, offsetY, 60);
CanvasUtils.drawPath(ctx, "#000000");
CanvasUtils.circle(ctx, offsetX + ((window.Math.cos(Mouse.angle) * 25) * scaleby), offsetY + ((window.Math.sin(Mouse.angle) * 25) * scaleby), 30);
CanvasUtils.drawPath(ctx, "#FFFFFF");
ctx.globalAlpha = 1;
}
}
AudioManager.scheduler();
};
function transitionManager() {
if (transitionState === 1) {
update();
if (transitionDuration < 0) {
transitionState = 0;
editorScreen.setState(GUI.__BUTTON_OUT__);
editorOptions.setState(GUI.__BUTTON_OUT__);
editorMap.setState(GUI.__BUTTON_OUT__);
editorLogic.setState(GUI.__BUTTON_OUT__);
editorExplosions.setState(GUI.__BUTTON_OUT__);
editorRoad.setState(GUI.__BUTTON_OUT__);
editorFurniture.setState(GUI.__BUTTON_OUT__);
editorBuildings.setState(GUI.__BUTTON_OUT__);
editorZoomIn.setState(GUI.__BUTTON_OUT__);
editorZoomOut.setState(GUI.__BUTTON_OUT__);
editorDelete.setState(GUI.__BUTTON_OUT__);
editorImport.setState(GUI.__BUTTON_OUT__);
editorCopy.setState(GUI.__BUTTON_OUT__);
editorHome.setState(GUI.__BUTTON_OUT__);
transitionSpeed.run();
return 0;
}
transitionDuration -= delta;
} else if (reverseTransitionState === 1) {
update();
if (transitionDuration < 0) {
reverseTransitionState = 0;
MmNNN();
}
transitionDuration -= delta;
}
return 1;
};
function mouseDown(event) {
Mouse.updateAll(event, Mouse.__MOUSE_DOWN__);
var vnm = 0;
if (editorScreen.trigger() === 1) { vnm = 1; }
if (editorOptions.trigger() === 1) { vnm = 1; }
if (editorMap.trigger() === 1) { vnm = 1; }
if (editorLogic.trigger() === 1) { vnm = 1; }
if (editorExplosions.trigger() === 1) { vnm = 1; }
if (editorRoad.trigger() === 1) { vnm = 1; }
if (editorFurniture.trigger() === 1) { vnm = 1; }
if (editorBuildings.trigger() === 1) { vnm = 1; }
if (editorZoomIn.trigger() === 1) { vnm = 1; }
if (editorZoomOut.trigger() === 1) { vnm = 1; }
if (editorDelete.trigger() === 1) { vnm = 1; }
if (editorImport.trigger() === 1) { vnm = 1; }
if (editorHome.trigger() === 1) { vnm = 1; }
if (NmW === 1) {
BUTTON_CLOSE_BOX.trigger();
if (isSettingsOpen === 1) {
VmvmN.trigger();
WMVVn.trigger();
wWNnw.trigger();
nvwMN.trigger();
MNVVn.trigger();
wvNNV.trigger();
WVnnn.trigger();
NmVWV.trigger();
vVMWm.trigger();
VnWMV.trigger();
wVwnm.trigger();
wwMwv.trigger();
}
} else {
for (var i = 0; i < NWw; i++) {
if (Wnw[i].trigger() === 1) vnm = 1;
}
}
if ((vnm === 0) && (NmW === 0)) {
nmMMm = 1;
if (World.PLAYER.click === -1) World.PLAYER.click = 0;
} else {
if (World.PLAYER.click === 0) World.PLAYER.click = -1;
}
};
function mouseUp(event) {
Mouse.updateAll(event, Mouse.__MOUSE_UP__);
var vnm = 0;
if (editorScreen.trigger() === 1) {
vnm = 1;
if (MNnnv === 0) {
MNnnv = 1;
CanvasUtils.enableFullscreen();
if (World.day === 0) canvas.style.backgroundColor = "#3D5942";
else canvas.style.backgroundColor = "#0B2129";
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
} else {
MNnnv = 0;
CanvasUtils.disableFullscreen();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
}
if (editorOptions.trigger() === 1) {
vnm = 1;
if (isSettingsOpen === 0) {
_CloseBox();
NmW = 1;
isSettingsOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
if (editorMap.trigger() === 1) {
vnm = 1;
if (isMapOpen === 0) {
_CloseBox();
NmW = 1;
isMapOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
if (editorLogic.trigger() === 1) {
vnm = 1;
NWw = 0;
for (var i = 1; i < INVENTORY.length; i++) {
var item = INVENTORY[i];
if (item.behavior === BEHAVIOR.__LOGIC__) {
Wnw[NWw].setImages(item.itemButton.src, item.itemButton.img);
Wnw[NWw].itemId = item.id;
NWw++;
}
}
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
if (editorExplosions.trigger() === 1) {
vnm = 1;
NWw = 0;
for (var i = 1; i < INVENTORY.length; i++) {
var item = INVENTORY[i];
if ((((item.id === IID.__LANDMINE__) || (item.id === IID.__C4__)) || (item.id === IID.__WOOD_SPIKE__)) || (item.id === IID.__DYNAMITE__)) {
Wnw[NWw].setImages(item.itemButton.src, item.itemButton.img);
Wnw[NWw].itemId = item.id;
NWw++;
}
}
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
if (editorRoad.trigger() === 1) {
vnm = 1;
NWw = 0;
var itemSub = INVENTORY[IID.__ROAD__].subtype;
for (var i = 0; i < itemSub.length; i++) {
var item = itemSub[i];
Wnw[NWw].setImages(item.itemButton.src, item.itemButton.img);
Wnw[NWw].itemId = IID.__ROAD__;
Wnw[NWw].itemSubId = i;
NWw++;
}
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
if (editorFurniture.trigger() === 1) {
vnm = 1;
NWw = 0;
var itemSub = INVENTORY[IID.__FURNITURE__].subtype;
for (var i = 0; i < itemSub.length; i++) {
var item = itemSub[i];
Wnw[NWw].setImages(item.itemButton.src, item.itemButton.img);
Wnw[NWw].itemId = IID.__FURNITURE__;
Wnw[NWw].itemSubId = i;
NWw++;
}
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
if (editorBuildings.trigger() === 1) {
vnm = 1;
NWw = 0;
for (var i = 1; i < INVENTORY.length; i++) {
var item = INVENTORY[i];
if (((((item.wall === 1) || (item.lowWall === 1)) || (item.door === 1)) || (IID.__CHEST__ === 1)) || (IID.__FRIDGE__ === 1)) {
Wnw[NWw].setImages(item.itemButton.src, item.itemButton.img);
Wnw[NWw].itemId = item.id;
NWw++;
}
}
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
if (editorZoomIn.trigger() === 1) {
vnm = 1;
if (Render.scale < 1.5) {
Render.scale += 0.1;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
editorZoomOut.show();
if (Render.scale >= 1.5) editorZoomIn.hide();
}
}
if (editorZoomOut.trigger() === 1) {
vnm = 1;
if (Render.scale > -0.95) {
if (Render.scale < 0) Render.scale -= 0.05;
else Render.scale -= 0.1;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
editorZoomIn.show();
if (Render.scale <= -0.95) editorZoomOut.hide();
}
}
if (editorDelete.trigger() === 1) {
vnm = 1;
editorSetValues();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
}
if (editorImport.trigger() === 1) {
vnm = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
var code = window["prompt"]("Please enter your code here", "");
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
if ((code != null) && (code != "")) editorUseCode(code);
}
if (editorCopy.trigger() === 1) {
vnm = 1;
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
editorExportCode();
}
if (editorHome.trigger() === 1) {
vnm = 1;
Editor.quit(Home);
AudioUtils.playFx(AudioUtils._fx.play, 1, 0);
}
if (NmW === 1) {
if (BUTTON_CLOSE_BOX.trigger() === 1) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
if (isSettingsOpen === 1) {
WMVVn.setState(GUI.__BUTTON_OUT__);
VmvmN.setState(GUI.__BUTTON_OUT__);
wWNnw.setState(GUI.__BUTTON_OUT__);
nvwMN.setState(GUI.__BUTTON_OUT__);
MNVVn.setState(GUI.__BUTTON_OUT__);
wvNNV.setState(GUI.__BUTTON_OUT__);
WVnnn.setState(GUI.__BUTTON_OUT__);
NmVWV.setState(GUI.__BUTTON_OUT__);
vVMWm.setState(GUI.__BUTTON_OUT__);
wVwnm.setState(GUI.__BUTTON_OUT__);
VnWMV.setState(GUI.__BUTTON_OUT__);
wwMwv.setState(GUI.__BUTTON_OUT__);
if (VmvmN.trigger() === 1) {
Keyboard.setAzerty();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (WMVVn.trigger() === 1) {
Keyboard.setQwert();
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wWNnw.trigger() === 1) {
CanvasUtils.setResolution(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (nvwMN.trigger() === 1) {
CanvasUtils.setResolution(2);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (MNVVn.trigger() === 1) {
CanvasUtils.setResolution(3);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wvNNV.trigger() === 1) {
AudioUtils.setAudio(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (WVnnn.trigger() === 1) {
AudioUtils.setAudio(0);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (NmVWV.trigger() === 1) {
AudioUtils.setFx(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (vVMWm.trigger() === 1) {
AudioUtils.setFx(0);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (VnWMV.trigger() === 1) {
Render.setParticles(1);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wVwnm.trigger() === 1) {
Render.setParticles(2);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
} else if (wwMwv.trigger() === 1) {
Render.setParticles(0);
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
return;
}
var MMMnn = BACKGROUND_SETTBOX.pos;
if ((((Mouse.sx < MMMnn.x) || (Mouse.sx > (MMMnn.x + (234 * scaleby)))) || (Mouse.sy < MMMnn.y)) || (Mouse.sy > (MMMnn.y + (232 * scaleby)))) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
} else if (isMapOpen === 1) {
var mNMnn = BACKGROUND_BIGMAP.pos;
if ((((Mouse.sx < mNMnn.x) || (Mouse.sx > (mNMnn.x + (412 * scaleby)))) || (Mouse.sy < mNMnn.y)) || (Mouse.sy > (mNMnn.y + (412 * scaleby)))) {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
return;
}
}
} else {
for (var i = 0; i < NWw; i++) {
if (Wnw[i].trigger() === 1) {
AudioUtils.playFx(AudioUtils._fx.button, 1, 0);
World.PLAYER.blueprint = Wnw[i].itemId;
World.PLAYER.furniture = Wnw[i].itemSubId;
console.log(Wnw[i].itemId)
if (World.PLAYER.blueprint === IID.__ROAD__) World.PLAYER.buildRotate = 0;
}
}
}
};
function mouseMove(event) {
Mouse.updateAll(event, Mouse.__MOUSE_MOVE__);
var vnm = 0;
if (editorScreen.trigger() === 1) {
vnm = 1;
}
if (editorOptions.trigger() === 1) {
vnm = 1;
}
if (editorMap.trigger() === 1) {
vnm = 1;
}
if (editorLogic.trigger() === 1) {
vnm = 1;
}
if (editorExplosions.trigger() === 1) {
vnm = 1;
}
if (editorRoad.trigger() === 1) {
vnm = 1;
}
if (editorFurniture.trigger() === 1) {
vnm = 1;
}
if (editorBuildings.trigger() === 1) {
vnm = 1;
}
if (editorZoomIn.trigger() === 1) {
vnm = 1;
}
if (editorZoomOut.trigger() === 1) {
vnm = 1;
}
if (editorDelete.trigger() === 1) {
vnm = 1;
}
if (editorImport.trigger() === 1) {
vnm = 1;
}
if (editorCopy.trigger() === 1) {
vnm = 1;
}
if (editorHome.trigger() === 1) {
vnm = 1;
}
if (NmW === 1) {
BUTTON_CLOSE_BOX.trigger();
if (isSettingsOpen === 1) {
VmvmN.trigger();
WMVVn.trigger();
wWNnw.trigger();
nvwMN.trigger();
MNVVn.trigger();
wvNNV.trigger();
WVnnn.trigger();
NmVWV.trigger();
vVMWm.trigger();
VnWMV.trigger();
wVwnm.trigger();
wwMwv.trigger();
}
} else {
for (var i = 0; i < NWw; i++) Wnw[i].trigger();
}
};
function NmN(event) {
Keyboard.keyup(event);
if (event.keyCode === 77) {
if (isMapOpen === 0) {
_CloseBox();
NmW = 1;
isMapOpen = 1;
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
} else {
_CloseBox();
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
}
} else if ((event.keyCode === 27) && (NmW === 1)) {
AudioUtils.playFx(AudioUtils._fx.open, 1, 0);
_CloseBox();
} else if (event.keyCode === 82) {
if ((World.PLAYER.isBuilding === 1) && (World.PLAYER.blueprint !== IID.__ROAD__)) World.PLAYER.buildRotate = (World.PLAYER.buildRotate + 1) % 4;
}
};
function vnW(event) {
Keyboard.keydown(event);
if ((((event.keyCode === 37) || (event.keyCode === 38)) || (event.keyCode === 39)) || (event.keyCode === 40)) {
event.preventDefault();
return false;
}
};
function touchStart(event) {
var NVN = 0;
for (var wVV = 0; wVV < event.touches.length; wVV++) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[wVV]);
if (NmW === 0) {
var sx = window.Math.floor(mouseX.clientX * CanvasUtils.options.ratioX);
var sy = window.Math.floor(mouseX.clientY * CanvasUtils.options.ratioY);
if (sy < (canh - (70 * scaleby))) {
var WMm = canw4 * 1.5;
var nmV = canw4 / 4;
if (sx < canw2) {
var MVM = 30 * scaleby;
MWVNw = Math2d.angle(canw2 - WMm, canh2 + nmV, sx, sy);
NVNwm = window.Math.min(Math2d.distance(sx, sy, canw2 - WMm, canh2 + nmV), 25);
if (sx < ((canw2 - WMm) - MVM)) {
mWM |= 1;
keyboard.charCode = 37;
keyboard.keyCode = 37;
vnW(keyboard);
} else if (sx > ((canw2 - WMm) + MVM)) {
mWM |= 2;
keyboard.charCode = 39;
keyboard.keyCode = 39;
vnW(keyboard);
}
if (sy < ((canh2 + nmV) - MVM)) {
mWM |= 4;
keyboard.charCode = 38;
keyboard.keyCode = 38;
vnW(keyboard);
} else if (sy > ((canh2 + nmV) + MVM)) {
mWM |= 8;
keyboard.charCode = 40;
keyboard.keyCode = 40;
vnW(keyboard);
}
} else if ((sx < (canw - (40 * scaleby))) || (sy > (40 * scaleby))) {
NVN = 1;
mouseX.clientX -= WMm / CanvasUtils.options.ratioX;
mouseX.clientY -= nmV / CanvasUtils.options.ratioX;
if (World.PLAYER.isBuilding === 1) {
var vVMmn = window.Date.now();
if ((vVMmn - MMMvM) < 1000) {
vmWNW = 1;
NnVMv = mouseX.clientX;
WNmmw = mouseX.clientY;
mouseDown(mouseX);
}
MMMvM = vVMmn;
} else {
vmWNW = 1;
NnVMv = mouseX.clientX;
WNmmw = mouseX.clientY;
mouseDown(mouseX);
}
}
continue;
}
}
if ((NVN === 0) && (mWM === 0)) {
mouseDown(mouseX);
NVN = 1;
}
}
};
function touchEnd(event) {};
function touchCancel(event) {
var sx = window.Math.floor(event.changedTouches[0].clientX * CanvasUtils.options.ratioX);
var sy = window.Math.floor(event.changedTouches[0].clientY * CanvasUtils.options.ratioY);
if (nvnNv === 1) nvnNv = 0;
else if (NmW === 1) mouseUp(mouseX);
else if ((vmWNW === 1) && (sx >= canw2)) {
vmWNW = 0;
mouseX.clientX = NnVMv;
mouseX.clientY = WNmmw;
mouseUp(mouseX);
return;
} else if (((World.PLAYER.drag.begin === 0) && (sx < canw2)) && (sy < (canh - (70 * scaleby)))) {
if ((sx < (240 * scaleby)) && (sy < (160 * scaleby))) mouseUp(mouseX);
} else mouseUp(mouseX);
if (mWM !== 0) {
if (mWM & 1) {
keyboard.charCode = 37;
NmN(keyboard);
}
if (mWM & 2) {
keyboard.charCode = 39;
NmN(keyboard);
}
if (mWM & 4) {
keyboard.charCode = 38;
NmN(keyboard);
}
if (mWM & 8) {
keyboard.charCode = 40;
NmN(keyboard);
}
mWM = 0;
}
};
function touchMove(event) {
var NVN = 0;
var mWVWv = 0;
for (var wVV = 0; wVV < event.touches.length; wVV++) {
Mouse.touchToMouseEvent(mouseX, event, event.touches[wVV]);
if ((World.PLAYER.drag.begin === 0) && (NmW === 0)) {
var sx = window.Math.floor(mouseX.clientX * CanvasUtils.options.ratioX);
var sy = window.Math.floor(mouseX.clientY * CanvasUtils.options.ratioY);
if (sy < (canh - (70 * scaleby))) {
var WMm = canw4 * 1.5;
var nmV = canw4 / 4;
if (sx < canw2) {
mWVWv = 1;
var VNM = 0;
var MVM = 30 * scaleby;
MWVNw = Math2d.angle(canw2 - WMm, canh2 + nmV, sx, sy);
NVNwm = window.Math.min(Math2d.distance(sx, sy, canw2 - WMm, canh2 + nmV), 25);
if (sx < ((canw2 - WMm) - MVM)) VNM |= 1;
else if (sx > ((canw2 - WMm) + MVM)) VNM |= 2;
if (sy < ((canh2 + nmV) + -MVM)) VNM |= 4;
else if (sy > ((canh2 + nmV) + MVM)) VNM |= 8;
if (((VNM & 1) === 1) && ((mWM & 1) !== 1)) {
keyboard.charCode = 37;
vnW(keyboard);
} else if (((VNM & 1) !== 1) && ((mWM & 1) === 1)) {
keyboard.charCode = 37;
NmN(keyboard);
}
if (((VNM & 2) === 2) && ((mWM & 2) !== 2)) {
keyboard.charCode = 39;
vnW(keyboard);
} else if (((VNM & 2) !== 2) && ((mWM & 2) === 2)) {
keyboard.charCode = 39;
NmN(keyboard);
}
if (((VNM & 4) === 4) && ((mWM & 4) !== 4)) {
keyboard.charCode = 38;
vnW(keyboard);
} else if (((VNM & 4) !== 4) && ((mWM & 4) === 4)) {
keyboard.charCode = 38;
NmN(keyboard);
}
if (((VNM & 8) === 8) && ((mWM & 8) !== 8)) {
keyboard.charCode = 40;
vnW(keyboard);
} else if (((VNM & 8) !== 8) && ((mWM & 8) === 8)) {
keyboard.charCode = 40;
NmN(keyboard);
}
mWM = VNM;
continue;
} else if ((sx < (canw - (40 * scaleby))) || (sy > (40 * scaleby))) {
NVN = 1;
mouseX.clientX -= WMm / CanvasUtils.options.ratioX;
mouseX.clientY -= nmV / CanvasUtils.options.ratioX;
NnVMv = mouseX.clientX;
WNmmw = mouseX.clientY;
mouseMove(mouseX);
}
}
}
if ((NVN === 0) && (mWM === 0)) {
mouseMove(mouseX);
NVN = 1;
}
}
if ((mWVWv === 0) && (mWM !== 0)) {
if (mWM & 1) {
keyboard.charCode = 37;
NmN(keyboard);
}
if (mWM & 2) {
keyboard.charCode = 39;
NmN(keyboard);
}
if (mWM & 4) {
keyboard.charCode = 38;
NmN(keyboard);
}
if (mWM & 8) {
keyboard.charCode = 40;
NmN(keyboard);
}
mWM = 0;
}
};
function MmNNN() {
if (isTouchScreen === 0) window.addEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.addEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.addEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 0) window.addEventListener('keyup', NmN, false);
if (isTouchScreen === 0) window.addEventListener('keydown', vnW, false);
if (isTouchScreen === 1) window.addEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.addEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.addEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.addEventListener('touchmove', touchMove, false);
};
function VVwMW() {
if (isTouchScreen === 0) window.removeEventListener('mousedown', mouseDown, false);
if (isTouchScreen === 0) window.removeEventListener('mouseup', mouseUp, false);
if (isTouchScreen === 0) window.removeEventListener('mousemove', mouseMove, false);
if (isTouchScreen === 0) window.removeEventListener('keyup', NmN, false);
if (isTouchScreen === 0) window.removeEventListener('keydown', vnW, false);
if (isTouchScreen === 1) window.removeEventListener('touchstart', touchStart, false);
if (isTouchScreen === 1) window.removeEventListener('touchend', touchEnd, false);
if (isTouchScreen === 1) window.removeEventListener('touchcancel', touchCancel, false);
if (isTouchScreen === 1) window.removeEventListener('touchmove', touchMove, false);
};
return {
quit: quit,
init: init,
run: run,
update: update,
draw: draw
};
})();
var __COUNTER__ = 1;
var BID = {};
BID.__ROAD_T0B0L0R1__ = __COUNTER__++;
BID.__ROAD_T0B0L1R0__ = __COUNTER__++;
BID.__ROAD_T0B0L1R1__ = __COUNTER__++;
BID.__ROAD_T0B1L0R0__ = __COUNTER__++;
BID.__ROAD_T0B1L0R1__ = __COUNTER__++;
BID.__ROAD_T0B1L1R0__ = __COUNTER__++;
BID.__ROAD_T0B1L1R1__ = __COUNTER__++;
BID.__ROAD_T1B0L0R1__ = __COUNTER__++;
BID.__ROAD_T1B0L1R0__ = __COUNTER__++;
BID.__ROAD_T1B0L1R0__ = __COUNTER__++;
BID.__ROAD_T1B0L1R1__ = __COUNTER__++;
BID.__ROAD_T1B1L0R0__ = __COUNTER__++;
BID.__ROAD_T1B1L0R1__ = __COUNTER__++;
BID.__ROAD_T1B1L1R0__ = __COUNTER__++;
BID.__ROAD_T1B1L1R1__ = __COUNTER__++;
var BUILDINGS = [{}, {
id: BID.__ROAD_T0B0L0R1__,
src: "img/road-T0B0L0R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 0,
y: 0,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
alt: [BID.__ROAD_T0B0L0R1__]
}, {
id: BID.__ROAD_T0B0L1R0__,
src: "img/road-T0B0L1R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 28,
y: 0,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
alt: [BID.__ROAD_T0B0L1R0_1__, BID.__ROAD_T0B0L1R0_2__]
}, {
id: BID.__ROAD_T0B0L1R1__,
src: "img/road-T0B0L1R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 56,
y: 0,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
alt: [BID.__ROAD_T0B0L1R1_1__, BID.__ROAD_T0B0L1R1_2__, BID.__ROAD_T0B0L1R1_3__, BID.__ROAD_T0B0L1R1_4__, BID.__ROAD_T0B0L1R1_5__, BID.__ROAD_T0B0L1R1_6__, BID.__ROAD_T0B0L1R1_7__, BID.__ROAD_T0B0L1R1_8__]
}, {
id: BID.__ROAD_T0B1L0R0__,
src: "img/road-T0B1L0R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 84,
y: 0,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
alt: [BID.__ROAD_T0B1L0R0_1__, BID.__ROAD_T0B1L0R0_2__]
}, {
id: BID.__ROAD_T0B1L0R1__,
src: "img/road-T0B1L0R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 56,
y: 28,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T0B1L1R0__,
src: "img/road-T0B1L1R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 0,
y: 56,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T0B1L1R1__,
src: "img/road-T0B1L1R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 112,
y: 0,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B0L0R1__,
src: "img/road-T1B0L0R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 28,
y: 28,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B0L1R0__,
src: "img/road-T1B0L0R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 56,
y: 56,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B0L1R0__,
src: "img/road-T1B0L1R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 84,
y: 56,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B0L1R1__,
src: "img/road-T1B0L1R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 84,
y: 28,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B1L0R0__,
src: "img/road-T1B1L0R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 112,
y: 56,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B1L0R1__,
src: "img/road-T1B1L0R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 112,
y: 28,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B1L1R0__,
src: "img/road-T1B1L1R0.png",
img: {
isLoaded: 0
},
minimap: {
x: 0,
y: 28,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
}, {
id: BID.__ROAD_T1B1L1R1__,
src: "img/road-T1B1L1R1.png",
img: {
isLoaded: 0
},
minimap: {
x: 28,
y: 56,
h: 28,
w: 28
},
grid: [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
],
alt: [BID.__ROAD_T1B1L1R1_1__, BID.__ROAD_T1B1L1R1_2__]
}];
try {
if (exports !== window.undefined) {
exports.BID = BID;
exports.BUILDINGS = BUILDINGS;
}
} catch (error) {}
var Render = (function() {
var __TILE_SIZE__ = 100;
var __TILE_SIZE2__ = __TILE_SIZE__ / 2;
var __TILE_SCALE__ = 1;
var NVmMW = 13;
var WnWvv = 9;
var WwmVw = 100;
var WMNWw = 0.025;
var NMmmm = 0;
var VmNmN = 0.01;
var NmMvvvN = 0.008;
var worldWidth = 0;
var worldWidthFull = 0;
var worldHeightFull = 0;
var worldHeight = 0;
var NnvWw = 3;
var nwMnv = 0;
var vnvWWnW = 0;
var vvVMV = 0;
var VnvWV = 0;
var vvNWNnN = 450;
var Width_410 = 410;
var Height_410 = Width_410;
var wVNMN = 412 / 8;
var NnWnv = 0;
var IMG_MAP_BORDER = "img/borderBigMinimap2.png";
var IMG_MAP_ARROW = "img/arrow-minimap.png";
var IMG_MAP_ARROW2 = "img/arrow-minimap2.png";
var IMG_HOUSE_ICON = "img/house-icon.png";
var IMG_CITY_ICON = "img/city-icon.png";
var IMG_INV_EMPTY = "img/inv-empty.png";
var IMG_LOOT = "img/loot.png";
var IMG_LOOT_TOUCH = "img/loot-isTouchScreen.png";
var IMG_LOOT2 = "img/loot2.png";
var IMG_TIMER = "img/timer.png";
var IMG_CRAFT_GRID = "img/craft-grid.png";
var IMG_TIMER_ARROW = "img/timer-arrow.png";
var IMG_TIMER_LIGHTS = "img/timer-lights.png";
var IMG_HINT_ROTATE = "img/hint-rotate.png";
var IMG_DAY_UNUSABLE = "img/day-unusable.png";
var IMG_DAY_CLOCK = "img/day-clock.png";
var IMG_NIGHT_CLOCK = "img/night-clock.png";
var IMG_CLOCK_HAND = "img/clock-hand.png";
var IMG_CLOCK_HAND_RAD = "img/clock-hand-radiation.png";
var IMG_DAY_CLOCK_HAND = "img/day-clock-hand.png";
var IMG_CRAFT_GAUGE = "img/craft-gauge.png";
var IMG_STROKE_BONUS = "img/stroke-bonus.png";
var IMG_WRONG_TOOL = "img/wrong-tool.png";
var IMG_HAND_TOOL = "img/hand-tool.png";
var IMG_ARROW_CRAFT = "img/arrow-craft.png";
var IMG_UNLOCK_SKILLS = "img/unlock-skills.png";
var IMG_SERVER_FULL = "img/server-full.png";
var IMG_SERVER_OLD = "img/server-old.png";
var IMG_CLIENT_OLD = "img/client-old.png";
var IMG_SERVER_WRONG = "img/server-wrong.png";
var IMG_INVITATION_BOX = "img/invitation-box.png";
var IMG_TIME_BOX = "img/time-box.png";
var IMG_RANK_BOX = "img/rank-box.png";
var IMG_TOXIC_ALERT = "img/toxic-alert.png";
var IMG_RAD_ALERT = "img/radiation-alert.png";
var Mvvwv = 500;
var mVmWm = 256;
var mMmvV = 500;
var WWn = window.Math.floor(mVmWm / 2);
var nWWwM = window.Math.floor(WWn / 2);
var IMG_ALERT = "img/alert";
var Vwwmw = 699;
var nvnwM = 738;
var COLOR_LIGHTGREEN = "#70BD56";
var COLOR_ORANGE = "#e58833";
var COLOR_LIGHTBLUE = "#55B7BC";
var COLOR_YELLOW = "#d7c83a";
var COLOR_WHITE = "#FFFFFF";
var Mvnwm = 3000;
var mmWWw = 500;
var WWMnN = 2500;
var PI2 = window.Math.PI * 2;
var PIby2 = window.Math.PI / 2;
var mWvNn = window.Math.PI / World.__DAY__;
var LEFT = 1;
var RIGHT = 2;
var TOP = 4;
var DOWN = 8;
var MMn = 16;
var nNn = 32;
var Nvn = 64;
var nwM = 128;
var mMwmm = 0;
var NVW = 1;
var mWn = 2;
var WMN = 4;
var wwm = 8;
var MwnMm = 0;
var NNvnn = 1;
var MnVmm = 2;
var WnmmN = 3;
var vNw = [
[],
[],
[],
[]
];
vNw[MwnMm][mMwmm] = 0;
vNw[MwnMm][NVW] = 3;
vNw[MwnMm][mWn] = 6;
vNw[MwnMm][WMN | wwm] = 9;
vNw[MwnMm][WMN] = 4;
vNw[MwnMm][wwm] = 5;
vNw[MwnMm][NVW | WMN] = 27;
vNw[MwnMm][NVW | wwm] = 20;
vNw[MwnMm][mWn | WMN] = 7;
vNw[MwnMm][mWn | wwm] = 28;
vNw[MwnMm][(NVW | WMN) | wwm] = 24;
vNw[MwnMm][(mWn | WMN) | wwm] = 29;
vNw[MnVmm][mMwmm] = 0;
vNw[MnVmm][NVW] = 3;
vNw[MnVmm][mWn] = 6;
vNw[MnVmm][WMN | wwm] = 9;
vNw[MnVmm][WMN] = 4;
vNw[MnVmm][wwm] = 5;
vNw[MnVmm][NVW | WMN] = 27;
vNw[MnVmm][NVW | wwm] = 20;
vNw[MnVmm][mWn | WMN] = 7;
vNw[MnVmm][mWn | wwm] = 28;
vNw[MnVmm][(NVW | WMN) | wwm] = 24;
vNw[MnVmm][(mWn | WMN) | wwm] = 29;
vNw[NNvnn][mMwmm] = 11;
vNw[NNvnn][NVW] = 12;
vNw[NNvnn][mWn] = 17;
vNw[NNvnn][WMN | wwm] = 10;
vNw[NNvnn][WMN] = 19;
vNw[NNvnn][wwm] = 18;
vNw[NNvnn][NVW | WMN] = 34;
vNw[NNvnn][NVW | wwm] = 22;
vNw[NNvnn][mWn | WMN] = 23;
vNw[NNvnn][mWn | wwm] = 33;
vNw[NNvnn][(NVW | WMN) | wwm] = 35;
vNw[NNvnn][(mWn | WMN) | wwm] = 32;
vNw[WnmmN][mMwmm] = 11;
vNw[WnmmN][NVW] = 15;
vNw[WnmmN][mWn] = 14;
vNw[WnmmN][WMN | wwm] = 10;
vNw[WnmmN][WMN] = 19;
vNw[WnmmN][wwm] = 18;
vNw[WnmmN][NVW | WMN] = 37;
vNw[WnmmN][NVW | wwm] = 16;
vNw[WnmmN][mWn | WMN] = 23;
vNw[WnmmN][mWn | wwm] = 38;
vNw[WnmmN][(NVW | WMN) | wwm] = 36;
vNw[WnmmN][(mWn | WMN) | wwm] = 39;
var WMV = [];
WMV[0] = 0;
WMV[LEFT] = 3;
WMV[RIGHT] = 4;
WMV[TOP] = 2;
WMV[DOWN] = 1;
WMV[LEFT | TOP] = 17;
WMV[LEFT | RIGHT] = 5;
WMV[LEFT | DOWN] = 18;
WMV[RIGHT | TOP] = 16;
WMV[RIGHT | DOWN] = 19;
WMV[TOP | DOWN] = 6;
WMV[(LEFT | TOP) | DOWN] = 10;
WMV[(LEFT | TOP) | RIGHT] = 9;
WMV[(DOWN | TOP) | RIGHT] = 11;
WMV[(LEFT | DOWN) | RIGHT] = 8;
WMV[((LEFT | TOP) | RIGHT) | DOWN] = 7;
WMV[(DOWN | RIGHT) | MMn] = 12;
WMV[(DOWN | LEFT) | nNn] = 13;
WMV[(TOP | LEFT) | nwM] = 14;
WMV[(TOP | RIGHT) | Nvn] = 15;
WMV[((TOP | DOWN) | RIGHT) | MMn] = 20;
WMV[(((TOP | DOWN) | RIGHT) | LEFT) | MMn] = 21;
WMV[((LEFT | DOWN) | RIGHT) | MMn] = 22;
WMV[(((TOP | DOWN) | RIGHT) | LEFT) | Nvn] = 23;
WMV[((LEFT | TOP) | RIGHT) | Nvn] = 24;
WMV[((TOP | DOWN) | RIGHT) | Nvn] = 25;
WMV[((TOP | DOWN) | LEFT) | nwM] = 26;
WMV[(((TOP | DOWN) | RIGHT) | LEFT) | nwM] = 27;
WMV[((TOP | RIGHT) | LEFT) | nwM] = 28;
WMV[((DOWN | RIGHT) | LEFT) | nNn] = 29;
WMV[(((TOP | DOWN) | RIGHT) | LEFT) | nNn] = 30;
WMV[((TOP | DOWN) | LEFT) | nNn] = 31;
WMV[((((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | MMn) | nwM) | Nvn] = 32;
WMV[((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | nwM] = 33;
WMV[((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | MMn] = 34;
WMV[((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | Nvn] = 35;
WMV[((((TOP | DOWN) | RIGHT) | LEFT) | MMn) | nwM] = 36;
WMV[((((TOP | DOWN) | RIGHT) | LEFT) | Nvn) | MMn] = 37;
WMV[((((TOP | DOWN) | RIGHT) | LEFT) | Nvn) | nwM] = 38;
WMV[(((TOP | DOWN) | RIGHT) | Nvn) | MMn] = 39;
WMV[(((TOP | DOWN) | LEFT) | nwM) | nNn] = 40;
WMV[(((RIGHT | DOWN) | LEFT) | MMn) | nNn] = 41;
WMV[(((RIGHT | TOP) | LEFT) | Nvn) | nwM] = 42;
WMV[(((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | nwM) | Nvn] = 43;
WMV[(((((TOP | DOWN) | RIGHT) | LEFT) | MMn) | nwM) | Nvn] = 44;
WMV[(((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | MMn) | Nvn] = 45;
WMV[(((((TOP | DOWN) | RIGHT) | LEFT) | nNn) | MMn) | nwM] = 46;
var wnNWM = 600;
var i, j;
var vertst = 0;
var horist = 0;
var NmM = 0;
var WWV = 0;
var NVVWM = 0;
var WVNMV = 0;
var vvWnv = 0;
var Nvmmn = 0;
var vwMWM = VmNmN;
var WvmnV = 0;
var oldscale = 0;
var vMnmV = [];
for (i = 0; i < 20; i++) vMnmV[i] = {
isLoaded: 0
};
var setParticles = 2;
var vMnnw = [];
var matrix = [];
var wWmnn = NVmMW;
var VmvVW = WnWvv;
var NmWnM = [];
var inventorySlot = {
isLoaded: 0
};
var hintRotate = {
isLoaded: 0
};
var wnW = {
move: 0,
effect: 0,
src: IMG_ARROW_CRAFT,
img: {
isLoaded: 0
}
};
var wvV = {
move: 0,
effect: 0,
src: IMG_UNLOCK_SKILLS,
img: {
isLoaded: 0
}
};
var timeleft = {
src: IMG_TIME_BOX,
img: {
isLoaded: 0
}
};
var WvWnV = {
src: IMG_RANK_BOX,
img: {
isLoaded: 0
}
};
var WWmMW = {
src: IMG_TOXIC_ALERT,
img: {
isLoaded: 0
}
};
var shakeMagnitude = 0;
var VmWNN = {
src: IMG_RAD_ALERT,
img: {
isLoaded: 0
}
};
var WNmVW = 0;
var ICON_E_FURNITURE = {
src: "img/e-furniture.png",
img: {
isLoaded: 0
}
};
var IMG_TOXIC_AREA2 = CanvasUtils.loadImage("img/toxic-area2.png");
var IMG_TOXIC_AREA3 = CanvasUtils.loadImage("img/toxic-area3.png");
var wVVVn = [];
var playerAlive = [];
var wmvVw = {
isLoaded: 0
};
var arv = {
isLoaded: 0
};
var nMWVv = {
isLoaded: 0
};
var VWvVN = {
isLoaded: 0
};
var NNmMN = [0, 0, 0, 0];
var WwmVM = NMmmm;
var WvnvV = [];
var pplonscr = 0;
var useTimer = {
isLoaded: 0
};
var arrow = {
isLoaded: 0
};
var lights = {
isLoaded: 0
};
var WMWvN = mMmvV;
var wWNmv = {
isLoaded: 0
};
var craftGauge = {
isLoaded: 0
};
var STROKE_BONUS = {
src: IMG_STROKE_BONUS,
img: {
isLoaded: 0
}
};
var VnwNw = 0;
var wrongTool = {
src: IMG_WRONG_TOOL,
img: {
isLoaded: 0
}
};
var vwnWv = {
src: IMG_HAND_TOOL,
img: {
isLoaded: 0
}
};
var nearestDistance = 12000;
var distance12k = 12000;
var wVMNN = [];
for (i = 0; i < 10; i++) {
wVMNN[i] = [];
for (j = 0; j < 3; j++) wVMNN[i][j] = {
isLoaded: 0
};
};
var effect = [];
for (i = 0; i < 8; i++) {
effect[i] = [];
for (j = 0; j < 2; j++) effect[i][j] = {
isLoaded: 0
};
}
var arrowiconmap2 = {
src: IMG_MAP_ARROW,
img: {
isLoaded: 0
}
};
var arrowiconmap = {
src: IMG_MAP_ARROW2,
img: {
isLoaded: 0
}
};
var minimap = {
isLoaded: 0
};
var houseiconmap = {
src: IMG_HOUSE_ICON,
img: {
isLoaded: 0
}
};
var cityiconmap = {
src: IMG_CITY_ICON,
img: {
isLoaded: 0
}
};
var WmVNn = {
src: IMG_NIGHT_CLOCK,
img: {
isLoaded: 0
}
};
var nvvVW = {
src: IMG_DAY_CLOCK,
img: {
isLoaded: 0
}
};
var nMmvV = {
src: IMG_CLOCK_HAND,
img: {
isLoaded: 0
}
};
var VWmVV = {
src: IMG_DAY_CLOCK_HAND,
img: {
isLoaded: 0
}
};
var wmmvv = {
src: IMG_CLOCK_HAND_RAD,
img: {
isLoaded: 0
}
};
var alertFull = {
src: IMG_SERVER_FULL,
img: {
isLoaded: 0
}
};
var alertServerOld = {
src: IMG_SERVER_OLD,
img: {
isLoaded: 0
}
};
var alertClientOld = {
src: IMG_CLIENT_OLD,
img: {
isLoaded: 0
}
};
var alertServerWrong = {
src: IMG_SERVER_WRONG,
img: {
isLoaded: 0
}
};
var teambox = {
isLoaded: 0
};
var wwvmV = [];
for (i = 0; i < 20; i++) wwvmV.push({
isLoaded: 0
});
var canvasZ = window.document.createElement('canvas');
var context2dZ = canvasZ.getContext('2d');
canvasZ.width = Width_410;
canvasZ.height = Height_410;
canvasZ.isLoaded = 1;
canvasZ.wh = canvasZ.width / 2;
canvasZ.h2 = canvasZ.height / 2;
var MWNMV = {
img: canvasZ
};
var canvasD = window.document.createElement('canvas');
var context2dD = canvasD.getContext('2d');
canvasD.width = Width_410;
canvasD.height = Height_410;
canvasD.isLoaded = 1;
canvasD.wh = canvasZ.width / 2;
canvasD.h2 = canvasZ.height / 2;
var MMvWn = {
img: canvasD
};
var mWWwn = 0;
function _BattleRoyale() {
if (World.PLAYER.toxicStep === 8) {
context2dZ.clearRect(0, 0, Width_410, Height_410);
context2dD.clearRect(0, 0, Width_410, Height_410);
for (var i = 0; i < 8; i++) {
for (var j = 0; j < 8; j++) {
var wVvnN = World.PLAYER.toxicMap[i][j];
if (wVvnN === 7) context2dZ.drawImage(IMG_TOXIC_AREA2, 2 + (j * wVNMN), (i * wVNMN) + 1, IMG_TOXIC_AREA2.wh, IMG_TOXIC_AREA2.h2);
else context2dZ.drawImage(IMG_TOXIC_AREA3, 2 + (j * wVNMN), (i * wVNMN) + 1, IMG_TOXIC_AREA2.wh, IMG_TOXIC_AREA2.h2);
}
}
} else {
context2dZ.drawImage(canvasD, 0, 0);
context2dD.clearRect(0, 0, Width_410, Height_410);
for (var k = 0; k < 12; k++) {
var area = World.PLAYER.lastAreas[k];
var i = area[0];
var j = area[1];
if (i === -1) continue;
context2dD.drawImage(IMG_TOXIC_AREA2, 2 + (j * wVNMN), (i * wVNMN) + 1, IMG_TOXIC_AREA2.wh, IMG_TOXIC_AREA2.h2);
}
};
};
var canvasF = window.document.createElement('canvas');
var context2dF = canvasF.getContext('2d');
canvasF.width = Vwwmw;
canvasF.height = nvnwM;
soundLimit = [];
for (var i = 0; i < 9; i++) soundLimit[i] = 0;
var frameId = 0;
for (i = 0; i < WnWvv; i++) {
vMnnw[i] = [];
for (var j = 0; j < NVmMW; j++) vMnnw[i][j] = 0;
}
var canvasG = window.document.createElement("canvas");
var context2dG = canvasG.getContext("2d");
canvasG.width = 280;
canvasG.height = 148;
var mwwNm = -1;
var canvasElements = [];
var canvasContexts = [];
var skillPoint = window.document.createElement("canvas");
var context2H = skillPoint.getContext("2d");
skillPoint.width = 280;
skillPoint.height = 50;
var wmmVm = -1;
var canvasJ = window.document.createElement("canvas");
var context2J = canvasJ.getContext("2d");
canvasJ.width = 420;
canvasJ.height = 148;
var MMNWW = -1;
function MmmnN() {
this.wallFrame = 0;
this.floorFrame = 0;
this.drawFloor = 0;
this.tile = 0;
this.wall = 0;
this.frameId = 0;
this.ground = 0;
this.pid = 0;
this.tilePid = 0;
this.category = 0;
this.i = 0;
this.b = [];
this.rotate = 0;
for (var i = 0; i < 3; i++) this.b.push({
type: 0,
cycle: 0
});
};
function wmNMv(player, rotation) {
if ((player.hurt > 0) || (player.removed !== 0)) return 0;
var i = player.i;
var j = player.j;
var type = player.extra >> 7;
var id = 0;
switch (rotation) {
case 0:
if ((i + 1) < worldHeight) {
var VMV = matrix[i + 1][j];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
if (VMV.rotate === 1) id += NVW;
else if (VMV.rotate === 3) id += mWn;
}
}
if ((j - 1) >= 0) {
var VMV = matrix[i][j - 1];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 3) || (VMV.rotate === 0))) id += WMN;
}
if ((j + 1) < worldWidth) {
var VMV = matrix[i][j + 1];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 1) || (VMV.rotate === 0))) id += wwm;
}
break;
case 1:
if ((j - 1) >= 0) {
var VMV = matrix[i][j - 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
if (VMV.rotate === 0) id += mWn;
else if (VMV.rotate === 2) id += NVW;
}
}
if ((i - 1) >= 0) {
var VMV = matrix[i - 1][j];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 0) || (VMV.rotate === 1))) id += WMN;
}
if ((i + 1) < worldHeight) {
var VMV = matrix[i + 1][j];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 2) || (VMV.rotate === 1))) id += wwm;
}
break;
case 2:
if ((i - 1) >= 0) {
var VMV = matrix[i - 1][j];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
if (VMV.rotate === 1) id += mWn;
else if (VMV.rotate === 3) id += NVW;
}
}
if ((j - 1) >= 0) {
var VMV = matrix[i][j - 1];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 3) || (VMV.rotate === 2))) id += wwm;
}
if ((j + 1) < worldWidth) {
var VMV = matrix[i][j + 1];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 1) || (VMV.rotate === 2))) id += WMN;
}
break;
case 3:
if ((j + 1) < worldWidth) {
var VMV = matrix[i][j + 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
if (VMV.rotate === 0) id += NVW;
else if (VMV.rotate === 2) id += mWn;
}
}
if ((i - 1) >= 0) {
var VMV = matrix[i - 1][j];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 0) || (VMV.rotate === 3))) id += wwm;
}
if ((i + 1) < worldHeight) {
var VMV = matrix[i + 1][j];
if (((VMV.wallFrame === frameId) && (VMV.wall === type)) && ((VMV.rotate === 2) || (VMV.rotate === 3))) id += WMN;
}
break;
}
return vNw[rotation][id];
};
function Wwmwm(player) {
if ((player.hurt > 0) || (player.removed !== 0)) return 0;
var i = player.i;
var j = player.j;
var type = player.extra >> 7;
var id = 0;
var N = 0,
t = 0,
M = 0,
l = 0;
if ((i - 1) >= 0) {
var VMV = matrix[i - 1][j];
if (VMV.floorFrame === frameId) {
t = 1;
id += TOP;
}
}
if ((i + 1) < worldHeight) {
var VMV = matrix[i + 1][j];
if (VMV.floorFrame === frameId) {
id += DOWN;
M = 1;
}
}
if ((j - 1) >= 0) {
var VMV = matrix[i][j - 1];
if (VMV.floorFrame === frameId) {
id += LEFT;
l = 1;
}
}
if ((j + 1) < worldWidth) {
var VMV = matrix[i][j + 1];
if (VMV.floorFrame === frameId) {
id += RIGHT;
N = 1;
}
}
if ((N + t) === 2) {
var VMV = matrix[i - 1][j + 1];
if (VMV.floorFrame === frameId) id += Nvn;
}
if ((l + t) === 2) {
var VMV = matrix[i - 1][j - 1];
if (VMV.floorFrame === frameId) id += nwM;
}
if ((M + N) === 2) {
var VMV = matrix[i + 1][j + 1];
if (VMV.floorFrame === frameId) id += MMn;
}
if ((M + l) === 2) {
var VMV = matrix[i + 1][j - 1];
if (VMV.floorFrame === frameId) id += nNn;
}
return WMV[id];
};
function WwmwN(player) {
if ((player.hurt > 0) || (player.removed !== 0)) return 0;
var i = player.i;
var j = player.j;
var wall = INVENTORY[player.extra >> 7];
var type = wall.idWall;
var id = 0;
var N = 0,
t = 0,
M = 0,
l = 0;
if ((i - 1) >= 0) {
var VMV = matrix[i - 1][j];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
t = 1;
id += TOP;
}
}
if ((i + 1) < worldHeight) {
var VMV = matrix[i + 1][j];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
id += DOWN;
M = 1;
}
}
if ((j - 1) >= 0) {
var VMV = matrix[i][j - 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
id += LEFT;
l = 1;
}
}
if ((j + 1) < worldWidth) {
var VMV = matrix[i][j + 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) {
id += RIGHT;
N = 1;
}
}
if ((N + t) === 2) {
var VMV = matrix[i - 1][j + 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) id += Nvn;
}
if ((l + t) === 2) {
var VMV = matrix[i - 1][j - 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) id += nwM;
}
if ((M + N) === 2) {
var VMV = matrix[i + 1][j + 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) id += MMn;
}
if ((M + l) === 2) {
var VMV = matrix[i + 1][j - 1];
if ((VMV.wallFrame === frameId) && (VMV.wall === type)) id += nNn;
}
var id = WMV[id];
matrix[i][j].drawFloor = wall.drawFloor[id];
return id;
};
function _wallConnect(player) {
var type = player.extra >> 7;
if (((INVENTORY[type].lowWall !== 1) || (player.hurt > 0)) || (player.broke > 0)) return;
var VMV = matrix[player.i][player.j];
VMV.wallFrame = frameId;
VMV.wall = type;
VMV.rotate = (player.extra >> 5) & 3;
};
function _bigWallConnect(player) {
var type = player.extra >> 7;
if (((INVENTORY[type].wall !== 1) || (player.hurt > 0)) || (player.broke > 0)) return;
var VMV = matrix[player.i][player.j];
VMV.wallFrame = frameId;
VMV.wall = INVENTORY[type].idWall;
if (World.PLAYER._j === player.j) {
var distance = window.Math.max(1, window.Math.abs(World.PLAYER._i - player.i));
if (World.PLAYER._i < player.i) NNmMN[0] = WwmVM / distance;
else NNmMN[1] = WwmVM / distance;
} else if (World.PLAYER._i === player.i) {
var distance = window.Math.max(1, window.Math.abs(World.PLAYER._j - player.j));
if (World.PLAYER._j < player.j) NNmMN[2] = WwmVM / distance;
else NNmMN[3] = WwmVM / distance;
}
};
function _floorConnect(player) {
var type = player.extra >> 7;
if (((INVENTORY[type].wall !== 1) || (player.hurt > 0)) || (player.broke > 0)) return;
var VMV = matrix[player.i][player.j];
VMV.floorFrame = frameId;
};
function MmnMv(player, cycle) {
var i = player.i;
var j = player.j;
var VMV = matrix[i][j];
if (VMV.frameId === frameId) {
if (VMV.i < 3) {
var M = VMV.b[VMV.i];
VMV.i += 1;
M.type = player.type;
M.cycle = cycle;
}
} else {
VMV.frameId = frameId;
var M = VMV.b[0];
VMV.i = 1;
M.type = player.type;
M.cycle = cycle;
}
};
function _Reset(wVNwM, MMnVM, VmNwV) {
handleResize = window.document.getElementById("bod").onresize;
if (World.gameMode === World.__BR__) {
context2dZ.clearRect(0, 0, Width_410, Width_410);
context2dD.clearRect(0, 0, Width_410, Width_410);
shakeMagnitude = 0;
}
WNmVW = 0;
Render.explosionShake = 0;
Render.shake = 0;
if (wVNwM !== window.undefined) WMWvN = 0;
else WMWvN = mMmvV;
if (VmNwV !== window.undefined) vwMWM = VmNwV;
else vwMWM = VmNmN;
if (MMnVM !== window.undefined) WwmVM = MMnVM;
else WwmVM = NMmmm;
NmM = 0;
WWV = 0;
World.PLAYER.x = 0;
World.PLAYER.y = 0;
World.PLAYER._i = 0;
World.PLAYER._j = 0;
wnW.effect = 0;
wnW.move = 0;
wvV.effect = 0;
wvV.move = 0;
PARTICLE.id = -1;
PARTICLE.uid = -1;
var value = localStorage2.getItem("particles");
if (value !== null) setParticles = window.Number(value);
teamName = "";
nNmVw = null;
MapManager.width = 150;
MapManager.height = 150;
Render.__TRANSFORM__ = (MapManager.width * 100) / 255;
worldWidth = MapManager.width;
worldHeight = MapManager.height;
worldWidthFull = __TILE_SIZE__ * worldWidth;
worldHeightFull = __TILE_SIZE__ * worldHeight;
nwMnv = 824 / worldWidthFull;
vvVMV = 824 - mVmWm;
VnvWV = vvVMV + WWn;
NnWnv = worldWidthFull / 8;
World.setSizeWorld(worldWidth, worldHeight);
for (var i = 0; i < worldHeight; i++) {
matrix[i] = [];
for (var j = 0; j < worldWidth; j++) matrix[i][j] = new MmmnN;
}
var len = Entitie.units[0].length;
for (i = 0; i < len; i++) WvnvV[i] = null;
};
function _buttonInv(wm, invtr, offsetX, offsetY, inventoryItemNumber, inventoryAmmoNumber) {
wm.pos.x = offsetX;
wm.pos.y = offsetY;
wm.draw();
var item = INVENTORY[invtr[0]];
var amount = invtr[1];
if (amount > 1) {
if (inventoryItemNumber[amount] === window.undefined) {
inventoryItemNumber[amount] = {
img: GUI.renderText("x" + amount, "'Black Han Sans', sans-serif", "#ffffff", 30, 250, window.undefined, 15, 12, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12)
};
inventoryItemNumber[amount].img.isLoaded = 1;
}
CanvasUtils.drawImageHd(inventoryItemNumber[amount], (offsetX / scaleby) + 53, (offsetY / scaleby) + 55, -0.5, 0, 0, 1);
}
if ((item.bullet !== window.undefined) && (item.mMVwm === window.undefined)) {
var amount = invtr[3];
if (inventoryAmmoNumber[amount] === window.undefined) {
inventoryAmmoNumber[amount] = {
img: GUI.renderText("x" + amount, "'Black Han Sans', sans-serif", "#FFFF00", 30, 250, window.undefined, 15, 12, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12)
};
inventoryAmmoNumber[amount].img.isLoaded = 1;
}
CanvasUtils.drawImageHd(inventoryAmmoNumber[amount], (offsetX / scaleby) + 53, (offsetY / scaleby) + 55, -0.5, 0, 0, 1);
}
if (item.perish !== window.undefined) {
var VWNwv = window.Math.floor(invtr[3] / 12.8);
var img = wwvmV[VWNwv];
if (img.isLoaded !== 1) {
wwvmV[VWNwv] = CanvasUtils.loadImage(("img/rotten" + VWNwv) + ".png", img);
} else ctx.drawImage(img, offsetX + (0.5 * scaleby), offsetY, (scaleby * img.width) / 2, (scaleby * img.height) / 2);
}
};
function drawDarkBox(id, offsetX, offsetY) {
if (canvasElements[id] === window.undefined) {
canvasElements[id] = window.document.createElement("canvas");
canvasContexts[id] = canvasElements[id].getContext("2d");
var canvas = canvasElements[id];
var context = canvasContexts[id];
canvas.width = 400;
canvas.height = 148;
context.clearRect(0, 0, 400, 148);
CanvasUtils.roundRect(context, 0, 0, 400, 148, 10);
context.fillStyle = "#000000";
context.globalAlpha = 0.5;
context.fill();
context.globalAlpha = 1;
itemstatsfunc(context, id);
}
var height = scaleby * 74;
ctx.drawImage(canvasElements[id], offsetX, offsetY, scaleby * 190, height);
};
function drawDarkBox2(building, offsetX, offsetY) {
var id = building.id;
if (canvasElements[id] === window.undefined) {
canvasElements[id] = window.document.createElement("canvas");
canvasContexts[id] = canvasElements[id].getContext("2d");
var canvas = canvasElements[id];
var context = canvasContexts[id];
canvas.width = 400;
canvas.height = 148;
context.clearRect(0, 0, 400, 148);
CanvasUtils.roundRect(context, 0, 0, 400, 148, 10);
context.fillStyle = "#000000";
context.globalAlpha = 0.5;
context.fill();
context.globalAlpha = 1;
BuildingStats(context, building);
}
var height = scaleby * 74;
ctx.drawImage(canvasElements[id], offsetX, offsetY, scaleby * 190, height);
};
function _Inventory(inventoryItemNumber, inventoryAmmoNumber, MmV, BUTTON_BAG) {
//if (World.PLAYER.ghoul !== 0) return;
var inventory = Game.inventory;
if (inventorySlot.isLoaded !== 1) {
inventorySlot = CanvasUtils.loadImage(IMG_INV_EMPTY, inventorySlot);
return;
}
var invtr = World.PLAYER.inventory;
var len = invtr.length;
var width = (inventorySlot.width * scaleby) / 2;
var height = (inventorySlot.height * scaleby) / 2;
var _x = window.Math.max(300 * scaleby, (canw - (width * len)) / 2);
var _y = (canh - height) - (5 * scaleby);
var offsetX = _x;
var offsetY = _y;
var MVM = (5 * scaleby) + width;
if (len > 10) {
BUTTON_BAG.pos.x = canw - (69 * scaleby);
BUTTON_BAG.pos.y = canh - (68 * scaleby);
BUTTON_BAG.draw();
if (BUTTON_BAG.open === 0) len = 10;
}
for (var i = 0; i < len; i++) {
var wm = inventory[i];
if (invtr[i][0] === 0) {
wm.pos.x = offsetX;
wm.pos.y = offsetY;
ctx.drawImage(inventorySlot, offsetX, offsetY, width, height);
} else _buttonInv(wm, invtr[i], offsetX, offsetY, inventoryItemNumber, inventoryAmmoNumber);
if (i === 9) {
offsetX = BUTTON_BAG.pos.x - (5 * scaleby);
offsetY = BUTTON_BAG.pos.y - MVM;
} else if (i === 12) {
offsetX -= MVM;
offsetY = BUTTON_BAG.pos.y - MVM;
} else if (i > 9) offsetY -= MVM;
else offsetX += MVM;
}
var drag = World.PLAYER.drag;
if (((drag.begin === 1) && (Mouse.state === Mouse.__MOUSE_DOWN__)) && (Math2d.distance(drag.x, drag.y, Mouse.x, Mouse.y) > (4 * scaleby))) {
var IID = invtr[drag.id][0];
if (IID > 0) {
var img = INVENTORY[IID].itemButton.img[0];
if (img.isLoaded === 0) img = INVENTORY2[IID].itemButton.img[0];
ctx.globalAlpha = 0.7;
var width = 68 * scaleby;
ctx.drawImage(img, (Mouse.x * scaleby) - (width / 2), (Mouse.y * scaleby) - (width / 2), width, width);
ctx.globalAlpha = 1;
}
} else if ((MmV !== -1) && (invtr[MmV][0] !== 0)) {
if (MmV < 10) drawDarkBox(invtr[MmV][0], _x + (MVM * MmV), _y - (79 * scaleby));
else if (MmV < 13) drawDarkBox(invtr[MmV][0], BUTTON_BAG.pos.x - (200 * scaleby), BUTTON_BAG.pos.y + (MVM * (-1 + ((10 - MmV) % 3))));
else drawDarkBox(invtr[MmV][0], (BUTTON_BAG.pos.x - (200 * scaleby)) - MVM, BUTTON_BAG.pos.y + (MVM * (-1 + ((10 - MmV) % 3))));
}
};
function _GaugesAfter(offsetX, offsetY) {
var level = World.PLAYER.level;
if (NmWnM[level] === window.undefined) {
NmWnM[level] = {
img: GUI.renderText("" + level, "'Black Han Sans', sans-serif", "#ffffff", 44, 250, window.undefined, 18, 15, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 15)
};
NmWnM[level].img.isLoaded = 1;
}
CanvasUtils.drawImageHd(NmWnM[level], (offsetX / scaleby) + 234, (offsetY / scaleby) + 79, 0, 0, 0, 1);
var rad = World.gauges.rad;
var value = 1 - (rad.current / rad._max);
CanvasUtils.drawImageHd(wmmvv, 38 + (offsetX / scaleby), 37 + (offsetY / scaleby), window.Math.PI * value, 0, 0, 1);
};
function _Gauges(offsetX, offsetY) {
var life = World.gauges.life;
var value = life.current / life._max;
CanvasUtils.fillRect(ctx, (offsetX / scaleby) + 14, (offsetY / scaleby) + 71, value * 189, 16, COLOR_LIGHTGREEN);
//if (MOD.showHP) CanvasUtils.fillText(ctx, Math.floor(life.current), offsetX / scaleby + 100, offsetY / scaleby + 84, '#FFFFFF', '24px Black Han Sans');
var food = World.gauges.food;
var value = food.current / food._max;
CanvasUtils.fillRect(ctx, (offsetX / scaleby) + 13, (offsetY / scaleby) + 162, 54, -value * 63, COLOR_ORANGE);
var cold = World.gauges.cold;
var value = cold.current / cold._max;
CanvasUtils.fillRect(ctx, (offsetX / scaleby) + 81, (offsetY / scaleby) + 162, 54, -value * 63, COLOR_LIGHTBLUE);
var stamina = World.gauges.stamina;
var value = stamina.current / stamina._max;
CanvasUtils.fillRect(ctx, (offsetX / scaleby) + 150, (offsetY / scaleby) + 162, 54, -value * 63, COLOR_YELLOW);
var xp = World.gauges.xp;
var value = xp.current / xp._max;
CanvasUtils.fillRect(ctx, (offsetX / scaleby) + 226, (offsetY / scaleby) + 172, 16, -value * 77, COLOR_WHITE);
var elapsedTime = World.updateHour();
var img;
var wnvmV;
if (elapsedTime >= 10000000) {
if (WmVNn.isLoaded !== 1) {
WmVNn = CanvasUtils.loadImage(IMG_NIGHT_CLOCK, WmVNn);
return;
}
elapsedTime -= 10000000;
img = WmVNn;
wnvmV = nMmvV;
} else {
if (nvvVW.isLoaded !== 1) {
nvvVW = CanvasUtils.loadImage(IMG_DAY_CLOCK, nvvVW);
return;
}
img = nvvVW;
wnvmV = VWmVV;
}
var width = (scaleby * img.width) / 2;
var height = (scaleby * img.height) / 2;
ctx.drawImage(img, offsetX + (100 * scaleby), offsetY + (14 * scaleby), width, height);
CanvasUtils.drawImageHd(wnvmV, 144.5 + (offsetX / scaleby), (offsetY / scaleby) + 56, elapsedTime * mWvNn, 0, 0, 1);
var LifeNumberLabel = null;
// Life Value Label
if (MOD.ShowHP) {
if (LifeNumberLabel === null) LifeNumberLabel = GUI.renderText(~~life.current, "'Viga', sans-serif", "#00FF00", 25, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 10);
var img2 = LifeNumberLabel;
var width = (scaleby * img2.width) / 2.1;
var height = (scaleby * img2.height) / 2.1;
var posx = offsetX + (100 * scaleby);
var posy = offsetY + (14 * scaleby);
ctx.drawImage(img2, posx, posy, width, height);
}
};
function _Leaderboard(offsetX, offsetY) {
var leaderboard = World.leaderboard;
var players = World.players;
var nWnWm = -1;
if (World.newLeaderboard === 1) {
nWnWm = 1;
World.newLeaderboard = 0;
context2dF.clearRect(0, 0, Vwwmw, nvnwM);
for (var i = 0;
(i < leaderboard.length) && (leaderboard[i] !== 0); i++) {
var PLAYER = players[leaderboard[i]];
if (World.PLAYER.id === leaderboard[i]) nWnWm = 0;
if (PLAYER.nickname === 0) break;
if (PLAYER.leaderboardLabel === null) {
if (PLAYER.id === World.PLAYER.id) PLAYER.leaderboardLabel = GUI.renderText(PLAYER.nickname, "'Viga', sans-serif", "#D6C823", 40, 350, window.undefined, 0, 12);
else PLAYER.leaderboardLabel = GUI.renderText(PLAYER.nickname, "'Viga', sans-serif", "#ffffff", 40, 350, window.undefined, 0, 12);
}
if (PLAYER.scoreLabel === null) {
if (PLAYER.id === World.PLAYER.id) PLAYER.scoreLabel = GUI.renderText(PLAYER.scoreSimplified, "'Viga', sans-serif", "#D6C823", 40, 150, window.undefined, 5, 12);
else PLAYER.scoreLabel = GUI.renderText(PLAYER.scoreSimplified, "'Viga', sans-serif", "#ffffff", 40, 150, window.undefined, 5, 12);
}
if ((PLAYER.leaderboardLabel.width !== 0) && (PLAYER.leaderboardLabel.height !== 0)) context2dF.drawImage(PLAYER.leaderboardLabel, 90, 114 + (i * 50), PLAYER.leaderboardLabel.width, PLAYER.leaderboardLabel.height);
context2dF.drawImage(PLAYER.scoreLabel, 484, 114 + (i * 50), PLAYER.scoreLabel.width, PLAYER.scoreLabel.height);
var img = KARMA[PLAYER.KARMA].img;
if (img.isLoaded === 1) context2dF.drawImage(img, 612, 114 + (i * 50), img.width, img.height);
}
World.PLAYER.inLeaderboard = nWnWm;
if (nWnWm === 1) {
var img = KARMA[World.PLAYER.KARMA].img;
if (img.isLoaded === 1) context2dF.drawImage(img, 375, 645, img.width * 1.5, img.height * 1.5);
}
}
var score = World.PLAYER.exp;
if ((nWnWm === 1) || ((World.PLAYER.inLeaderboard === 1) && (score !== World.PLAYER.lastScore))) {
var PLAYER = players[World.PLAYER.id];
context2dF.clearRect(480, 657, 112, 60);
if (score !== World.PLAYER.lastScore) {
World.PLAYER.lastScore = score;
PLAYER.scoreLabel = GUI.renderText(MathUtils.simplifyNumber(score), "'Viga', sans-serif", "#ffffff", 40, 150, window.undefined, 5, 12);
}
context2dF.drawImage(PLAYER.scoreLabel, 484, 662, PLAYER.scoreLabel.width, PLAYER.scoreLabel.height);
}
ctx.drawImage(canvasF, offsetX, offsetY, (Vwwmw / 3) * scaleby, (nvnwM / 3) * scaleby);
};
function _BigMinimap(map, BUTTON_CLOSE_BOX) {
var width = Width_410 * scaleby;
var height = Height_410 * scaleby;
var offsetX = canw2 - (width / 2);
var offsetY = window.Math.max(canh2 - (height / 2), 0);
var wX_Scale = offsetX / scaleby;
var wY_Scale = offsetY / scaleby;
var mvMnV = Width_410 / worldWidthFull;
var _buttonInv = Height_410 / worldHeightFull;
BUTTON_CLOSE_BOX.pos.x = window.Math.floor((offsetX + width) + (0 * scaleby));
BUTTON_CLOSE_BOX.pos.y = window.Math.floor(offsetY + (0 * scaleby));
map.draw();
var cities = World.PLAYER.cities;
var len = cities.length / 2;
if (len > 0) {
_y = window.Math.floor((offsetY / scaleby) + window.Math.min(window.Math.max(10, cities[0] * _buttonInv), 400));
_x = window.Math.floor((offsetX / scaleby) + window.Math.min(window.Math.max(10, cities[1] * mvMnV), 400));
CanvasUtils.drawImageHd(cityiconmap, _x, _y, 0, 0, 0, 1);
for (var i = 1; i < len; i++) {
_y = window.Math.floor((offsetY / scaleby) + window.Math.min(window.Math.max(10, cities[i * 2] * _buttonInv), 400));
_x = window.Math.floor((offsetX / scaleby) + window.Math.min(window.Math.max(10, cities[1 + (i * 2)] * mvMnV), 400));
CanvasUtils.drawImageHd(houseiconmap, _x, _y, 0, 0, 0, 1);
}
}
if (World.gameMode === World.__BR__) {
var wwwmm = wX_Scale + (Width_410 / 2);
var vnvWw = wY_Scale + (Height_410 / 2);
CanvasUtils.drawImageHd(MWNMV, wwwmm, vnvWw, 0, 0, 0, 2);
ctx.globalAlpha = (mWWwn > 600) ? MathUtils.Ease.inOutQuad((1200 - mWWwn) / 600) : MathUtils.Ease.inOutQuad(mWWwn / 600);
CanvasUtils.drawImageHd(MMvWn, wwwmm, vnvWw, 0, 0, 0, 2);
ctx.globalAlpha = 1;
}
BUTTON_CLOSE_BOX.draw();
if ((World.PLAYER.team !== -1) || (World.PLAYER.ghoul !== 0) && (World.playerAlive < 6)) {
var players = Entitie.units[__ENTITIE_PLAYER__];
for (var i = 0; i < World.PLAYER.teamLength; i++) {
var nmmvN = World.PLAYER.teamPos[i];
if (nmmvN.old < 0) continue;
var PLAYER = World.players[nmmvN.id];
var _x = window.Math.floor(wX_Scale + window.Math.min(window.Math.max(10, PLAYER.rx * mvMnV), 400));
var _y = window.Math.floor(wY_Scale + window.Math.min(window.Math.max(10, PLAYER.ry * mvMnV), 400));
var angle;
if (frameId === (PLAYER.frameId + 1)) angle = players[PLAYER.locatePlayer].angle;
else angle = PLAYER.x % PI2;
CanvasUtils.drawImageHd(arrowiconmap, _x, _y, angle, 0, 0, 1);
if (MOD.drawNamesOnMap && PLAYER.nicknameLabel != null)
ctx.drawImage(PLAYER.nicknameLabel, _x * scaleby - 3.5 * PLAYER.nickname.length, _y * scaleby - 35, 7 * PLAYER.nickname.length, 20);
}
}
var _x = window.Math.floor((offsetX / scaleby) + window.Math.min(window.Math.max(10, NmM * mvMnV), 400));
var _y = window.Math.floor((offsetY / scaleby) + window.Math.min(window.Math.max(10, WWV * _buttonInv), 400));
CanvasUtils.drawImageHd(arrowiconmap2, _x, _y, Mouse.angle, 0, 0, 1);
if (MOD.drawNamesOnMap) ctx.drawImage(World.players[World.PLAYER.id].nicknameLabel, _x * scaleby - 3.5 * World.players[World.PLAYER.id].nickname.length, _y * scaleby - 35, 7 * World.players[World.PLAYER.id].nickname.length, 20);
if (World.PLAYER.badKarmaDelay > 0) {
var PLAYER = World.players[World.PLAYER.badKarma];
CanvasUtils.drawImageHd(KARMA[PLAYER.KARMA], window.Math.floor(wX_Scale + window.Math.min(window.Math.max(10, PLAYER.rx * mvMnV), 400)), window.Math.floor(wY_Scale + window.Math.min(window.Math.max(10, PLAYER.ry * mvMnV), 400)), 0, 0, 0, 1.25);
}
};
function _AlertServer() {
if (Home.alertDelay > 0) {
if (Home.alertDelay > 2500) ctx.globalAlpha = MathUtils.Ease.inOutQuad((3000 - Home.alertDelay) / 500);
else if (Home.alertDelay > 500) ctx.globalAlpha = 1;
else ctx.globalAlpha = MathUtils.Ease.inOutQuad(Home.alertDelay / 500);
if (Home.alertId === 0) CanvasUtils.drawImageHd(alertClientOld, canw2ns, alertClientOld.img.h2 / 2, 0, 0, 0, 1);
else if (Home.alertId === 1) CanvasUtils.drawImageHd(alertServerOld, canw2ns, alertServerOld.img.h2 / 2, 0, 0, 0, 1);
else if (Home.alertId === 2) CanvasUtils.drawImageHd(alertFull, canw2ns, alertFull.img.h2 / 2, 0, 0, 0, 1);
else if (Home.alertId === 3) CanvasUtils.drawImageHd(alertServerWrong, canw2ns, alertServerWrong.img.h2 / 2, 0, 0, 0, 1);
ctx.globalAlpha = 1;
Home.alertDelay -= delta;
}
};
function nmwmn(offsetX, offsetY) {
if (teambox.isLoaded !== 1) {
teambox = CanvasUtils.loadImage(IMG_INVITATION_BOX, teambox);
return;
}
Game.acceptMember.pos.x = offsetX + (241 * scaleby);
Game.acceptMember.pos.y = offsetY + (6 * scaleby);
Game.refuseMember.pos.x = offsetX + (290 * scaleby);
Game.refuseMember.pos.y = offsetY + (6 * scaleby);
if ((World.PLAYER.teamJoin !== 0) || (World.PLAYER.teamEffect > 0)) {
if (World.PLAYER.teamJoin !== 0) {
if (World.PLAYER.teamEffect < 333) {
ctx.globalAlpha = World.PLAYER.teamEffect / 333;
World.PLAYER.teamEffect += delta;
}
} else {
ctx.globalAlpha = World.PLAYER.teamEffect / 333;
World.PLAYER.teamEffect = window.Math.max(0, World.PLAYER.teamEffect - delta);
}
var PLAYER = World.players[World.PLAYER.teamJoin];
if (PLAYER.nicknameLabel === null) PLAYER.nicknameLabel = GUI.renderText(PLAYER.nickname, "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
ctx.drawImage(teambox, offsetX, offsetY, scaleby * teambox.wh, scaleby * teambox.h2);
if ((PLAYER.nicknameLabel.width !== 0) && (PLAYER.nicknameLabel.height !== 0)) ctx.drawImage(PLAYER.nicknameLabel, offsetX + (20 * scaleby), offsetY + (6 * scaleby), PLAYER.nicknameLabel.wh * scaleby, PLAYER.nicknameLabel.h2 * scaleby);
Game.acceptMember.draw();
Game.refuseMember.draw();
if (World.PLAYER.teamEffect < 333) ctx.globalAlpha = 1;
}
};
function _TimerGhoul(offsetX, offsetY, wNWnn) {
World.PLAYER.nextAreas -= delta;
var duration = window.Math.max(0, window.Math.floor(World.PLAYER.nextAreas / 1000));
if (duration < 3000) {
CanvasUtils.drawImageHd(timeleft, (offsetX / scaleby) + 51, (offsetY / scaleby) + 145, 0, 0, 0, 1);
if (wVVVn[duration] === window.undefined) {
if ((wNWnn === 1) && (wVVVn[duration + 1] !== window.undefined)) wVVVn[duration + 1] = window.undefined;
var wWvWM = window.Math.floor(duration / 60);
var NNvMn = duration % 60;
wVVVn[duration] = {
img: GUI.renderText((((((wWvWM < 10) ? "0" : "") + wWvWM) + ":") + ((NNvMn < 10) ? "0" : "")) + NNvMn, "'Viga', sans-serif", "#FF0000", 38, 100, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12)
};
wVVVn[duration].img.isLoaded = 1;
}
CanvasUtils.drawImageHd(wVVVn[duration], (offsetX / scaleby) + 60, (offsetY / scaleby) + 145, 0, 0, 0, 1);
}
};
function _AliveGhoul(offsetX, offsetY) {
CanvasUtils.drawImageHd(WvWnV, ((offsetX / scaleby) + canwns) - 63, 25 + (offsetY / scaleby), 0, 0, 0, 1);
if (playerAlive[World.playerAlive] === window.undefined) {
playerAlive[World.playerAlive] = {
img: GUI.renderText("#" + World.playerAlive, "'Viga', sans-serif", "#FFFFFF", 60, 140)
};
playerAlive[World.playerAlive].img.isLoaded = 1;
}
CanvasUtils.drawImageHd(playerAlive[World.playerAlive], ((offsetX / scaleby) + canwns) - 50, 25 + (offsetY / scaleby), 0, 0, 0, 1);
};
function _Minimap(offsetX, offsetY) {
nmwmn(offsetX + (250 * scaleby), offsetY);
if (minimap.isLoaded !== 1) {
minimap = CanvasUtils.loadImage(IMG_MAP_BORDER, minimap);
return;
}
var mnmvW = nwMnv * NmM;
var vNwWN = nwMnv * WWV;
var sx = window.Math.min(window.Math.max(0, mnmvW - WWn), vvVMV);
var sy = window.Math.min(window.Math.max(0, vNwWN - WWn), vvVMV);
var width = WWn * scaleby;
ctx.drawImage(minimap, sx, sy, mVmWm, mVmWm, offsetX, offsetY, width, width);
if (World.gameMode === World.__GHOUL__) {
if (World.PLAYER.ghoul !== 0) _AliveGhoul(-255, offsetY);
else _TimerGhoul(offsetX + 50, offsetY, 1);
}
if (World.gameMode === World.__BR__) {
var wVvnN = World.PLAYER.toxicMap[window.Math.floor(WWV / NnWnv)][window.Math.floor(NmM / NnWnv)];
if (((wVvnN !== 0) && (wVvnN < World.PLAYER.toxicStep)) && (World.PLAYER.toxicStep !== 8)) {
shakeMagnitude = window.Math.min(1000, shakeMagnitude + delta);
ctx.globalAlpha = MathUtils.Ease.inQuad(shakeMagnitude / 500);
CanvasUtils.drawImageHd(WWmMW, canw2ns, 58, 0, 0, 0, 1);
ctx.globalAlpha = 1;
} else if (shakeMagnitude > 0) {
shakeMagnitude = window.Math.max(0, shakeMagnitude - delta);
ctx.globalAlpha = MathUtils.Ease.inQuad(shakeMagnitude / 500);
CanvasUtils.drawImageHd(WWmMW, canw2ns, 58, 0, 0, 0, 1);
ctx.globalAlpha = 1;
}
ctx.drawImage(MWNMV.img, sx / 2, sy / 2, WWn, WWn, offsetX, offsetY, width, width);
ctx.globalAlpha = (mWWwn > 600) ? MathUtils.Ease.inOutQuad((1200 - mWWwn) / 600) : MathUtils.Ease.inOutQuad(mWWwn / 600);
mWWwn = (mWWwn + delta) % 1200;
ctx.drawImage(MMvWn.img, sx / 2, sy / 2, WWn, WWn, offsetX, offsetY, width, width);
ctx.globalAlpha = 1;
_AliveGhoul(0, offsetY);
_TimerGhoul(offsetX, offsetY, 0);
} else if (World.PLAYER.ghoul === 0) {
if (World.gauges.rad.decrease === 1) {
WNmVW = window.Math.min(1000, WNmVW + delta);
ctx.globalAlpha = MathUtils.Ease.inQuad(WNmVW / 500);
CanvasUtils.drawImageHd(VmWNN, canw2ns, 58, 0, 0, 0, 1);
ctx.globalAlpha = 1;
} else if (WNmVW > 0) {
WNmVW = window.Math.max(0, WNmVW - delta);
ctx.globalAlpha = MathUtils.Ease.inQuad(WNmVW / 500);
CanvasUtils.drawImageHd(VmWNN, canw2ns, 58, 0, 0, 0, 1);
ctx.globalAlpha = 1;
}
}
if (sx >= vvVMV) mnmvW = window.Math.min(((mnmvW - VnvWV) / 2) + nWWwM, WWn - 8);
else if (mnmvW < WWn) mnmvW = window.Math.max(15, mnmvW / 2);
else mnmvW = nWWwM;
if (sy >= vvVMV) vNwWN = window.Math.min(((vNwWN - VnvWV) / 2) + nWWwM, WWn - 8);
else if (vNwWN < WWn) vNwWN = window.Math.max(15, vNwWN / 2);
else vNwWN = nWWwM;
var wX_Scale = offsetX / scaleby;
var wY_Scale = offsetY / scaleby;
if ((World.PLAYER.team !== -1) || ((World.PLAYER.ghoul !== 0) && (World.playerAlive < 6))) {
var players = Entitie.units[__ENTITIE_PLAYER__];
for (var i = 0; i < World.PLAYER.teamLength; i++) {
var nmmvN = World.PLAYER.teamPos[i];
if (nmmvN.old < 0) continue;
var PLAYER = World.players[nmmvN.id];
var angle;
if (frameId === (PLAYER.frameId + 1)) {
var WMv = players[PLAYER.locatePlayer];
if (Math2d.fastDist(PLAYER.rx, PLAYER.ry, WMv.x, WMv.y) < 1000) {
PLAYER.rx = WMv.x;
PLAYER.ry = WMv.y;
}
PLAYER.x = WMv.x;
PLAYER.y = WMv.y;
angle = WMv.angle;
} else var angle = PLAYER.x % PI2;
var _x = wX_Scale + window.Math.max(15, window.Math.min(WWn - 15, (mnmvW - 3) + ((PLAYER.rx - NmM) * nwMnv)));
var _y = wY_Scale + window.Math.max(15, window.Math.min(WWn - 15, (vNwWN - 3) + ((PLAYER.ry - WWV) * nwMnv)));
CanvasUtils.drawImageHd(arrowiconmap, _x, _y, angle, 0, 0, 1);
}
}
if (World.PLAYER.badKarmaDelay > 0) {
var PLAYER = World.players[World.PLAYER.badKarma];
if (frameId === (PLAYER.frameId + 1)) {
var players = Entitie.units[__ENTITIE_PLAYER__];
var WMv = players[PLAYER.locatePlayer];
if (Math2d.fastDist(PLAYER.rx, PLAYER.ry, WMv.x, WMv.y) < 1000) {
PLAYER.rx = WMv.x;
PLAYER.ry = WMv.y;
}
PLAYER.x = WMv.x;
PLAYER.y = WMv.y;
}
CanvasUtils.drawImageHd(KARMA[PLAYER.KARMA], wX_Scale + window.Math.max(15, window.Math.min(WWn - 15, (mnmvW - 3) + ((PLAYER.rx - NmM) * nwMnv))), wY_Scale + window.Math.max(15, window.Math.min(WWn - 15, (vNwWN - 3) + ((PLAYER.ry - WWV) * nwMnv))), 0, 0, 0, 1.25);
}
var _x = wX_Scale + (mnmvW - 3);
var _y = wY_Scale + (vNwWN - 3);
CanvasUtils.drawImageHd(arrowiconmap2, _x, _y, Mouse.angle, 0, 0, 1);
if ((World.PLAYER.ghoul === 0) && ((World.PLAYER.skillPoint > 0) || (wnW.effect > 0))) {
var move = (wnW.move + delta) % 1000;
wnW.move = move;
if (wnW.move < 500) offsetX += 260 + (15 * MathUtils.Ease.inOutQuad(move / 500));
else offsetX += 260 + (15 * MathUtils.Ease.inOutQuad((1000 - move) / 500));
ctx.globalAlpha = MathUtils.Ease.inQuad(wnW.effect);
CanvasUtils.drawImageHd(wnW, offsetX, offsetY + 31, 0, 0, 0, 1);
ctx.globalAlpha = 1;
if ((World.PLAYER.skillPoint <= 0) || (Game.getSkillBoxState() === 1)) wnW.effect = window.Math.max(0, wnW.effect - (delta / 500));
else if (wnW.effect < 1) wnW.effect = window.Math.min(1, wnW.effect + (delta / 500));
}
};
var teamName = "";
var nNmVw = null;
function _Team(BUTTON_CLOSE_BOX, VWwmm, mMnVm, wwVMn, NnvmN, mvNMv, WvvvV, deleteTeam) {
var offsetX = 0;
var offsetY = 0;
if (World.PLAYER.team === -1) {
var teamNameValid = 1;
if (Game.teamName.length === 0) teamNameValid = 0;
else {
for (var i = 0; i < World.teams.length; i++) {
if (World.teams[i].name === Game.teamName) {
teamNameValid = 0;
break;
}
}
}
World.PLAYER.teamNameValid = teamNameValid;
offsetX = VWwmm.pos.x;
offsetY = VWwmm.pos.y;
VWwmm.draw();
BUTTON_CLOSE_BOX.pos.x = offsetX + (513 * scaleby);
BUTTON_CLOSE_BOX.pos.y = offsetY + (2 * scaleby);
if (teamName !== Game.teamName) {
teamName = Game.teamName;
nNmVw = GUI.renderText(teamName, "'Viga', sans-serif", "#FFFFFF", 30, 400);
}
if ((nNmVw !== null) && (teamName.length !== 0)) {
CanvasUtils.fillRect(ctx, (offsetX / scaleby) + 39, (offsetY / scaleby) + 14, 122, 16.5, "#000000");
ctx.drawImage(nNmVw, offsetX + (35 * scaleby), offsetY + (14.5 * scaleby), nNmVw.wh * scaleby, nNmVw.h2 * scaleby);
}
NnvmN.pos.x = offsetX + (172 * scaleby);
NnvmN.pos.y = offsetY + (6 * scaleby);
if ((teamNameValid === 0) || ((window.Date.now() - World.PLAYER.teamCreateDelay) < 30500)) {
NnvmN.setState(GUI.__BUTTON_OUT__);
ctx.globalAlpha = 0.5;
NnvmN.draw();
ctx.globalAlpha = 1;
} else NnvmN.draw();
var j = 0;
for (var i = 0; i < 18; i++) {
var team = World.teams[i];
if (team.leader === 0) continue;
if (team.label === null) team.label = GUI.renderText(team.name, "'Viga', sans-serif", "#FFFFFF", 30, 400);
ctx.drawImage(team.label, offsetX + ((20 + ((j % 3) * 163)) * scaleby), offsetY + ((58.5 + (window.Math.floor(j / 3) * 36)) * scaleby), team.label.wh * scaleby, team.label.h2 * scaleby);
var wm = Game.join[j];
wm.pos.x = offsetX + ((84 + ((j % 3) * 163)) * scaleby);
wm.pos.y = offsetY + ((48 + (window.Math.floor(j / 3) * 36)) * scaleby);
if ((window.Date.now() - World.PLAYER.teamDelay) < 10500) {
wm.setState(GUI.__BUTTON_OUT__);
ctx.globalAlpha = 0.5;
wm.draw();
ctx.globalAlpha = 1;
} else wm.draw();
j++;
}
} else {
offsetX = mMnVm.pos.x;
offsetY = mMnVm.pos.y;
var team = World.teams[World.PLAYER.team];
if (team.label === null) team.label = GUI.renderText(team.name, "'Viga', sans-serif", "#FFFFFF", 30, 400);
ctx.drawImage(team.label, offsetX + (144 * scaleby), offsetY + (13 * scaleby), team.label.wh * scaleby, team.label.h2 * scaleby);
mMnVm.draw();
BUTTON_CLOSE_BOX.pos.x = offsetX + (512 * scaleby);
BUTTON_CLOSE_BOX.pos.y = offsetY + (34.5 * scaleby);
if (World.PLAYER.teamLeader === 1) {
if (World.PLAYER.teamLocked === 0) {
mvNMv.pos.x = offsetX + (259 * scaleby);
mvNMv.pos.y = offsetY + (5 * scaleby);
mvNMv.draw();
} else {
WvvvV.pos.x = offsetX + (259 * scaleby);
WvvvV.pos.y = offsetY + (5 * scaleby);
WvvvV.draw();
}
deleteTeam.pos.x = offsetX + (311.5 * scaleby);
deleteTeam.pos.y = offsetY + (5 * scaleby);
deleteTeam.draw();
var j = 0;
for (var i = 0; i < World.players.length; i++) {
var PLAYER = World.players[i];
if ((team.uid !== PLAYER.teamUid) || (PLAYER.team !== team.id)) continue;
if (PLAYER.nicknameLabel === null) PLAYER.nicknameLabel = GUI.renderText(PLAYER.nickname, "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
if ((PLAYER.nicknameLabel.width !== 0) && (PLAYER.nicknameLabel.height !== 0)) ctx.drawImage(PLAYER.nicknameLabel, offsetX + ((26 + ((j % 3) * 166.5)) * scaleby), offsetY + ((53 + (window.Math.floor(j / 3) * 29.5)) * scaleby), (PLAYER.nicknameLabel.wh * scaleby) / 2.2, (PLAYER.nicknameLabel.h2 * scaleby) / 2.2);
var wm = Game.kick[j];
wm.pos.x = offsetX + ((132 + ((j % 3) * 166.5)) * scaleby);
wm.pos.y = offsetY + ((48.5 + (window.Math.floor(j / 3) * 29.5)) * scaleby);
if (((window.Date.now() - World.PLAYER.teamDelay) < 10500) || (PLAYER.id === World.PLAYER.id)) {
wm.setState(GUI.__BUTTON_OUT__);
ctx.globalAlpha = 0.5;
wm.draw();
ctx.globalAlpha = 1;
} else wm.draw();
j++;
}
} else {
wwVMn.pos.x = offsetX + (311.5 * scaleby);
wwVMn.pos.y = offsetY + (5 * scaleby);
wwVMn.draw();
var j = 0;
for (var i = 0; i < World.players.length; i++) {
var PLAYER = World.players[i];
if ((team.uid !== PLAYER.teamUid) || (PLAYER.team !== team.id)) continue;
if (PLAYER.nicknameLabel === null) PLAYER.nicknameLabel = GUI.renderText(PLAYER.nickname, "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
if ((PLAYER.nicknameLabel.width !== 0) && (PLAYER.nicknameLabel.height !== 0)) ctx.drawImage(PLAYER.nicknameLabel, offsetX + ((26 + ((j % 3) * 166.5)) * scaleby), offsetY + ((53 + (window.Math.floor(j / 3) * 29.5)) * scaleby), (PLAYER.nicknameLabel.wh * scaleby) / 2.2, (PLAYER.nicknameLabel.h2 * scaleby) / 2.2);
j++;
}
}
}
BUTTON_CLOSE_BOX.draw();
};
function _Chest(BACKGROUND_CHESTBOX, BUTTON_CLOSE_BOX, inventoryItemNumber, inventoryAmmoNumber) {
BACKGROUND_CHESTBOX.draw();
var offsetX = BACKGROUND_CHESTBOX.pos.x;
var offsetY = BACKGROUND_CHESTBOX.pos.y;
BUTTON_CLOSE_BOX.pos.x = offsetX + (161 * scaleby);
BUTTON_CLOSE_BOX.pos.y = offsetY + (0 * scaleby);
BUTTON_CLOSE_BOX.draw();
var chest = World.PLAYER.chest;
var _x;
var _y = offsetY + (14 * scaleby);
var wm = Game.chest;
for (var i = 0; i < 4; i++) {
if ((i % 2) === 0) {
_x = offsetX + (12.5 * scaleby);
if (i === 2) _y += 71 * scaleby;
} else _x += 72 * scaleby;
if (chest[i][0] === 0) continue;
_buttonInv(wm[i], chest[i], _x, _y, inventoryItemNumber, inventoryAmmoNumber);
}
};
function vMwNm() {
var mmMnV = vertst;
if (mmMnV > 0) CanvasUtils.fillRect(ctx, 0, 0, mmMnV, canhns, GROUND);
else mmMnV = 0;
var wvnWn = horist;
if (wvnWn > 0) CanvasUtils.fillRect(ctx, mmMnV, 0, canwns - mmMnV, wvnWn, GROUND);
else wvnWn = 0;
var Mwwnn = (-vertst + canwns) - worldWidthFull;
if (Mwwnn > 0) CanvasUtils.fillRect(ctx, canwns - Mwwnn, wvnWn, Mwwnn, canhns - wvnWn, GROUND);
else Mwwnn = 0;
var nNnMV = (-horist + canhns) - worldHeightFull;
if (nNnMV > 0) CanvasUtils.fillRect(ctx, mmMnV, canhns - nNnMV, (canwns - mmMnV) - Mwwnn, nNnMV, GROUND);
};
function itemstatsfunc(canvasElements, id) {
var playerGauges = INVENTORY[id];
var detail = playerGauges.detail;
var _name = GUI.renderText(detail.name, "'Viga', sans-serif", "#D3BB43", 30, 400);
canvasElements.drawImage(_name, 20, 20);
_name = GUI.renderText(detail.description, "'Viga', sans-serif", "#FFFFFF", 16, 400);
canvasElements.drawImage(_name, 20, 68);
if (playerGauges.idWeapon === 21) {
if (playerGauges.damageBuilding > 0) {
_name = GUI.renderText((("Damage: " + playerGauges.damage) + "/") + playerGauges.damageBuilding, "'Viga', sans-serif", "#D3BB43", 24, 400);
canvasElements.drawImage(_name, 20, 101);
} else {
_name = GUI.renderText("Life: " + playerGauges.life, "'Viga', sans-serif", "#D3BB43", 24, 400);
canvasElements.drawImage(_name, 20, 101);
}
} else if ((playerGauges.idWeapon !== window.undefined) && (playerGauges.idWeapon !== 0)) {
var code = "";
var weapon = ENTITIES[__ENTITIE_PLAYER__].weapons[playerGauges.idWeapon];
if (weapon.damage !== window.undefined) {
code = "Damage: " + ((weapon.damageCac === window.undefined) ? weapon.damage : weapon.damageCac);
} else {
if (weapon.food !== 0) code += ("Food: " + weapon.food) + " ";
if (weapon.heal < 0) code += ("Damage: " + weapon.heal) + " ";
else if (weapon.heal > 0) code += ("Heal: " + weapon.heal) + " ";
if (weapon.energy !== 0) code += "Energy: " + weapon.energy;
}
_name = GUI.renderText(code, "'Viga', sans-serif", "#D3BB43", 24, 400);
canvasElements.drawImage(_name, 20, 101);
} else if (playerGauges.idClothe !== window.undefined) {} else {
_name = GUI.renderText("Cannot be equipped", "'Viga', sans-serif", "#FFFFFF", 17, 400);
canvasElements.drawImage(_name, 20, 108);
}
};
function BuildingStats(canvasElements, building) {
var id = building.pid;
var PLAYER = World.players[id];
var team = World.teams[PLAYER.team];
var ownerName = PLAYER && PLAYER.nickname !== undefined ? PLAYER.nickname : id;
var _name = GUI.renderText(ownerName, "'Viga', sans-serif", "#D3BB43", 30, 400);
canvasElements.drawImage(_name, 20, 20);
if (team && team.uid !== undefined && team.uid === PLAYER.teamUid) {
var _name2 = GUI.renderText("Team: " + team.name, "'Viga', sans-serif", "#FFFFFF", 25, 400);
canvasElements.drawImage(_name2, 20, 68);
}
}
function _Craft(BACKGROUND_CRAFTBOX, BUTTON_CLOSE_BOX, skillList, NwnNV, VvvwN, nvmnM, craftList, preview, inventoryItemNumber, inventoryAmmoNumber, BUTTON_FUEL, BUTTON_FUEL1, BUTTON_CELLS, NWmNn) {
BACKGROUND_CRAFTBOX.draw();
var offsetX = BACKGROUND_CRAFTBOX.pos.x;
var offsetY = BACKGROUND_CRAFTBOX.pos.y;
var wX_Scale = offsetX / scaleby;
var wY_Scale = offsetY / scaleby;
BUTTON_CLOSE_BOX.pos.x = offsetX + (594 * scaleby);
BUTTON_CLOSE_BOX.pos.y = offsetY + (0 * scaleby);
BUTTON_CLOSE_BOX.draw();
var craftAvailable = World.PLAYER.craftAvailable;
var recipeAvailable = World.PLAYER.recipeAvailable;
var category = World.PLAYER.craftCategory;
var area = World.PLAYER.craftArea;
for (var i = 0; i < skillList.length; i++) {
var wm = skillList[i];
if (i === category) wm.setState(GUI.__BUTTON_CLICK__);
wm.pos.x = ((10 * scaleby) + offsetX) + ((i * 47) * scaleby);
wm.pos.y = offsetY - (40 * scaleby);
wm.draw();
}
var j = 0;
for (i = 0; i < craftList.length; i++) {
if ((i === area) && (World.PLAYER.isInBuilding === 1)) {} else if ((i !== World.PLAYER.buildingArea) && (i !== 0)) continue;
var wm = craftList[i];
if (i === area) wm.setState(GUI.__BUTTON_CLICK__);
wm.pos.x = offsetX - (40 * scaleby);
wm.pos.y = ((10 * scaleby) + offsetY) + ((j * 43) * scaleby);
wm.draw();
j++;
}
preview.pos.x = offsetX + (364 * scaleby);
preview.pos.y = offsetY + (27 * scaleby);
preview.draw();
var craft = Game.craft;
var len = World.PLAYER.craftLen;
var width = 49 * scaleby;
var height = 49 * scaleby;
var MVM = 58 * scaleby;
var mnMmm = 30 * scaleby;
var NWNmV = 34 * scaleby;
var breath = 1;
if (VnwNw < 500) {
breath += 0.08 * MathUtils.Ease.inQuad(VnwNw / 500);
VnwNw += delta;
} else {
breath += 0.08 * MathUtils.Ease.outQuad(1 - ((VnwNw - 500) / 500));
VnwNw += delta;
if (VnwNw > 1000) VnwNw = 0;
}
breath = window.Math.max(1, window.Math.min(1.08, breath));
for (i = 0; i < len; i++) {
var wm = craft[i];
wm.pos.x = (mnMmm + offsetX) + ((i % 5) * MVM);
wm.pos.y = (NWNmV + offsetY) + (window.Math.floor(i / 5) * MVM);
var availableRecip = craftAvailable[i];
if (availableRecip === 0) {
ctx.globalAlpha = 0.45;
wm.draw();
ctx.globalAlpha = 1;
} else if (availableRecip === 2) {
wm.setState(GUI.__BUTTON_IN__);
wm.draw();
} else {
ctx.globalAlpha = 0.6;
CanvasUtils.drawImageHd(STROKE_BONUS, (wm.pos.x / scaleby) + 24.5, (wm.pos.y / scaleby) + 24.5, 0, 0, 0, breath);
ctx.globalAlpha = 1;
wm.draw();
}
}
var Nnv = 0;
if (World.PLAYER.craftCategory === -1) {
if (World.PLAYER.isInBuilding === 1) {
NwnNV.pos.x = offsetX + (454 * scaleby);
NwnNV.pos.y = offsetY + (153 * scaleby);
if (((World.PLAYER.craftAvailable[World.PLAYER.craftIdSelected] === 1) && (World.PLAYER.building.len < 4)) && (World.PLAYER.building.fuel !== 0)) NwnNV.draw();
else {
ctx.globalAlpha = 0.5;
NwnNV.setState(GUI.__BUTTON_OUT__);
NwnNV.draw();
ctx.globalAlpha = 1;
}
} else if (World.PLAYER.crafting === 0) {
NwnNV.pos.x = offsetX + (454 * scaleby);
NwnNV.pos.y = offsetY + (153 * scaleby);
if (World.PLAYER.craftAvailable[World.PLAYER.craftIdSelected] === 1) NwnNV.draw();
else {
ctx.globalAlpha = 0.5;
NwnNV.setState(GUI.__BUTTON_OUT__);
NwnNV.draw();
ctx.globalAlpha = 1;
}
} else {
VvvwN.pos.x = offsetX + (454 * scaleby);
VvvwN.pos.y = offsetY + (153 * scaleby);
VvvwN.draw();
}
if (craftGauge.isLoaded !== 1) {
craftGauge = CanvasUtils.loadImage(IMG_CRAFT_GAUGE, craftGauge);
return;
}
if (World.PLAYER.isInBuilding === 1) {
if ((World.PLAYER.building.time !== 0) && (World.PLAYER.building.fuel !== 0)) {
Nnv = World.PLAYER.building.time - window.Date.now();
if (Nnv < 0) World.PLAYER.building.time = 0;
Nnv = MathUtils.Ease.inOutQuad(1 - (Nnv / World.PLAYER.building.timeMax));
}
} else if (World.PLAYER.crafting !== 0) {
Nnv = World.PLAYER.crafting - window.Date.now();
if (Nnv < 0) World.PLAYER.crafting = 0;
Nnv = MathUtils.Ease.inOutQuad(1 - (Nnv / World.PLAYER.craftingMax));
}
Nnv = window.Math.min(1, window.Math.max(0, Nnv));
width = (scaleby * craftGauge.width) / 2;
height = (scaleby * craftGauge.height) / 2;
var posx = offsetX + (356 * scaleby);
var posy = offsetY + (206 * scaleby);
ctx.fillStyle = "#A29742";
MVM = 3 * scaleby;
mnMmm = 2 * MVM;
ctx.fillRect(window.Math.floor(posx + MVM), window.Math.floor(posy + MVM), window.Math.floor((width - mnMmm) * Nnv), window.Math.floor(height - mnMmm));
ctx.drawImage(craftGauge, posx, posy, width, height);
} else {
var skill = World.PLAYER.craftAvailable[World.PLAYER.craftIdSelected];
nvmnM.pos.x = offsetX + (454 * scaleby);
nvmnM.pos.y = offsetY + (153 * scaleby);
if (skill === 1) nvmnM.draw();
else if (skill === 0) {
ctx.globalAlpha = 0.5;
nvmnM.setState(GUI.__BUTTON_OUT__);
nvmnM.draw();
ctx.globalAlpha = 1;
if (World.PLAYER.craftSelected !== MMNWW) {
context2J.clearRect(0, 0, 420, 148);
MMNWW = World.PLAYER.craftSelected;
var detail = INVENTORY[MMNWW].detail;
var MwNwV = 20;
if (detail.level > World.PLAYER.level) {
var text = GUI.renderText(("Require level " + detail.level) + " or higher", "'Viga', sans-serif", "#D8BA3D", 30, 600);
context2J.drawImage(text, 20, MwNwV);
MwNwV += 50;
}
if ((detail.previous !== -1) && (World.PLAYER.skillUnlocked[detail.previous] === window.undefined)) {
var text = GUI.renderText(("Unlock " + INVENTORY[detail.previous].detail.name) + " before", "'Viga', sans-serif", "#D8BA3D", 30, 600);
context2J.drawImage(text, 20, MwNwV);
MwNwV += 50;
}
if (World.PLAYER.skillPoint < detail.price) {
var text = GUI.renderText((("Cost " + detail.price) + " skill point") + ((detail.price !== 1) ? "s" : ""), "'Viga', sans-serif", "#D8BA3D", 30, 600);
context2J.drawImage(text, 20, MwNwV);
}
}
ctx.drawImage(canvasJ, offsetX + (356 * scaleby), offsetY + (211 * scaleby), (scaleby * canvasJ.width) / 2, (scaleby * canvasJ.height) / 2);
} else {
nvmnM.setState(GUI.__BUTTON_CLICK__);
nvmnM.draw();
}
}
if (World.PLAYER.isInBuilding === 1) {
var amount = World.PLAYER.building.fuel;
if (amount >= 0) {
var wm;
if (((area === AREAS.__SMELTER__) || (area === AREAS.__EXTRACTOR__)) || (area === AREAS.__AGITATOR__)) wm = BUTTON_FUEL1;
else if (area === AREAS.__TESLA__ || area === AREAS.__FEEDER__) wm = BUTTON_CELLS;
else wm = BUTTON_FUEL;
wm.pos.x = offsetX + (532 * scaleby);
wm.pos.y = offsetY + (153 * scaleby);
if (World.PLAYER.building.fuel !== 255) wm.draw();
else {
ctx.globalAlpha = 0.5;
wm.setState(GUI.__BUTTON_OUT__);
wm.draw();
ctx.globalAlpha = 1;
}
if (inventoryAmmoNumber[amount] === window.undefined) {
inventoryAmmoNumber[amount] = {
img: GUI.renderText("x" + amount, "'Black Han Sans', sans-serif", "#FFFF00", 30, 250, window.undefined, 15, 12, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12)
};
inventoryAmmoNumber[amount].img.isLoaded = 1;
}
CanvasUtils.drawImageHd(inventoryAmmoNumber[amount], (wm.pos.x / scaleby) + 42, (wm.pos.y / scaleby) + 42, -0.5, 0, 0, 0.9);
}
var queue = Game.queue;
var WMnmM = World.PLAYER.building.pos;
len = World.PLAYER.building.len;
width = 40 * scaleby;
height = 40 * scaleby;
MVM = 62 * scaleby;
mnMmm = 356 * scaleby;
NWNmV = 237 * scaleby;
for (var i = 0; i < len; i++) {
var wm = queue[i];
if (i === WMnmM) {
if (Nnv !== 0) {
ctx.globalAlpha = 0.6;
CanvasUtils.drawImageHd(STROKE_BONUS, (wm.pos.x / scaleby) + 20, (wm.pos.y / scaleby) + 20, 0, 0, 0, 0.85 * window.Math.max(0.01, window.Math.min(1, Nnv)));
ctx.globalAlpha = 1;
}
} else if (i < WMnmM) {
ctx.globalAlpha = 0.6;
CanvasUtils.drawImageHd(STROKE_BONUS, (wm.pos.x / scaleby) + 20, (wm.pos.y / scaleby) + 20, 0, 0, 0, breath * 0.85);
ctx.globalAlpha = 1;
}
wm.pos.x = (mnMmm + offsetX) + (i * MVM);
wm.pos.y = NWNmV + offsetY;
wm.draw();
}
}
var tools = Game.tools;
len = World.PLAYER.toolsLen;
MVM = 45 * scaleby;
mnMmm = 356 * scaleby;
NWNmV = 151 * scaleby;
for (var i = 0; i < len; i++) {
var wm = tools[i];
wm.pos.x = (mnMmm + offsetX) + (i * MVM);
wm.pos.y = NWNmV + offsetY;
wm.draw();
}
if (World.PLAYER.skillPoint !== wmmVm) {
context2H.clearRect(0, 0, 280, 50);
wmmVm = World.PLAYER.skillPoint;
var text = GUI.renderText("SKILL POINT: " + wmmVm, "'Viga', sans-serif", "#FFFFFF", 32, 400);
context2H.drawImage(text, 24, 12);
}
ctx.drawImage(skillPoint, offsetX + (455 * scaleby), offsetY + (378 * scaleby), (scaleby * skillPoint.width) / 2, (scaleby * skillPoint.height) / 2);
if (World.PLAYER.craftSelected !== mwwNm) {
context2dG.clearRect(0, 0, 280, 148);
mwwNm = World.PLAYER.craftSelected;
itemstatsfunc(context2dG, mwwNm);
}
ctx.drawImage(canvasG, offsetX + (439 * scaleby), offsetY + (24 * scaleby), (scaleby * canvasG.width) / 2, (scaleby * canvasG.height) / 2);
if ((World.PLAYER.skillPoint > 0) || (wvV.effect > 0)) {
var move = (wvV.move + delta) % 1000;
wvV.move = move;
var _y = offsetY / scaleby;
if (wvV.move < 500) _y += -62 - (15 * MathUtils.Ease.inOutQuad(move / 500));
else _y += -62 - (15 * MathUtils.Ease.inOutQuad((1000 - move) / 500));
ctx.globalAlpha = MathUtils.Ease.inQuad(wvV.effect);
CanvasUtils.drawImageHd(wvV, 266 + (BACKGROUND_CRAFTBOX.pos.x / scaleby), _y, 0, 0, 0, 1);
ctx.globalAlpha = 1;
if (World.PLAYER.skillPoint <= 0) wvV.effect = window.Math.max(0, wvV.effect - (delta / 500));
else if (wvV.effect < 1) wvV.effect = window.Math.min(1, wvV.effect + (delta / 500));
}
var recipe = Game.recipe;
len = World.PLAYER.recipeLen;
width = 40 * scaleby;
height = 40 * scaleby;
MVM = 45 * scaleby;
mnMmm = 356 * scaleby;
NWNmV = 107 * scaleby;
for (var i = 0; i < len; i++) {
var wm = recipe[i];
wm.pos.x = (mnMmm + offsetX) + (i * MVM);
wm.pos.y = NWNmV + offsetY;
var amount = window.Math.abs(recipeAvailable[i]);
if (inventoryItemNumber[amount] === window.undefined) {
inventoryItemNumber[amount] = {
img: GUI.renderText("x" + amount, "'Black Han Sans', sans-serif", "#ffffff", 30, 250, window.undefined, 15, 12, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12)
};
inventoryItemNumber[amount].img.isLoaded = 1;
}
if (recipeAvailable[i] < 0) {
ctx.globalAlpha = 0.45;
wm.draw();
CanvasUtils.drawImageHd(inventoryItemNumber[amount], (wm.pos.x / scaleby) + 30, (wm.pos.y / scaleby) + 32, -0.5, 0, 0, 0.9);
ctx.globalAlpha = 1;
} else {
wm.draw();
CanvasUtils.drawImageHd(inventoryItemNumber[amount], (wm.pos.x / scaleby) + 30, (wm.pos.y / scaleby) + 32, -0.5, 0, 0, 0.9);
}
if ((NWmNn === i) && (World.PLAYER.recipeList[i] > 0)) drawDarkBox(World.PLAYER.recipeList[i], wm.pos.x, wm.pos.y + (45 * scaleby));
}
};
function _Config(WWmVM, nmvnW, wMMmv, NNWVW, nMmMw, vNVNN, wvmWv, WmWnm, VNNMW, NVVwW, BUTTON_CLOSE_BOX, WVVMw, vnNWN, MnvNV) {
WWmVM.draw();
var offsetX = WWmVM.pos.x;
var offsetY = WWmVM.pos.y;
BUTTON_CLOSE_BOX.pos.x = offsetX + (265 * scaleby);
BUTTON_CLOSE_BOX.pos.y = offsetY + (0 * scaleby);
BUTTON_CLOSE_BOX.draw();
nMmMw.pos.x = offsetX + (87 * scaleby);
nMmMw.pos.y = offsetY + (15 * scaleby);
if (Keyboard.isAzerty() === 1) nMmMw.setState(GUI.__BUTTON_CLICK__);
nMmMw.draw();
vNVNN.pos.x = offsetX + (173 * scaleby);
vNVNN.pos.y = offsetY + (15 * scaleby);
if (Keyboard.isQwerty() === 1) vNVNN.setState(GUI.__BUTTON_CLICK__);
vNVNN.draw();
NNWVW.pos.x = offsetX + (87 * scaleby);
NNWVW.pos.y = offsetY + (62 * scaleby);
if (CanvasUtils.options.forceResolution === 3) NNWVW.setState(GUI.__BUTTON_CLICK__);
NNWVW.draw();
wMMmv.pos.x = offsetX + (147 * scaleby);
wMMmv.pos.y = offsetY + (62 * scaleby);
if (CanvasUtils.options.forceResolution === 2) wMMmv.setState(GUI.__BUTTON_CLICK__);
wMMmv.draw();
nmvnW.pos.x = offsetX + (207 * scaleby);
nmvnW.pos.y = offsetY + (62 * scaleby);
if (CanvasUtils.options.forceResolution === 1) nmvnW.setState(GUI.__BUTTON_CLICK__);
nmvnW.draw();
wvmWv.pos.x = offsetX + (87 * scaleby);
wvmWv.pos.y = offsetY + (117 * scaleby);
if (AudioUtils.options.isAudio === 1) wvmWv.setState(GUI.__BUTTON_CLICK__);
wvmWv.draw();
WmWnm.pos.x = offsetX + (147 * scaleby);
WmWnm.pos.y = offsetY + (117 * scaleby);
if (AudioUtils.options.isAudio === 0) WmWnm.setState(GUI.__BUTTON_CLICK__);
WmWnm.draw();
VNNMW.pos.x = offsetX + (87 * scaleby);
VNNMW.pos.y = offsetY + (167 * scaleby);
if (AudioUtils.options.isFx === 1) VNNMW.setState(GUI.__BUTTON_CLICK__);
VNNMW.draw();
NVVwW.pos.x = offsetX + (147 * scaleby);
NVVwW.pos.y = offsetY + (167 * scaleby);
if (AudioUtils.options.isFx === 0) NVVwW.setState(GUI.__BUTTON_CLICK__);
NVVwW.draw();
MnvNV.pos.x = offsetX + (87 * scaleby);
MnvNV.pos.y = offsetY + (217 * scaleby);
if (setParticles === 0) MnvNV.setState(GUI.__BUTTON_CLICK__);
MnvNV.draw();
vnNWN.pos.x = offsetX + (147 * scaleby);
vnNWN.pos.y = offsetY + (217 * scaleby);
if (setParticles === 1) vnNWN.setState(GUI.__BUTTON_CLICK__);
vnNWN.draw();
WVVMw.pos.x = offsetX + (207 * scaleby);
WVVMw.pos.y = offsetY + (217 * scaleby);
if (setParticles === 2) WVVMw.setState(GUI.__BUTTON_CLICK__);
WVVMw.draw();
};
function _playerChatMessage(player) {
var PLAYER = World.players[player.pid];
if (PLAYER.text.length > 0) {
for (var i = 0;
(i < PLAYER.text.length) && (i < 2); i++) {
if (!PLAYER.label[i]) {
PLAYER.label[i] = GUI.renderText(PLAYER.text[i], "'Viga', sans-serif", "#ffffff", 32, 1000, "#000000", 33, 19, window.undefined, window.undefined, 0.55, 5);
PLAYER.textEffect[i] = 0;
PLAYER.textMove[i] = 0;
}
if (i === 1) PLAYER.textMove[0] = MathUtils.Ease.inOutQuad(PLAYER.textEase) * 28;
}
wwmww = delta / 1000;
PLAYER.textEffect[0] += wwmww;
if (PLAYER.text.length > 1) {
PLAYER.textEase = window.Math.min(PLAYER.textEase + wwmww, 1);
if ((PLAYER.textEffect[0] > 1) && (PLAYER.textEase > 0.5)) PLAYER.textEffect[1] += wwmww;
}
for (var i = 0;
(i < PLAYER.text.length) && (i < 2); i++) {
var effect = PLAYER.textEffect[i];
if (effect > 0) {
if (effect < 0.25) ctx.globalAlpha = effect * 4;
else if (effect > 4.75) ctx.globalAlpha = window.Math.max((5 - effect) * 5, 0);
else ctx.globalAlpha = 1;
var offsetY = 118;
var img = PLAYER.label[i];
ctx.drawImage(img, 0, 0, img.width, img.height, ((vertst + player.x) - (img.width / 4)) * scaleby, (((horist + player.y) - offsetY) - PLAYER.textMove[i]) * scaleby, (img.width / 2) * scaleby, (img.height / 2) * scaleby);
ctx.globalAlpha = 1;
}
}
if (PLAYER.textEffect[0] > 5) {
PLAYER.textEffect.shift();
PLAYER.text.shift();
PLAYER.textMove.shift();
PLAYER.label.shift();
PLAYER.textEase = 0;
}
}
};
function _playerID(player) {
var PLAYER = World.players[player.pid];
if (((((player.extra & 255) === 16) && (World.PLAYER.admin !== 1)) && (player.pid !== World.PLAYER.id)) && (((PLAYER.team === -1) || (World.teams[PLAYER.team].uid !== PLAYER.teamUid)) || (World.PLAYER.team !== PLAYER.team))) return;
if (PLAYER.playerIdLabel === null) PLAYER.playerIdLabel = GUI.renderText("#" + PLAYER.id, "'Viga', sans-serif", "#FFFFFF", 24, 400, window.undefined, 16, 25, window.undefined, 0.5, window.undefined, window.undefined, "#000000", 5);
var img = PLAYER.playerIdLabel;
var offsetY = 90;
ctx.drawImage(img, ((vertst + player.x) - (img.wh / 2)) * scaleby, ((horist + player.y) - offsetY - 13) * scaleby, img.wh * scaleby, img.h2 * scaleby);
}
function _playerName(player) {
var colorTeam = '#FFFFFF';
var colorEnemy = '#FFFFFF';
if (MOD.ColorizeTeam) { colorTeam = MOD.TeamColor; colorEnemy = MOD.EnemyColor;} else { colorTeam = '#FFFFFF'; colorEnemy = '#FFFFFF';}
var PLAYER = World.players[player.pid];
if (((((player.extra & 255) === 16) && (World.PLAYER.admin !== 1)) && (player.pid !== World.PLAYER.id)) && (((PLAYER.team === -1) || (World.teams[PLAYER.team].uid !== PLAYER.teamUid)) || (World.PLAYER.team !== PLAYER.team))) return;
if (PLAYER.nicknameLabel === null) PLAYER.nicknameLabel = GUI.renderText(PLAYER.nickname, "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
var img = PLAYER.nicknameLabel;
var offsetY = 90;
if (PLAYER.team === -1) ctx.drawImage(img, ((vertst + player.x) - (img.wh / 2)) * scaleby, ((horist + player.y) - offsetY) * scaleby, img.wh * scaleby, img.h2 * scaleby);
else if (PLAYER.team !== -1) {
var team = World.teams[PLAYER.team];
if (team.uid === PLAYER.teamUid) {
if (team.labelNickname === null)
var isInClan = 0;
if (((player.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[player.pid].team)) && (World.players[player.pid].teamUid === World.teams[World.PLAYER.team].uid)))) { isInClan = 1;
team.labelNickname = GUI.renderText(("[" + team.name) + "]", "'Viga', sans-serif", colorTeam, 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
} else team.labelNickname = GUI.renderText(("[" + team.name) + "]", "'Viga', sans-serif", colorEnemy, 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
var wvMMv = team.labelNickname;
ctx.drawImage(wvMMv, ((((vertst + player.x) - (img.wh / 2)) - (wvMMv.wh / 2)) - 0.5) * scaleby, ((horist + player.y) - offsetY) * scaleby, wvMMv.wh * scaleby, wvMMv.h2 * scaleby);
if ((img.width !== 0) && (img.height !== 0)) ctx.drawImage(img, (((vertst + player.x) - (img.wh / 2)) + (wvMMv.wh / 2)) * scaleby, ((horist + player.y) - offsetY) * scaleby, img.wh * scaleby, img.h2 * scaleby);
} else PLAYER.team = -1;
}
// Auto Eat Label
if (MOD.autoEat) {
if (AutoEatLabel === null) AutoEatLabel = GUI.renderText('FOOD', "'Viga', sans-serif", "#00FF00", 20, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 10);
var img = AutoEatLabel;
var offsetY = 90;
ctx.drawImage(img, ((vertst + World.PLAYER.x) - (img.wh / 2)) * scaleby, ((horist + World.PLAYER.y) - offsetY + 32) * scaleby, img.wh * scaleby, img.h2 * scaleby);
}
// Auto Loot Label
if (MOD.autoLoot) {
if (AutoLootLabel === null) AutoLootLabel = GUI.renderText('LOOT', "'Viga', sans-serif", "#FF0000", 20, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 10);
var img = AutoLootLabel;
var offsetY = 90;
ctx.drawImage(img, ((vertst + World.PLAYER.x) - (img.wh / 2)) * scaleby, ((horist + World.PLAYER.y) - offsetY + 21) * scaleby, img.wh * scaleby, img.h2 * scaleby);
}
// Aim Bot Label
if (MOD.AimBotEnable) {
if (AimBotLabel === null) AimBotLabel = GUI.renderText('AIM', "'Viga', sans-serif", "#ad00e3", 20, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 10);
var img = AimBotLabel;
var offsetY = 90;
ctx.drawImage(img, ((vertst + World.PLAYER.x) - ((img.wh - 60) / 2)) * scaleby, ((horist + World.PLAYER.y) - offsetY + 21) * scaleby, img.wh * scaleby, img.h2 * scaleby);
}
};
function vmNmW(tile, i, j, wVNVN, vWMwn, NVWwM, MWMvm) {
var building = BUILDINGS[tile.type];
var img = building.img;
if (img.isLoaded !== 1) {
building.img = CanvasUtils.loadImage(building.src, building.img);
return;
}
var nVNNn = NVWwM - tile.i;
var VwMWn = MWMvm - tile.j;
var nNmvn = (i + building.grid.length) - nVNNn;
var VWMmV = (j + building.grid[0].length) - VwMWn;
var nMNww = 0;
var WvMwV = 0;
for (var _i = i, mmWMW = 0; _i < nNmvn; _i++, mmWMW++) {
if (_i >= VmvVW) {
nMNww = building.grid.length - mmWMW;
break;
}
for (var _j = j, mVvwm = 0; _j < VWMmV; _j++, mVvwm++) {
if (_j >= wWmnn) {
WvMwV = building.grid[0].length - mVvwm;
break;
} else vMnnw[_i][_j] = frameId;
}
}
var offsetX = 0;
var offsetY = 0;
var height = 0;
var width = 0;
if ((nMNww !== 0) || (WvMwV !== 0)) {
offsetX = (((tile.j + VwMWn) * __TILE_SIZE__) + vertst) * scaleby;
offsetY = (((tile.i + nVNNn) * __TILE_SIZE__) + horist) * scaleby;
nVNNn *= 32;
VwMWn *= 32;
height = (img.height - (nMNww * 32)) + nVNNn;
width = (img.width - (WvMwV * 32)) + VwMWn;
} else {
offsetX = (((tile.j + VwMWn) * __TILE_SIZE__) + vertst) * scaleby;
offsetY = (((tile.i + nVNNn) * __TILE_SIZE__) + horist) * scaleby;
nVNNn *= 32;
VwMWn *= 32;
height = img.height - nVNNn;
width = img.width - VwMWn;
}
ctx.drawImage(img, VwMWn, nVNNn, width, height, offsetX, offsetY, (width * 3) * scaleby, (height * 3) * scaleby);
};
function wNnvM() {
WvmnV = CanvasUtils.lerp(WvmnV, (((Render.scale + NNmMN[0]) + NNmMN[1]) + NNmMN[2]) + NNmMN[3], vwMWM);
oldscale = scaleby;
scaleby += WvmnV * scaleby;
canwns = canw / scaleby;
canhns = canh / scaleby;
};
function myplayerfocusinscreen() {
var players = Entitie.units[__ENTITIE_PLAYER__];
var border = Entitie.border[__ENTITIE_PLAYER__];
var len = border.border;
for (var i = 0; i < len; i++) {
var PLAYER = players[border.cycle[i]];
if (PLAYER.pid === World.PLAYER.id) {
if (Math2d.fastDist(World.PLAYER.x, World.PLAYER.y, PLAYER.x, PLAYER.y) < 1) WMWvN = window.Math.max(0, WMWvN - delta);
else WMWvN = mMmvV;
var wVn = ENTITIES[__ENTITIE_PLAYER__].clothes[PLAYER.extra & 255];
var gauges = World.gauges;
if (wVn.rad !== window.undefined) {
gauges.rad.bonus = wVn.rad;
gauges.cold.bonus = wVn.warm;
} else {
gauges.rad.bonus = 0;
gauges.cold.bonus = 0;
}
NmM = PLAYER.x;
WWV = PLAYER.y;
World.PLAYER.x = PLAYER.x;
World.PLAYER.y = PLAYER.y;
World.PLAYER._i = PLAYER.i;
World.PLAYER._j = PLAYER.j;
World.PLAYER.isBuilding = (ENTITIES[__ENTITIE_PLAYER__].weapons[(PLAYER.extra >> 8) & 255].type === 6) ? 1 : 0;
var vWwvm = window.Math.min(canh4ns, canw4ns);
if (Mouse.distance > vWwvm) vWwvm = WwmVw * window.Math.min((Mouse.distance - vWwvm) / vWwvm, 1);
else vWwvm = 0;
var offsetX = vWwvm * window.Math.cos(Mouse.angle);
var offsetY = vWwvm * window.Math.sin(Mouse.angle);
vvWnv = CanvasUtils.lerp(vvWnv, offsetX, 0.025);
Nvmmn = CanvasUtils.lerp(Nvmmn, offsetY, 0.025);
var nvVvv = 0;
var WvnMn = 0;
if (Render.shake > 0) {
Render.shake -= 1;
nvVvv += (window.Math.random() * 6) - 3;
WvnMn += (window.Math.random() * 6) - 3;
}
if (Render.explosionShake > 0) {
Render.explosionShake -= 1;
nvVvv += (window.Math.random() * 18) - 9;
WvnMn += (window.Math.random() * 18) - 9;
}
vertst = (((canw2 / scaleby) - PLAYER.x) - vvWnv) + nvVvv;
horist = (((canh2 / scaleby) - PLAYER.y) - Nvmmn) + WvnMn;
NVVWM = PLAYER.x + vvWnv;
WVNMV = PLAYER.y + Nvmmn;
rowx = ~~((Mouse.x*scaleby/scaleby +vvWnv - canw2/scaleby + NmM) / 100);
rowy = ~~((Mouse.y*scaleby/scaleby +Nvmmn - canh2/scaleby + WWV) / 100);
return;
}
}
};
function mNWNw() {
for (var i = 0; i < World.PLAYER.gridPrev.length; i++) {
if (World.PLAYER.gridPrev[i] !== 0) return 0;
}
return 1;
};
function wmVNW() {
if (World.PLAYER.isBuilding === 1) {
if ((World.PLAYER.grid > 0) && ((World.PLAYER.iGrid !== World.PLAYER._i) || (World.PLAYER.jGrid !== World.PLAYER._j))) {
for (var i = 0; i < World.PLAYER.gridPrev.length; i++) {
if (World.PLAYER.gridPrev[i] === 0) {
World.PLAYER.gridPrev[i] = World.PLAYER.grid;
World.PLAYER.iGridPrev[i] = World.PLAYER.iGrid;
World.PLAYER.jGridPrev[i] = World.PLAYER.jGrid;
break;
}
}
World.PLAYER.grid = 0;
World.PLAYER.iGrid = World.PLAYER._i;
World.PLAYER.jGrid = World.PLAYER._j;
}
World.PLAYER.grid = window.Math.min(Mvvwv, World.PLAYER.grid + delta);
for (var i = 0; i < World.PLAYER.gridPrev.length; i++) World.PLAYER.gridPrev[i] = window.Math.max(0, World.PLAYER.gridPrev[i] - delta);
} else if ((World.PLAYER.grid === 0) && (mNWNw() === 1)) return;
else {
World.PLAYER.grid = window.Math.max(0, World.PLAYER.grid - delta);
for (var i = 0; i < World.PLAYER.gridPrev.length; i++) World.PLAYER.gridPrev[i] = window.Math.max(0, World.PLAYER.gridPrev[i] - delta);
}
if (wWNmv.isLoaded !== 1) {
wWNmv = CanvasUtils.loadImage(IMG_CRAFT_GRID, wWNmv);
return;
}
ctx.globalAlpha = World.PLAYER.grid / Mvvwv;
var offsetY = scaleby * (((World.PLAYER.iGrid * __TILE_SIZE__) + horist) + __TILE_SIZE2__);
var offsetX = scaleby * (((World.PLAYER.jGrid * __TILE_SIZE__) + vertst) + __TILE_SIZE2__);
var width = (scaleby * wWNmv.width) / 2;
var height = (scaleby * wWNmv.height) / 2;
ctx.drawImage(wWNmv, offsetX - (width / 2), offsetY - (height / 2), width, height);
ctx.globalAlpha = 1;
for (var i = 0; i < World.PLAYER.gridPrev.length; i++) {
if (World.PLAYER.gridPrev[i] > 0) {
ctx.globalAlpha = World.PLAYER.gridPrev[i] / Mvvwv;
var offsetY = scaleby * (((World.PLAYER.iGridPrev[i] * __TILE_SIZE__) + horist) + __TILE_SIZE2__);
var offsetX = scaleby * (((World.PLAYER.jGridPrev[i] * __TILE_SIZE__) + vertst) + __TILE_SIZE2__);
var width = (scaleby * wWNmv.width) / 2;
var height = (scaleby * wWNmv.height) / 2;
ctx.drawImage(wWNmv, offsetX - (width / 2), offsetY - (height / 2), width, height);
ctx.globalAlpha = 1;
}
}
};
function wmMwV() {
var wVNVN = window.Math.min(MapManager.height - VmvVW, window.Math.max(0, (((WnWvv - VmvVW) / 2) + window.Math.floor((WVNMV / __TILE_SIZE__) - (VmvVW / 2))) + 1));
var vWMwn = window.Math.min(MapManager.width - wWmnn, window.Math.max(0, (((NVmMW - wWmnn) / 2) + window.Math.floor((NVVWM / __TILE_SIZE__) - (wWmnn / 2))) + 1));
var height = wVNVN + VmvVW;
var width = vWMwn + wWmnn;
for (var i = wVNVN; i < height; i++) {
for (var j = vWMwn; j < width; j++) {
var player = MapManager.nWmMn[i][j];
}
}
};
function _playerNotification(player) {
var PLAYER = World.players[player.pid];
if ((PLAYER !== window.undefined) && (PLAYER.notification.length > 0)) {
if (PLAYER.notificationDelay >= Mvnwm) PLAYER.notificationDelay = 0;
var delay = PLAYER.notificationDelay;
var level = PLAYER.notificationLevel[0];
var type = PLAYER.notification[0];
if (delay === 0) {
var distance = Math2d.distance(player.x, player.y, NmM, WWV);
}
PLAYER.notificationDelay += delta;
if (PLAYER.notificationDelay >= Mvnwm) {
PLAYER.notificationDelay = 0;
PLAYER.notificationLevel.shift();
PLAYER.notification.shift();
}
var img = wVMNN[type][level];
if (img.isLoaded !== 1) {
wVMNN[type][level] = CanvasUtils.loadImage((((IMG_ALERT + type) + "_") + level) + ".png", img);
return;
}
var move = 0;
if (delay < mmWWw) {
var mwvWV = delay / mmWWw;
ctx.globalAlpha = mwvWV;
move = 15 * (1 - mwvWV);
} else if (delay > WWMnN) {
var mwVvV = (Mvnwm - delay) / (Mvnwm - WWMnN);
ctx.globalAlpha = mwVvV;
move = 40 * (mwVvV - 1);
}
ctx.drawImage(img, ((vertst + player.x) - 120) * scaleby, ((horist + player.y) + (move - 45)) * scaleby, (img.width * scaleby) / 2, (img.height * scaleby) / 2);
ctx.globalAlpha = 1;
}
};
function _Run(player) {
var PLAYER = World.players[player.pid];
for (var i = 0; i < PLAYER.runEffect.length; i++) {
var effect = PLAYER.runEffect[i];
if ((i > 0) && (effect.delay <= 0)) {
var vVVVn = PLAYER.runEffect[i - 1];
if ((vVVVn.delay > 500) || (vVVVn.delay <= 0)) continue;
}
if ((player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) || (effect.delay > 0)) {
var mVn = ENTITIES[__ENTITIE_PLAYER__].runEffect;
var img = mVn.img;
if (img.isLoaded !== 1) {
mVn.img = CanvasUtils.loadImage(mVn.src, mVn.img);
return;
}
if (effect.delay <= 0) {
effect.delay = 750;
effect.angle = window.Math.random() * PI2;
effect.x = player.x;
effect.y = player.y;
effect.size = 1 + (window.Math.random() * 0.8);
} else effect.delay -= delta;
var value = MathUtils.Ease.outQuart(window.Math.max(0, effect.delay / 750));
var w = (((scaleby * (effect.size + 1)) * value) * img.width) / 7;
var wh = -w / 2;
ctx.save();
ctx.translate((vertst + effect.x) * scaleby, (horist + effect.y) * scaleby);
ctx.rotate(effect.angle);
ctx.globalAlpha = window.Math.max(0, value * value);
ctx.drawImage(img, wh, wh, w, w);
ctx.restore();
}
}
};
function Wvmnw(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var recoil = 0;
var Vmwnn = player.state & 254;
var Nmm = weapon.rightArm;
var VnN = weapon.leftArm;
if (Vmwnn === 4) {
if (PLAYER.consumable === -1) {
var MNmnm = (player.extra >> 8) & 255;
if ((AudioUtils._fx.shot[MNmnm] !== 0) && ((Render.globalTime - PLAYER.consumableLast) > 800)) {
PLAYER.consumableLast = Render.globalTime;
var VVmnw = window.Math.floor(window.Math.random() * weapon.soundLen);
AudioUtils.playFx(AudioUtils._fx.shot[MNmnm][VVmnw], weapon.soundVolume, Math2d.distance(World.PLAYER.x, World.PLAYER.y, player.x, player.y) / 4, weapon.soundDelay);
}
PLAYER.consumable = 0;
}
if (PLAYER.punch === 1) PLAYER.consumable = window.Math.max(0, PLAYER.consumable - delta);
else PLAYER.consumable = window.Math.min(weapon.consumableDelay, PLAYER.consumable + delta);
var value = PLAYER.consumable / weapon.consumableDelay;
recoil = value * weapon.recoil;
if ((PLAYER.consumable === 0) || (PLAYER.consumable === weapon.consumableDelay)) PLAYER.punch *= -1;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.consumable = -1;
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
PLAYER.consumable = -1;
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, Nmm.angle + player.angle, ((Nmm.x + (move * PLAYER.orientation)) + recoil) + breath, Nmm.y, imageScale);
MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, -VnN.angle + player.angle, ((VnN.x + (move * PLAYER.orientation)) + recoil) + breath, VnN.y, imageScale);
var item = weapon.weapon;
CanvasUtils.drawImageHd(item, offsetX, offsetY, player.angle, ((item.x + (move * PLAYER.orientation)) + breath) + recoil, item.y, imageScale);
if (player.hurt2 > 0) {
var mnM = 1;
player.hurt2 -= delta;
var value = 0;
if (player.hurt2 > 150) value = MathUtils.Ease.inQuad((300 - player.hurt2) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt2 / 150);
mnM += (1 - value) * 0.2;
}
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.food, offsetX, offsetY, player.angle, 0, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle, 0, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle, 0, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle, 0, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle, 0, 0, imageScale);
};
function vwVWm(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var recoil = 0;
var recoilGun = 0;
var recoilHead = 0;
var effect = -1;
var Nmm = weapon.rightArm;
var VnN = weapon.leftArm;
var cartridges = PLAYER.cartridges;
if (player.hit > 0) {
if (player.hit === player.hitMax) {
for (var i = 0; i < cartridges.length; i++) {
var cartridge = cartridges[i];
if (cartridge.delay <= 0) {
cartridge.type = weapon.cartridge;
cartridge.delay = weapon.cartridgeDelay;
cartridge.x = offsetX + (window.Math.cos(player.angle) * 44);
cartridge.y = offsetY + (window.Math.sin(player.angle) * 44);
var angle = ((-window.Math.PI / 2.5) + player.angle) + ((window.Math.random() * -window.Math.PI) / 3.5);
cartridge.ax = window.Math.cos(angle);
cartridge.ay = window.Math.sin(angle);
break;
}
}
}
player.hit = window.Math.max(0, player.hit - delta);
var value = (player.hit > 80) ? (1 - ((player.hit - 80) / 100)) : (player.hit / 80);
if (weapon.noEffect === 0) {
var nWvvW = mVn.gunEffect[weapon.gunEffect].length;
for (var gunEffect = 0; gunEffect < nWvvW; gunEffect++) {
if (player.hit > (weapon.delay - (30 * (gunEffect + 1)))) {
effect = gunEffect;
break;
}
}
}
recoilHead = value * weapon.recoilHead;
recoilGun = value * weapon.recoilGun;
recoil = value * weapon.recoil;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, Nmm.angle + player.angle, ((Nmm.x + (move * PLAYER.orientation)) + recoil) + breath, Nmm.y, imageScale);
MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, -VnN.angle + player.angle, ((VnN.x + (move * PLAYER.orientation)) + recoil) + breath, VnN.y, imageScale);
var item = weapon.weapon;
if ((effect >= 0) && (weapon.noEffect === 0)) {
var gunEffect = mVn.gunEffect[weapon.gunEffect][effect];
CanvasUtils.drawImageHd(gunEffect, offsetX, offsetY, player.angle, (((item.x + (move * PLAYER.orientation)) + breath) + recoilGun) + weapon.distance, item.y, imageScale);
}
CanvasUtils.drawImageHd(item, offsetX, offsetY, player.angle, ((item.x + (move * PLAYER.orientation)) + breath) + recoilGun, item.y, imageScale);
for (var i = 0; i < cartridges.length; i++) {
var cartridge = cartridges[i];
if (cartridge.delay > 0) {
cartridge.x += (delta * cartridge.ax) * 0.18;
cartridge.y += (delta * cartridge.ay) * 0.18;
if ((cartridge.delay < 200) && (ctx.globalAlpha === 1)) {
ctx.globalAlpha = MathUtils.Ease.outQuad(cartridge.delay / 200);
CanvasUtils.drawImageHd(mVn.cartridges[cartridge.type], cartridge.x, cartridge.y, cartridge.delay * 0.007, 0, 0, imageScale);
ctx.globalAlpha = 1;
} else CanvasUtils.drawImageHd(mVn.cartridges[cartridge.type], cartridge.x, cartridge.y, cartridge.delay * 0.007, 0, 0, imageScale);
cartridge.delay -= delta;
}
}
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle, recoilHead, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle, recoilHead, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle, recoilHead, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle, recoilHead, 0, imageScale);
};
function WVVmN(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var nmm = 0;
var NNM = 0;
var NWW = 0;
var wnN = 0;
if (player.hit > 0) {
player.hit = window.Math.max(0, player.hit - delta);
value = (player.hit > weapon.impactClient) ? (1 - ((player.hit - weapon.impactClient) / (weapon.delay - weapon.impactClient))) : (player.hit / weapon.impactClient);
nmm = -MathUtils.Ease.inOutQuad(value) * 0.35;
wnN = value * 3;
NWW = -value * 20;
NNM = value * 3;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var breathWeapon = weapon.breathWeapon * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var NwM = weapon.rightArm;
var MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, (NwM.angle + player.angle) - nmm, ((NwM.x - (move * PLAYER.orientation)) + NWW) + breathWeapon, NwM.y, imageScale);
if (player.hit > 0) {
var WnVmv = weapon.WnVmv;
CanvasUtils.drawImageHd(WnVmv, offsetX, offsetY, player.angle, ((WnVmv.x - (move * PLAYER.orientation)) + breathWeapon) + NWW, WnVmv.y, imageScale);
}
var item = weapon.weapon;
CanvasUtils.drawImageHd(item, offsetX, offsetY, item.angle + player.angle, ((item.x + (move * PLAYER.orientation)) + breath) + NNM, item.y, imageScale);
NwM = weapon.leftArm;
MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, -NwM.angle + player.angle, ((NwM.x + (move * PLAYER.orientation)) + NNM) + breath, NwM.y, imageScale);
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, imageScale);
};
function mWNvw(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var nmm = 0;
var NNM = 0;
var NWW = 0;
var wnN = 0;
if (player.hit > 0) {
player.hit = window.Math.max(0, player.hit - delta);
value = (player.hit > weapon.impactClient) ? (1 - ((player.hit - weapon.impactClient) / (weapon.delay - weapon.impactClient))) : (player.hit / weapon.impactClient);
nmm = -MathUtils.Ease.inOutQuad(value) * 0.55;
wnN = value * 3;
NWW = -value * 25;
NNM = value * 10;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var NwM = weapon.leftArm;
var MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, ((-NwM.angle + player.angle) - breath) - nmm, (NwM.x - (move * PLAYER.orientation)) + NNM, NwM.y, imageScale);
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle - (nmm / 1.5), wnN, 0, imageScale);
var breathWeapon = weapon.breathWeapon * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
NwM = weapon.rightArm;
MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, NwM.angle + player.angle, ((NwM.x + (move * PLAYER.orientation)) + NWW) + breathWeapon, NwM.y, imageScale);
var item = weapon.weapon;
CanvasUtils.drawImageHd(item, offsetX, offsetY, item.angle + player.angle, ((item.x + (move * PLAYER.orientation)) + breathWeapon) + NWW, item.y, imageScale);
};
function mvwMm(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var nmm = 0;
var NNM = 0;
var NWW = 0;
var wnN = 0;
var Nmm = weapon.rightArm;
var VnN = weapon.leftArm;
if (player.hit > 0) {
player.hit = window.Math.max(0, player.hit - delta);
value = (player.hit > weapon.impactClient) ? (1 - ((player.hit - weapon.impactClient) / (weapon.delay - weapon.impactClient))) : (player.hit / weapon.impactClient);
nmm = -MathUtils.Ease.inOutQuad(value) * 0.4;
wnN = value * 3;
NNM = value * VnN.distance;
NWW = value * Nmm.distance;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var item = weapon.weapon;
CanvasUtils.drawImageHd2(item, offsetX, offsetY, (item.angle + player.angle) + breath, item.x + (move * PLAYER.orientation), item.y, imageScale, nmm * item.rotation, item.x2, item.y2);
var MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, ((Nmm.angle + player.angle) + breath) + (nmm * Nmm.rotation), (Nmm.x + (move * PLAYER.orientation)) + NWW, Nmm.y, imageScale);
MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, ((-VnN.angle + player.angle) + breath) + (nmm * VnN.rotation), (VnN.x + (move * PLAYER.orientation)) + NNM, VnN.y, imageScale);
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, imageScale);
};
function mmmMw(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var NNM = 0;
var NWW = 0;
if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var NwM = weapon.rightArm;
var MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, (NwM.angle + player.angle) + breath, (NwM.x + (move * PLAYER.orientation)) + NWW, NwM.y, imageScale);
NwM = weapon.leftArm;
MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, (-NwM.angle + player.angle) - breath, (NwM.x - (move * PLAYER.orientation)) + NNM, NwM.y, imageScale);
CanvasUtils.drawImageHd(weapon.blueprint, offsetX, offsetY, ((-NwM.angle + player.angle) - breath) + (window.Math.PI / 3), ((NwM.x - (move * PLAYER.orientation)) + NNM) - 40, NwM.y - 15, imageScale);
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle, 0, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle, 0, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle, 0, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle, 0, 0, imageScale);
CanvasUtils.drawImageHd(weapon.pencil, offsetX, offsetY, player.angle, 0, 0, imageScale);
};
var nVWnV = [0, 0, 0, 0];
function placingobj() {
var nwmVM = 0;
if ((World.PLAYER.isBuilding === 1) && (World.PLAYER.blueprint !== 0)) {
var item = INVENTORY[World.PLAYER.blueprint];
if (item.subtype !== 0) {
item = item.subtype[World.PLAYER.furniture];
item.redprint = item.building;
item.blueprint = item.building;
item.xCenter = nVWnV;
item.yCenter = nVWnV;
}
var angle = Mouse.angle;
var rotation = (item.wall === 1) ? 0 : World.PLAYER.buildRotate;
World.PLAYER.jBuild = World.PLAYER._j + window.Math.floor((__TILE_SIZE2__ + (window.Math.cos(angle) * __TILE_SIZE__)) / __TILE_SIZE__);
World.PLAYER.iBuild = World.PLAYER._i + window.Math.floor((__TILE_SIZE2__ + (window.Math.sin(angle) * __TILE_SIZE__)) / __TILE_SIZE__);
var offsetX = ((item.xCenter[rotation] + vertst) + __TILE_SIZE2__) + (__TILE_SIZE__ * World.PLAYER.jBuild);
var offsetY = ((item.yCenter[rotation] + horist) + __TILE_SIZE2__) + (__TILE_SIZE__ * World.PLAYER.iBuild);
if ((((World.PLAYER.jBuild >= 0) && (World.PLAYER.iBuild >= 0)) && (World.PLAYER.jBuild < worldWidth)) && (World.PLAYER.iBuild < worldHeight)) {
var VMV = matrix[World.PLAYER.iBuild][World.PLAYER.jBuild];
var team = (World.PLAYER.team === -1) ? -2 : World.PLAYER.team;
if ((VMV.tile === frameId) && (((item.zid !== 2) || (VMV.tilePid === 0)) || (VMV.category === SKILLS.__PLANT__))) {
World.PLAYER.canBuild = 1; // before 0
CanvasUtils.drawImageHd(item.redprint, offsetX, offsetY, rotation * PIby2, 0, 0, 1);
} else if ((((item.detail.category === SKILLS.__PLANT__) || (item.zid === 2)) || (((VMV.pid !== 0) && (VMV.pid !== World.PLAYER.id)) && (World.players[VMV.pid].team !== team))) && (VMV.ground === frameId)) {
World.PLAYER.canBuild = 0;
CanvasUtils.drawImageHd(item.redprint, offsetX, offsetY, rotation * PIby2, 0, 0, 1);
} else if ((item.iTile !== window.undefined) && ((((rotation % 2) === 0) && ((((((World.PLAYER.iBuild < 1) || (World.PLAYER.iBuild >= (worldHeight - 1))) || (matrix[World.PLAYER.iBuild + 1][World.PLAYER.jBuild].tile === frameId)) || ((matrix[World.PLAYER.iBuild + 1][World.PLAYER.jBuild].ground === frameId) && (((matrix[World.PLAYER.iBuild + 1][World.PLAYER.jBuild].pid !== World.PLAYER.id) && (matrix[World.PLAYER.iBuild + 1][World.PLAYER.jBuild].pid !== 0)) && (World.players[matrix[World.PLAYER.iBuild + 1][World.PLAYER.jBuild].pid].team !== team)))) || (matrix[World.PLAYER.iBuild - 1][World.PLAYER.jBuild].tile === frameId)) || ((matrix[World.PLAYER.iBuild - 1][World.PLAYER.jBuild].ground === frameId) && (((matrix[World.PLAYER.iBuild - 1][World.PLAYER.jBuild].pid !== World.PLAYER.id) && (matrix[World.PLAYER.iBuild - 1][World.PLAYER.jBuild].pid !== 0)) && (World.players[matrix[World.PLAYER.iBuild - 1][World.PLAYER.jBuild].pid].team !== team))))) || (((rotation % 2) === 1) && (((((((World.PLAYER.jBuild < 1) || (World.PLAYER.jBuild >= (worldWidth - 1))) || (matrix[World.PLAYER.iBuild][World.PLAYER.jBuild + 1].tile === frameId)) || ((matrix[World.PLAYER.iBuild][World.PLAYER.jBuild + 1].ground === frameId) && (((matrix[World.PLAYER.iBuild][World.PLAYER.jBuild + 1].pid !== World.PLAYER.id) && (matrix[World.PLAYER.iBuild][World.PLAYER.jBuild + 1].pid !== 0)) && (World.players[matrix[World.PLAYER.iBuild][World.PLAYER.jBuild + 1].pid].team !== team)))) || (matrix[World.PLAYER.iBuild][World.PLAYER.jBuild - 1].tile === frameId)) || ((matrix[World.PLAYER.iBuild][World.PLAYER.jBuild - 1].ground === frameId) && (((matrix[World.PLAYER.iBuild][World.PLAYER.jBuild - 1].pid !== World.PLAYER.id) && (matrix[World.PLAYER.iBuild][World.PLAYER.jBuild - 1].pid !== 0)) && (World.players[matrix[World.PLAYER.iBuild][World.PLAYER.jBuild - 1].pid].team !== team)))) || (World.PLAYER._i === World.PLAYER.iBuild))))) {
World.PLAYER.canBuild = 0;
CanvasUtils.drawImageHd(item.redprint, offsetX, offsetY, rotation * PIby2, 0, 0, 1);
} else {
World.PLAYER.canBuild = 1;
CanvasUtils.drawImageHd(item.blueprint, offsetX, offsetY, rotation * PIby2, 0, 0, 1);
}
}
if (hintRotate.isLoaded !== 1) {
hintRotate = CanvasUtils.loadImage(IMG_HINT_ROTATE, hintRotate);
return;
}
if ((item.wall === 1) || (World.PLAYER.interaction >= 0)) nwmVM = window.Math.max(0, World.PLAYER.hintRotate - delta);
else nwmVM = window.Math.min(900, World.PLAYER.hintRotate + delta);
} else nwmVM = window.Math.max(0, World.PLAYER.hintRotate - delta);
if (nwmVM > 0) {
ctx.globalAlpha = MathUtils.Ease.outQuad(window.Math.max(0, nwmVM - 600) / 300);
var imageScale = scaleby + (WvmnV * scaleby);
var vNwMN = imageScale / scaleby;
var width = (scaleby * hintRotate.width) / 2;
var height = (scaleby * hintRotate.height) / 2;
ctx.drawImage(hintRotate, ((vertst + NmM) * scaleby) - (width / 2), window.Math.max(10 * scaleby, ((((horist + WWV) * scaleby) - (height / 2)) - (65 * scaleby)) - (60 * scaleby)), width, height);
ctx.globalAlpha = 1;
}
World.PLAYER.hintRotate = nwmVM;
};
function nwMNv(mVn, weapon, wVn, player, imageScale, offsetX, offsetY) {
var PLAYER = World.players[player.pid];
var skinType = 0;
var repellent = PLAYER.repellent - Render.globalTime;
var withdrawal = PLAYER.withdrawal - Render.globalTime;
if (repellent > 0) {
if (withdrawal > 0) skinType = 3;
else if (PLAYER.withdrawal > 0) skinType = 5;
else skinType = 1;
} else if (withdrawal > 0) skinType = 2;
else if (PLAYER.withdrawal > 0) skinType = 4;
if (player.pid == World.PLAYER.id && MOD.changeMyModel) skinType = MOD.myPlayerModel;
var skin = mVn.skins[skinType];
var nmm = 0;
var NNM = 0;
var NWW = 0;
var wnN = 0;
if (player.hit > 0) {
player.hit = window.Math.max(0, player.hit - delta);
player.hit = window.Math.min(player.hit, weapon.delay);
value = (player.hit > weapon.impactClient) ? (1 - ((player.hit - weapon.impactClient) / (weapon.delay - weapon.impactClient))) : (player.hit / weapon.impactClient);
nmm = (PLAYER.punch * MathUtils.Ease.inOutQuad(value)) * 0.55;
wnN = value * 3;
if (PLAYER.punch === 1) NNM = value * 25;
else NWW = value * 25;
if (player.hit === 0) PLAYER.punch *= -1;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
PLAYER.breath = (PLAYER.breath + delta) % 1500;
if (PLAYER.move !== 0) {
if (PLAYER.move < 400) PLAYER.move = 800 - PLAYER.move;
PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) PLAYER.move = 0;
}
} else {
if (player.speed > ENTITIES[__ENTITIE_PLAYER__].speed) PLAYER.move = PLAYER.move + (delta * 1.9);
else PLAYER.move = PLAYER.move + delta;
if (PLAYER.move > 800) {
PLAYER.orientation *= -1;
PLAYER.move = PLAYER.move % 800;
}
if (PLAYER.breath !== 0) {
if (PLAYER.breath < 750) PLAYER.breath = 1500 - PLAYER.breath;
PLAYER.breath = PLAYER.breath + delta;
if (PLAYER.breath > 1500) PLAYER.breath = 0;
}
}
var breath = weapon.breath * ((PLAYER.breath < 750) ? (PLAYER.breath / 750) : (1 - ((PLAYER.breath - 750) / 750)));
var move = weapon.move * ((PLAYER.move < 400) ? (PLAYER.move / 400) : (1 - ((PLAYER.move - 400) / 400)));
var NwM = weapon.rightArm;
var MVn = (wVn.rightArm === window.undefined) ? skin.rightArm : wVn.rightArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, ((NwM.angle + player.angle) + breath) + nmm, (NwM.x + (move * PLAYER.orientation)) + NWW, NwM.y, imageScale);
NwM = weapon.leftArm;
MVn = (wVn.leftArm === window.undefined) ? skin.leftArm : wVn.leftArm;
CanvasUtils.drawImageHd(MVn, offsetX, offsetY, ((-NwM.angle + player.angle) - breath) + nmm, (NwM.x - (move * PLAYER.orientation)) + NNM, NwM.y, imageScale);
if (player.hurt2 > 0) {
var mnM = 1;
player.hurt2 -= delta;
var value = 0;
if (player.hurt2 > 150) value = MathUtils.Ease.inQuad((300 - player.hurt2) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt2 / 150);
mnM += (1 - value) * 0.2;
}
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.food, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 3;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 3;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(mVn.hurt, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
if (player.heal > 0) {
var mnM = 1;
player.heal -= delta;
if (player.heal > 150) ctx.globalAlpha = window.Math.min(1, window.Math.max(0, MathUtils.Ease.inQuad((300 - player.heal) / 300)));
else {
var value = MathUtils.Ease.outQuad(player.heal / 150);
mnM += (1 - value) * 0.2;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
}
CanvasUtils.drawImageHd(mVn.heal, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(skin.head, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, imageScale);
if (wVn.head !== window.undefined) CanvasUtils.drawImageHd(wVn.head, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, imageScale);
};
function _EntitieAI(player) {
var entitie = AI[player.extra & 15];
matrix[player.i][player.j].tile = frameId;
matrix[player.i][player.j].tilePid = player.pid;
matrix[player.i][player.j].category = window.undefined;
var imageScale = 1;
var offsetX = vertst + player.x;
var offsetY = horist + player.y;
if (player.removed !== 0) {
player.death += delta;
var value = MathUtils.Ease.outQuart(1 - ((player.death - 500) / 400));
ctx.globalAlpha = window.Math.min(window.Math.max(0, value), 1);
CanvasUtils.drawImageHd(entitie.death, offsetX, offsetY, player.angle, 0, 0, 1);
value = MathUtils.Ease.outQuart(1 - (player.death / 400));
imageScale = window.Math.min(1 + (0.5 * (1 - value)), 1.5);
ctx.globalAlpha = window.Math.max(0, value);
}
if ((player.extra & 16) === 16) {
player.extra &= ~16;
player.hurt = 250;
player.hurtAngle = (PI2 * ((player.extra >> 5) & 31)) / 31;
}
entitie.draw(entitie, player, offsetX, offsetY, imageScale);
if (player.removed !== 0) {
if (player.death > 900) player.removed = 2;
ctx.globalAlpha = 1;
}
};
function _EntitiePlayer(player) {
matrix[player.i][player.j].tile = frameId;
matrix[player.i][player.j].tilePid = player.pid;
matrix[player.i][player.j].category = window.undefined;
var mVn = ENTITIES[__ENTITIE_PLAYER__];
var MNmnm = (player.extra >> 8) & 255;
var weapon = mVn.weapons[MNmnm];
var wVn = mVn.clothes[player.extra & 255];
var imageScale = 1;
var Vmwnn = player.state & 254;
var offsetX = vertst + player.x;
var offsetY = horist + player.y;
if (player.removed !== 0) {
player.death += delta;
var value = MathUtils.Ease.outQuart(1 - ((player.death - 500) / 400));
ctx.globalAlpha = window.Math.min(window.Math.max(0, value), 1);
CanvasUtils.drawImageHd(mVn.death, offsetX, offsetY, player.angle, 0, 0, 1);
value = MathUtils.Ease.outQuart(1 - (player.death / 400));
imageScale = window.Math.min(1 + (0.5 * (1 - value)), 1.5);
ctx.globalAlpha = window.Math.max(0, value);
}
if (Vmwnn === 2) {
player.state &= 65281;
if (AudioUtils._fx.shot[MNmnm] !== 0) {
var VVmnw = window.Math.floor(window.Math.random() * weapon.soundLen);
AudioUtils.playFx(AudioUtils._fx.shot[MNmnm][VVmnw], weapon.soundVolume, Math2d.distance(World.PLAYER.x, World.PLAYER.y, player.x, player.y) / 4, weapon.soundDelay);
}
if (player.hit <= 0) {
player.hit = weapon.delay;
player.hitMax = weapon.delay;
}
} else if (Vmwnn === 6) player.state &= 65281;
switch (weapon.type) {
case 0:
nwMNv(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
case 1:
mvwMm(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
case 2:
vwVWm(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
case 3:
mWNvw(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
case 4:
WVVmN(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
case 5:
Wvmnw(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
case 6:
mmmMw(mVn, weapon, wVn, player, imageScale, offsetX, offsetY);
break;
}
if (player.removed !== 0) {
if (player.death > 900) player.removed = 2;
ctx.globalAlpha = 1;
}
};
function _Interaction() {
if (World.PLAYER.ghoul !== 0) return;
var timer = World.PLAYER.wrongToolTimer;
if (timer > 0) {
if (timer < 500) ctx.globalAlpha = MathUtils.Ease.inQuad(timer / 500);
else if (timer > 1500) ctx.globalAlpha = MathUtils.Ease.inQuad(1 - ((timer - 1500) / 500));
else ctx.globalAlpha = 1;
var tool = (World.PLAYER.wrongTool === 1) ? vwnWv : LOOT[INVENTORY[World.PLAYER.wrongTool].loot];
CanvasUtils.drawImageHd(wrongTool, canw2ns, 50, 0, 0, 0, 1);
CanvasUtils.drawImageHd(tool, canw2ns, 50, 0, 0, 0, 1);
ctx.globalAlpha = 1;
World.PLAYER.wrongToolTimer -= delta;
}
var interaction = World.PLAYER.interaction;
switch (interaction) {
case 0:
if (nMWVv.isLoaded !== 1) {
if (isTouchScreen === 0) nMWVv = CanvasUtils.loadImage(IMG_LOOT, nMWVv);
else nMWVv = CanvasUtils.loadImage(IMG_LOOT_TOUCH, nMWVv);
return;
}
var imageScale = scaleby + (WvmnV * scaleby);
var vNwMN = imageScale / scaleby;
var scalex = (scaleby * nMWVv.width) / 2;
var scaley = (scaleby * nMWVv.height) / 2;
var posx = ((vertst + NmM) * imageScale) - (scalex / 2);
var posy = window.Math.max(10 * scaleby, ((((horist + WWV) * imageScale) - (scaley / 2)) - (65 * imageScale)) - (60 * scaleby));
if (isTouchScreen === 1) {
Game.xInteract = posx;
Game.yInteract = posy;
Game.widthInteract = scalex;
Game.heightInteract = scaley;
}
ctx.drawImage(nMWVv, posx, posy, scalex, scaley);
var loot = LOOT[World.PLAYER.loot];
posx = ((vertst + NmM) * vNwMN) - (scalex / (2 * scaleby));
posy = window.Math.max(10, ((((horist + WWV) * vNwMN) - (scaley / (2 * scaleby))) - (65 * vNwMN)) - 60);
CanvasUtils.drawImageHd(loot, posx + 77, posy + 33, loot.angle, 0, 0, loot.scale);
break;
case 1:
var value = World.PLAYER.interactionDelay / World.PLAYER.interactionWait;
var delay = World.PLAYER.interactionWait - World.PLAYER.interactionDelay;
World.PLAYER.interactionDelay -= delta;
if (World.PLAYER.interactionDelay < 0) {
World.PLAYER.interaction = -1;
return;
}
if (useTimer.isLoaded !== 1) {
useTimer = CanvasUtils.loadImage(IMG_TIMER, useTimer);
return;
}
if (arrow.isLoaded !== 1) {
arrow = CanvasUtils.loadImage(IMG_TIMER_ARROW, arrow);
return;
}
if (lights.isLoaded !== 1) {
lights = CanvasUtils.loadImage(IMG_TIMER_LIGHTS, lights);
return;
}
var imageScale = scaleby + (WvmnV * scaleby);
var scalex = (scaleby * useTimer.width) / 2;
var scaley = (scaleby * useTimer.height) / 2;
var _x = (vertst + NmM) * imageScale;
var _y = (horist + WWV) * imageScale;
var posx = _x - (scalex / 2);
var posy = window.Math.max(10 * imageScale, ((_y - (scaley / 2)) - (65 * imageScale)) - (60 * scaleby));
if (delay < 100) ctx.globalAlpha = delay / 100;
else if (World.PLAYER.interactionDelay < 100) ctx.globalAlpha = World.PLAYER.interactionDelay / 100;
ctx.drawImage(useTimer, posx, posy, scalex, scaley);
ctx.save();
ctx.translate(_x, window.Math.max((10 * imageScale) + (scaley / 2), (_y - (65 * imageScale)) - (60 * scaleby)));
ctx.rotate(-PI2 * value);
ctx.drawImage(arrow, -scalex / 2, -scaley / 2, scalex, scaley);
ctx.restore();
ctx.drawImage(lights, posx, posy, scalex, scaley);
ctx.globalAlpha = 1;
break;
case 2:
var img = World.PLAYER.eInteract.img;
if (img.isLoaded !== 1) {
if (isTouchScreen === 0) World.PLAYER.eInteract.img = CanvasUtils.loadImage(World.PLAYER.eInteract.src, img);
else World.PLAYER.eInteract.img = CanvasUtils.loadImage(World.PLAYER.eInteract.src.replace("e-", "e-isTouchScreen-"), img);
return;
}
var imageScale = scaleby + (WvmnV * scaleby);
var scalex = (scaleby * img.width) / 2;
var scaley = (scaleby * img.height) / 2;
var posx;
if (World.PLAYER.extraLoot === 1) posx = (((vertst + NmM) - 5) * imageScale) - scalex;
else posx = ((vertst + NmM) * imageScale) - (scalex / 2);
var posy = window.Math.max(10 * scaleby, ((((horist + WWV) * imageScale) - (scaley / 2)) - (65 * imageScale)) - (60 * scaleby));
if (isTouchScreen === 1) {
Game.xInteract = posx;
Game.yInteract = posy;
Game.widthInteract = scalex;
Game.heightInteract = scaley;
}
ctx.drawImage(img, posx, posy, scalex, scaley);
if (World.PLAYER.extraLoot === 1) {
if (VWvVN.isLoaded !== 1) {
if (isTouchScreen === 0) VWvVN = CanvasUtils.loadImage(IMG_LOOT2, VWvVN);
else VWvVN = CanvasUtils.loadImage(IMG_LOOT_TOUCH, nMWVv);
return;
}
var vNwMN = imageScale / scaleby;
scalex = (scaleby * VWvVN.width) / 2;
scaley = (scaleby * VWvVN.height) / 2;
posx += scalex + (10 * scaleby);
posy = window.Math.max(10 * scaleby, ((((horist + WWV) * imageScale) - (scaley / 2)) - (65 * imageScale)) - (60 * scaleby));
if (isTouchScreen === 1) {
Game.xInteract2 = posx;
Game.yInteract2 = posy;
}
ctx.drawImage(VWvVN, posx, posy, scalex, scaley);
var loot = LOOT[World.PLAYER.loot];
posx = ((vertst + NmM) * vNwMN) + 5;
posy = window.Math.max(10, ((((horist + WWV) * vNwMN) - (scaley / (2 * scaleby))) - (65 * vNwMN)) - 60);
CanvasUtils.drawImageHd(loot, posx + 77, posy + 33, loot.angle, 0, 0, loot.scale);
}
break;
}
};
var nMVNv = 0;
var WvWmM = 0;
var PARTICLE = {
id: -1,
uid: -1
};
function vNwNM(player, id, distance, amount) {
if ((setParticles === 0) || (id === PARTICLESID.__NOTHING__)) return;
else if (setParticles === 2) amount *= 3;
if ((Entitie.border[__ENTITIE_PARTICLES__].border + amount) >= wnNWM) return;
for (var i = 0; i < amount; i++) {
var N = window.Math.random();
var angle = ((N * 10) % 1) * PI2;
var MMwmm = distance + (((N * 10000) % 1) * 25);
distance += 8;
WvWmM = (WvWmM + 1) % wnNWM;
var newEntityIndex = WvWmM + Entitie.maxUnitsMaster;
nMVNv += 1;
var particle = Entitie.get(0, newEntityIndex, nMVNv, __ENTITIE_PARTICLES__);
setEntitie(particle, 0, nMVNv, newEntityIndex, __ENTITIE_PARTICLES__, player.px, player.py, player.px + (window.Math.cos(angle) * MMwmm), player.py + (window.Math.sin(angle) * MMwmm), window.Math.floor(N * PARTICLES[id].length), ((N * 100) % 1) * 255, id);
}
};
function _Particles(particle) {
var img = PARTICLES[particle.state][particle.extra];
if (particle.death > 0) {
particle.death = window.Math.min(1, particle.death + (delta / 500));
ctx.globalAlpha = 1 - particle.death;
CanvasUtils.drawImageHd(img, vertst + particle.x, horist + particle.y, particle.angle, 0, 0, 1);
ctx.globalAlpha = 1;
if (particle.death === 1) {
PARTICLE.id = particle.id;
PARTICLE.uid = particle.uid;
}
return;
} else if (Math2d.fastDist(particle.x, particle.y, particle.nx, particle.ny) < 0.01) particle.death = 0.001;
CanvasUtils.drawImageHd(img, vertst + particle.x, horist + particle.y, particle.angle, 0, 0, 1);
};
function _Dynamite(item, dynamite, offsetX, offsetY, rotation, imageScale) {
dynamite.breath = (dynamite.breath + delta) % 500;
var value = dynamite.breath / 500;
var mnM = 0.95 + (0.3 * MathUtils.Ease.inOutQuad(value));
ctx.globalAlpha = 1 - value;
CanvasUtils.drawImageHd(item.building[1], (vertst + dynamite.x) + offsetX, (horist + dynamite.y) + offsetY, rotation * PIby2, 0, 0, mnM);
ctx.globalAlpha = 1;
CanvasUtils.drawImageHd(item.building[0], (vertst + dynamite.x) + offsetX, (horist + dynamite.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _Spike(item, spike, offsetX, offsetY, rotation, imageScale) {
var isVisible = 0;
var isInClan = 0;
var triggered = 1;
if ((spike.state & 16) === 16) triggered = 0;
if (((spike.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[spike.pid].team)) && (World.players[spike.pid].teamUid === World.teams[World.PLAYER.team].uid))) || (Math2d.fastDist(NmM, WWV, spike.x, spike.y) < 52000)) isVisible = 1;
if (((spike.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[spike.pid].team)) && (World.players[spike.pid].teamUid === World.teams[World.PLAYER.team].uid)))) isInClan = 1;
if (MOD.showSpikes){
if (triggered === 0) {
if (spike.hurt2 === 0) vNwNM(spike, item.particles, item.particlesDist, 5);
if (spike.hurt2 < 300) {
offsetX += (window.Math.random() * 6) - 4;
offsetY += (window.Math.random() * 6) - 4;
spike.hurt2 += delta;
}
CanvasUtils.drawImageHd(item.deployed[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else if (isInClan === 1) {
CanvasUtils.drawImageHd(item.hidden[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 0.2;
CanvasUtils.drawImageHd(LIGHTFIRE[5], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, 0, 0, 0, 0.6);
ctx.globalAlpha = 1;
} else if (isInClan === 0) {
CanvasUtils.drawImageHd(item.hidden[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 0.2;
CanvasUtils.drawImageHd(LIGHTFIRE[4], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, 0, 0, 0, 0.6);
ctx.globalAlpha = 1;
}
} else {
if (triggered === 0) {
if (spike.hurt2 === 0) vNwNM(spike, item.particles, item.particlesDist, 5);
if (spike.hurt2 < 300) {
offsetX += (window.Math.random() * 6) - 4;
offsetY += (window.Math.random() * 6) - 4;
spike.hurt2 += delta;
}
if (spike.breath > 0) {
spike.breath = window.Math.max(0, spike.breath - (delta / 5));
ctx.globalAlpha = MathUtils.Ease.inOutQuad(spike.breath / 300);
CanvasUtils.drawImageHd(item.hidden[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(item.deployed[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else if (isVisible === 1) {
if (spike.breath === 300) CanvasUtils.drawImageHd(item.hidden[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
else {
spike.breath = window.Math.min(300, spike.breath + delta);
ctx.globalAlpha = MathUtils.Ease.inOutQuad(spike.breath / 300);
CanvasUtils.drawImageHd(item.hidden[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
}
} else if ((isVisible === 0) && (spike.breath > 0)) {
spike.breath = window.Math.max(0, spike.breath - (delta / 5));
ctx.globalAlpha = MathUtils.Ease.inOutQuad(spike.breath / 300);
CanvasUtils.drawImageHd(item.hidden[spike.id % 3], (vertst + spike.x) + offsetX, (horist + spike.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
}
}
};
function _HiddenBuilding(item, building, offsetX, offsetY, rotation, imageScale) {
if (MOD.showWires) {CanvasUtils.drawImageHd(item.building, (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale)}
else {
var isVisible = 0;
if (((building.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[building.pid].team)) && (World.players[building.pid].teamUid === World.teams[World.PLAYER.team].uid))) || (Math2d.fastDist(NmM, WWV, building.x, building.y) < 52000)) isVisible = 1;
//CanvasUtils.drawImageHd(item.building, (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (isVisible === 1) {
if (building.breath === 300) CanvasUtils.drawImageHd(item.building, (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
else {
building.breath = window.Math.min(300, building.breath + delta);
ctx.globalAlpha = MathUtils.Ease.inOutQuad(building.breath / 300);
CanvasUtils.drawImageHd(item.building, (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
}
}
else if ((isVisible === 0) && (building.breath > 0)) {
building.breath = window.Math.max(0, building.breath - (delta / 5));
ctx.globalAlpha = MathUtils.Ease.inOutQuad(building.breath / 300);
CanvasUtils.drawImageHd(item.building, (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
}
}
};
function _Landmine(item, landmine, offsetX, offsetY, rotation, imageScale) {
var isVisible = 0;
var isInClan = 0;
if (((landmine.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[landmine.pid].team)) && (World.players[landmine.pid].teamUid === World.teams[World.PLAYER.team].uid))) || (Math2d.fastDist(NmM, WWV, landmine.x, landmine.y) < 52000)) isVisible = 1;
if (((landmine.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[landmine.pid].team)) && (World.players[landmine.pid].teamUid === World.teams[World.PLAYER.team].uid)))) isInClan = 1;
if (MOD.showLandmines) {
if (isVisible === 1) {
CanvasUtils.drawImageHd(item.building[landmine.id % 3], (vertst + landmine.x) + offsetX, (horist + landmine.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 0.2;
CanvasUtils.drawImageHd(LIGHTFIRE[5], (vertst + landmine.x) + offsetX, (horist + landmine.y) + offsetY, 0, 0, 0, 0.6);
ctx.globalAlpha = 1;
}
else if (isVisible === 0) {
CanvasUtils.drawImageHd(item.building[landmine.id % 3], (vertst + landmine.x) + offsetX, (horist + landmine.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 0.2;
CanvasUtils.drawImageHd(LIGHTFIRE[4], (vertst + landmine.x) + offsetX, (horist + landmine.y) + offsetY, 0, 0, 0, 0.6);
ctx.globalAlpha = 1;
}
} else {
if (isVisible === 1) {
landmine.breath = window.Math.min(300, landmine.breath + delta);
ctx.globalAlpha = MathUtils.Ease.inOutQuad(landmine.breath / 300);
CanvasUtils.drawImageHd(item.building[landmine.id % 3], (vertst + landmine.x) + offsetX, (horist + landmine.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
}
else if (isVisible === 0) {
landmine.breath = window.Math.min(300, landmine.breath + delta / 5);
ctx.globalAlpha = MathUtils.Ease.inOutQuad(landmine.breath / 300);
CanvasUtils.drawImageHd(item.building[landmine.id % 3], (vertst + landmine.x) + offsetX, (horist + landmine.y) + offsetY, rotation * PIby2, 0, 0, imageScale)
ctx.globalAlpha = 1;
}
}
};
function _DefaultBuilding(item, building, offsetX, offsetY, rotation, imageScale) {
CanvasUtils.drawImageHd(item.building, (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _Breakable(item, building, offsetX, offsetY, rotation, imageScale) {
CanvasUtils.drawImageHd(item.building[building.broke], (vertst + building.x) + offsetX, (horist + building.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _Wall(item, wall, offsetX, offsetY, rotation, imageScale) {
if (wall.broke > 0) CanvasUtils.drawImageHd(item.broken[wall.broke - 1], (vertst + wall.x) + offsetX, (horist + wall.y) + offsetY, 0, 0, 0, imageScale);
else CanvasUtils.drawImageHd(item.building[WwmwN(wall)], (vertst + wall.x) + offsetX, (horist + wall.y) + offsetY, 0, 0, 0, imageScale);
};
function handleProximity(item, player, checkPid) {
if ((((player.removed === 0) && (World.PLAYER.interaction !== 1)) && (World.PLAYER.isInBuilding !== 1)) && (((checkPid === 0) || (player.pid === World.PLAYER.id)) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[player.pid].team)) && (World.players[player.pid].teamUid === World.teams[World.PLAYER.team].uid)))) {
var distance = Math2d.fastDist(NmM, WWV, player.x, player.y);
if (distance < nearestDistance) {
World.PLAYER.packetId = item.packetId;
World.PLAYER.buildingId = player.id;
World.PLAYER.buildingPid = player.pid;
World.PLAYER.buildingArea = item.area;
nearestDistance = distance;
if (World.PLAYER.interaction === 0) World.PLAYER.extraLoot = 1;
World.PLAYER.interaction = 2;
World.PLAYER.eInteract = item.interact;
return 1;
}
}
return 0;
};
function _Construction(item, player, offsetX, offsetY, rotation, imageScale) {
CanvasUtils.drawImageHd(item.builder, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, 1);
var constructionLevel = (player.state >> 4) & 15;
if (player.breath2 !== constructionLevel) {
player.breath2 = constructionLevel;
player.breath = 0;
}
player.breath = player.breath + delta;
player.heal = (player.heal + delta) % 1000;
var imageScale = 1 + (0.03 * ((player.heal < 500) ? (player.heal / 500) : (1 - ((player.heal - 500) / 500))));
if (constructionLevel === 0) {
ctx.globalAlpha = MathUtils.Ease.inOutQuad(player.breath / item.evolve);
CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
} else if (player.breath < item.evolve) {
var progress = MathUtils.Ease.inOutQuad(player.breath / item.evolve);
ctx.globalAlpha = 1 - progress;
CanvasUtils.drawImageHd(item.building[constructionLevel - 1], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = progress;
CanvasUtils.drawImageHd(item.building[constructionLevel], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
} else CanvasUtils.drawImageHd(item.building[constructionLevel], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _TreeSeed(item, player, offsetX, offsetY, rotation, imageScale) {
var constructionLevel = (player.state >> 4) & 15;
player.breath = (player.breath + delta) % 1000;
var imageScale = 1 + (0.01 * ((player.breath < 500) ? (player.breath / 500) : (1 - ((player.breath - 500) / 500))));
CanvasUtils.drawImageHd(item.building[constructionLevel], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _OrangeSeed(item, player, offsetX, offsetY, rotation, imageScale) {
var constructionLevel = (player.state >> 4) & 15;
player.breath = (player.breath + delta) % 1000;
var imageScale = 1 + (0.03 * ((player.breath < 500) ? (player.breath / 500) : (1 - ((player.breath - 500) / 500))));
CanvasUtils.drawImageHd(item.building[constructionLevel], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _LowWall(item, player, offsetX, offsetY, rotation, imageScale) {
var WVV = (player.broke > 0) ? item.broken[player.broke - 1] : item.building[wmNMv(player, rotation)];
var img = WVV.img;
if (img.isLoaded !== 1) {
WVV.img = CanvasUtils.loadImage(WVV.src, WVV.img);
return;
}
var w = ((scaleby * img.width) / 2) * imageScale;
var h = ((scaleby * img.height) / 2) * imageScale;
ctx.save();
ctx.translate(scaleby * ((vertst + player.x) + offsetX), scaleby * ((horist + player.y) + offsetY));
ctx.rotate(rotation * PIby2);
ctx.translate((item.xRotate * scaleby) - (w / 2), (item.yRotate * scaleby) - (h / 2));
ctx.drawImage(img, -item.xRotate * scaleby, -item.yRotate * scaleby, w, h);
ctx.restore();
};
function _AutomaticDoor(item, player, offsetX, offsetY, rotation, imageScale) {
ctx.globalAlpha = 1;
var MvVvv = (player.state >> 7) & 1;
if (MvVvv === 1) player.hitMax = window.Math.min(500, player.hitMax + delta);
else if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
if ((player.hitMax > 0) && (player.hitMax !== 500)) {
ctx.globalAlpha = MathUtils.Ease.outQuad(player.hitMax / 500);
CanvasUtils.drawImageHd(item.building[1][player.broke], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = MathUtils.Ease.outQuad(1 - (player.hitMax / 500));
CanvasUtils.drawImageHd(item.building[0][player.broke], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
ctx.globalAlpha = 1;
} else CanvasUtils.drawImageHd(item.building[MvVvv][player.broke], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _SwitchOff(item, player, offsetX, offsetY, rotation, imageScale) {
handleProximity(item, player, 0);
CanvasUtils.drawImageHd(item.building[(player.state >> 4) & 1], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _TimerGate(item, player, offsetX, offsetY, rotation, imageScale) {
handleProximity(item, player, 0);
CanvasUtils.drawImageHd(item.building[(player.state >> 4) & 3], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _Lamp(item, player, offsetX, offsetY, rotation, imageScale) {
handleProximity(item, player, 0);
var light = (player.state >> 7) & 1;
if (light === 1) player.hitMax = window.Math.min(500, player.hitMax + delta);
else if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
if (player.hitMax > 0) {
WvnvV[pplonscr++] = player;
CanvasUtils.drawImageHd(item.buildingOn[(player.state >> 4) & 7], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _LampLight(player) {
var item = INVENTORY[player.extra >> 7];
ctx.globalAlpha = MathUtils.Ease.outQuad(player.hitMax / 500);
player.breath2 = (player.breath2 + delta) % 5000;
var breath = player.breath2;
var imageScale = 1 + (0.09 * ((breath < 2500) ? (breath / 2500) : (1 - ((breath - 2500) / 2500))));
CanvasUtils.drawImageHd(item.buildingTop[(player.state >> 4) & 7], vertst + player.x, horist + player.y, 0, 0, 0, imageScale);
ctx.globalAlpha = 1;
};
function _Door(item, player, offsetX, offsetY, rotation, imageScale) {
var NVNvv = (player.state >> 4) & 1;
var MWwVn = (player.pid === 0) ? 0 : 1;
if ((handleProximity(item, player, MWwVn) === 1) && (NVNvv === 1)) World.PLAYER.eInteract = item.interactclose;
if (player.hit !== NVNvv) {
player.hitMax = 500;
player.hit = NVNvv;
}
if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
var angle = item.angle;
if (NVNvv === 0) angle *= MathUtils.Ease.inOutQuad(player.hitMax / 500);
else angle *= MathUtils.Ease.inOutQuad(1 - (player.hitMax / 500));
var WVV = (player.broke > 0) ? item.broken[player.broke - 1] : item.building;
var img = WVV.img;
if (img.isLoaded !== 1) {
WVV.img = CanvasUtils.loadImage(WVV.src, WVV.img);
return;
}
var w = ((scaleby * img.width) / 2) * imageScale;
var h = ((scaleby * img.height) / 2) * imageScale;
ctx.save();
ctx.translate(scaleby * ((vertst + player.x) + offsetX), scaleby * ((horist + player.y) + offsetY));
ctx.rotate(rotation * PIby2);
ctx.translate((item.xRotate * scaleby) - (w / 2), (item.yRotate * scaleby) - (h / 2));
ctx.rotate(angle);
ctx.drawImage(img, -item.xRotate * scaleby, -item.yRotate * scaleby, w, h);
ctx.restore();
if ((player.state & 32) === 32) {
player.state -= 32;
if (((player.breath === 0) && (offsetX === 0)) && (offsetY === 0)) player.breath = 600;
}
if (player.breath > 0) {
if (arv.isLoaded !== 1) {
arv = CanvasUtils.loadImage(IMG_DAY_UNUSABLE, arv);
return;
}
if (player.breath > 400) ctx.globalAlpha = MathUtils.Ease.outQuad(1 - ((player.breath - 400) / 200));
else if (player.breath < 200) ctx.globalAlpha = MathUtils.Ease.outQuad(player.breath / 200);
var offsetY = scaleby * (((player.i * __TILE_SIZE__) + horist) + __TILE_SIZE2__);
var offsetX = scaleby * (((player.j * __TILE_SIZE__) + vertst) + __TILE_SIZE2__);
var width = (scaleby * arv.width) / 2;
var height = (scaleby * arv.height) / 2;
ctx.drawImage(arv, offsetX - (width / 2), offsetY - (height / 2), width, height);
ctx.globalAlpha = 1;
player.breath = window.Math.max(0, player.breath - delta);
}
};
function _GroundFloor(item, player, offsetX, offsetY, rotation, imageScale) {
var mmWVw = matrix[player.i][player.j];
mmWVw.tile = 0;
mmWVw.ground = frameId;
mmWVw.pid = player.pid;
if ((mmWVw.wallFrame !== frameId) || (mmWVw.drawFloor === 1)) {
if (player.broke > 0) CanvasUtils.drawImageHd(item.broken[player.broke - 1], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, 0, 0, 0, imageScale);
else CanvasUtils.drawImageHd(item.building[Wwmwm(player)], vertst + player.x, horist + player.y, 0, 0, 0, imageScale);
}
};
function _Furniture(item, player, offsetX, offsetY, rotation, imageScale) {
var inuse = (player.state >> 4) & 1;
var objects = INVENTORY[item.id].subtype[player.subtype];
if (inuse === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (((inuse === 0) && (objects.usable === 1)) && (handleProximity(objects, player, 0) === 1)) World.PLAYER.eInteract = ICON_E_FURNITURE;
CanvasUtils.drawImageHd(objects.building, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _Road(item, player, offsetX, offsetY, rotation, imageScale) {
var objects = INVENTORY[item.id].subtype[player.subtype];
CanvasUtils.drawImageHd(objects.building, vertst + player.x, horist + player.y, 0, 0, 0, imageScale);
};
function _Ghoul(entitie, player, offsetX, offsetY, imageScale) {
var Vmwnn = player.state & 254;
if (Vmwnn === 2) {
player.state &= 65281;
if (player.hit <= 0) {
player.hit = entitie.actionDelay;
player.hitMax = entitie.actionDelay;
var VVmnw = window.Math.floor(window.Math.random() * 3);
AudioUtils.playFx(AudioUtils._fx.shot[0][VVmnw], 0.5, Math2d.distance(World.PLAYER.x, World.PLAYER.y, player.x, player.y) / 3.5, 0);
}
}
var nmm = 0;
var NNM = 0;
var NWW = 0;
var wnN = 0;
if (player.hit > 0) {
player.hit = window.Math.max(0, player.hit - delta);
player.hit = window.Math.min(player.hit, entitie.actionDelay);
value = (player.hit > entitie.actionImpactClient) ? (1 - ((player.hit - entitie.actionImpactClient) / (entitie.actionDelay - entitie.actionImpactClient))) : (player.hit / entitie.actionImpactClient);
nmm = (player.hurt2 * MathUtils.Ease.inOutQuad(value)) * 0.55;
wnN = value * 6;
if (player.hurt2 === 1) NNM = value * 25;
else NWW = value * 25;
if (player.hit === 0) player.hurt2 *= -1;
} else if (Math2d.fastDist(player.x, player.y, player.nx, player.ny) < 1) {
player.breath = (player.breath + delta) % 1500;
if (player.breath2 !== 0) {
if (player.breath2 < 750) player.breath2 = 1500 - player.breath2;
player.breath2 = player.breath2 + delta;
if (player.breath2 > 1500) player.breath2 = 0;
}
} else {
player.breath2 = (player.breath2 + delta) % 1500;
if (player.breath2 > 1500) {
player.heal *= -1;
player.breath2 = player.breath2 % 1500;
}
if (player.breath !== 0) {
if (player.breath < 750) player.breath = 1500 - player.breath;
player.breath = player.breath + delta;
if (player.breath > 1500) player.breath = 0;
}
}
var breath = entitie.breath * ((player.breath < 750) ? (player.breath / 750) : (1 - ((player.breath - 750) / 750)));
var move = entitie.armMove * ((player.breath2 < 750) ? (player.breath2 / 750) : (1 - ((player.breath2 - 750) / 750)));
CanvasUtils.drawImageHd(entitie.rightArm, offsetX, offsetY, ((entitie.rightArm.angle + player.angle) + breath) + nmm, (entitie.rightArm.x + (move * player.heal)) + NWW, entitie.rightArm.y, imageScale);
CanvasUtils.drawImageHd(entitie.leftArm, offsetX, offsetY, ((-entitie.leftArm.angle + player.angle) - breath) + nmm, (entitie.leftArm.x - (move * player.heal)) + NNM, entitie.leftArm.y, imageScale);
if (player.hurt > 0) {
var mnM = 1;
player.hurt -= delta;
var value = 0;
if (player.hurt > 150) value = MathUtils.Ease.inQuad((300 - player.hurt) / 300);
else {
value = MathUtils.Ease.outQuad(player.hurt / 150);
mnM += (1 - value) * 0.2;
}
offsetX += (window.Math.cos(player.hurtAngle) * value) * 10;
offsetY += (window.Math.sin(player.hurtAngle) * value) * 10;
ctx.globalAlpha = window.Math.min(1, window.Math.max(0, value));
CanvasUtils.drawImageHd(entitie.hurt, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, mnM);
ctx.globalAlpha = 1;
}
CanvasUtils.drawImageHd(entitie.head, offsetX, offsetY, player.angle + (nmm / 1.5), wnN, 0, imageScale);
};
function _Workbench(item, player, offsetX, offsetY, rotation, imageScale) {
var inuse = (player.state >> 4) & 1;
if (inuse === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (inuse === 0) handleProximity(item, player, 0);
CanvasUtils.drawImageHd(item.building, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _Workbench2(item, player, offsetX, offsetY, rotation, imageScale) {
var i = (rotation + 1) % 2;
var j = rotation % 2;
matrix[player.i + i][player.j + j].tile = frameId;
matrix[player.i - i][player.j - j].tile = frameId;
matrix[player.i + i][player.j + j].tilePid = player.pid;
matrix[player.i - i][player.j - j].tilePid = player.pid;
matrix[player.i + i][player.j + j].category = window.undefined;
matrix[player.i - i][player.j - j].category = window.undefined;
handleProximity(item, player, 0);
CanvasUtils.drawImageHd(item.building, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
};
function _Agitator(item, player, offsetX, offsetY, rotation, imageScale) {
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = window.Math.min(10000, player.hitMax + delta);
else if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
var value = 0;
if (player.hitMax > 0) {
value = MathUtils.Ease.outQuad(player.hitMax / 10000);
player.heal += (value * delta) / 300;
CanvasUtils.drawImageHd(item.building[1], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
CanvasUtils.drawImageHd(item.building[2], ((vertst + player.x) + offsetX) + item.spine[rotation][0], ((horist + player.y) + offsetY) + item.spine[rotation][1], (rotation * PIby2) + player.heal, 0, 0, imageScale);
CanvasUtils.drawImageHd(item.building[3], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _Extractor(item, player, offsetX, offsetY, rotation, imageScale) {
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = window.Math.min(10000, player.hitMax + delta);
else if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
var value = 0;
if (player.hitMax > 0) {
value = MathUtils.Ease.outQuad(player.hitMax / 10000);
offsetX += ((window.Math.random() * 2) - 1) * value;
offsetY += ((window.Math.random() * 2) - 1) * value;
player.heal += (value * delta) / 300;
CanvasUtils.drawImageHd(item.building[1], ((vertst + player.x) + offsetX) + item.spine[rotation][0], ((horist + player.y) + offsetY) + item.spine[rotation][1], (rotation * PIby2) + player.heal, 0, 0, imageScale);
CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building[2], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _Feeder(item, player, offsetX, offsetY, rotation, imageScale) {
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = window.Math.min(10000, player.hitMax + delta);
else if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
var value = 0;
if (player.hitMax > 0) {
value = MathUtils.Ease.outQuad(player.hitMax / 10000);
offsetX += ((window.Math.random() * 2) - 1) * value;
offsetY += ((window.Math.random() * 2) - 1) * value;
player.heal += (value * delta) / 300;
CanvasUtils.drawImageHd(item.building[1], ((vertst + player.x) + offsetX) + item.spine[rotation][0], ((horist + player.y) + offsetY) + item.spine[rotation][1], (rotation * PIby2) + player.heal, 0, 0, imageScale);
CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building[2], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function containeropenic(player, offsetX, offsetY) {
player.breath = (player.breath + delta) % 1000;
var imageScale = 1 + (0.15 * ((player.breath < 500) ? (player.breath / 500) : (1 - ((player.breath - 500) / 500))));
imageScale *= scaleby;
if (arv.isLoaded !== 1) {
arv = CanvasUtils.loadImage(IMG_DAY_UNUSABLE, arv);
return;
}
ctx.globalAlpha = MathUtils.Ease.outQuad(player.hit / 500);
var offsetY = scaleby * (((player.i * __TILE_SIZE__) + horist) + __TILE_SIZE2__);
var offsetX = scaleby * (((player.j * __TILE_SIZE__) + vertst) + __TILE_SIZE2__);
var width = (imageScale * arv.width) / 2;
var height = (imageScale * arv.height) / 2;
ctx.drawImage(arv, offsetX - (width / 2), offsetY - (height / 2), width, height);
ctx.globalAlpha = 1;
};
function _Compost(item, player, offsetX, offsetY, rotation, imageScale) {
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = window.Math.min(10000, player.hitMax + delta);
else if (player.hitMax > 0) {
player.hitMax = window.Math.max(0, player.hitMax - delta);
}
var value = 0;
if (player.hitMax > 0) {
value = MathUtils.Ease.outQuad(player.hitMax / 10000);
offsetX += ((window.Math.random() * 2) - 1) * value;
offsetY += ((window.Math.random() * 2) - 1) * value;
CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building[1], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _Smelter(item, player, offsetX, offsetY, rotation, imageScale) {
var i = (rotation + 1) % 2;
var j = rotation % 2;
matrix[player.i + i][player.j + j].tile = frameId;
matrix[player.i - i][player.j - j].tile = frameId;
matrix[player.i + i][player.j + j].tilePid = player.pid;
matrix[player.i - i][player.j - j].tilePid = player.pid;
matrix[player.i + i][player.j + j].category = window.undefined;
matrix[player.i - i][player.j - j].category = window.undefined;
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = window.Math.min(10000, player.hitMax + delta);
else if (player.hitMax > 0) {
player.hitMax = window.Math.max(0, player.hitMax - delta);
}
var value = 0;
if (player.hitMax > 0) {
value = MathUtils.Ease.outQuad(player.hitMax / 10000);
offsetX += ((window.Math.random() * 2) - 1) * value;
offsetY += ((window.Math.random() * 2) - 1) * value;
CanvasUtils.drawImageHd(item.building[1], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _TeslaBench(item, player, offsetX, offsetY, rotation, imageScale) {
var i = (rotation + 1) % 2;
var j = rotation % 2;
matrix[player.i + i][player.j + j].tile = frameId;
matrix[player.i - i][player.j - j].tile = frameId;
matrix[player.i + i][player.j + j].tilePid = player.pid;
matrix[player.i - i][player.j - j].tilePid = player.pid;
matrix[player.i + i][player.j + j].category = window.undefined;
matrix[player.i - i][player.j - j].category = window.undefined;
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = 1 + (player.hitMax + (delta % 300000));
else player.hitMax = 0;
var value = 0;
if (player.hitMax > 0) {
CanvasUtils.drawImageHd(item.building[1 + (window.Math.floor(player.hitMax / 500) % 3)], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
var light = item.light[window.Math.floor(player.hitMax / 50) % item.light.length];
if (light !== 0) CanvasUtils.drawImageHd(light, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
} else CanvasUtils.drawImageHd(item.building[0], (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _CampfireLight(player) {
ctx.globalAlpha = MathUtils.Ease.outQuad(player.hitMax / 500);
player.heal = (player.heal + delta) % 1000;
for (var i = 0; i < 3; i++) {
var breath = (player.heal + (i * 333)) % 1000;
var imageScale = 1 + (0.15 * ((breath < 500) ? (breath / 500) : (1 - ((breath - 500) / 500))));
CanvasUtils.drawImageHd(LIGHTFIRE[i], (vertst + player.x) + LIGHTFIREX[i], (horist + player.y) + LIGHTFIREY[i], 0, 0, 0, imageScale);
}
player.breath2 = (player.breath2 + delta) % 5000;
var breath = player.breath2;
var imageScale = 1 + (0.15 * ((breath < 2500) ? (breath / 2500) : (1 - ((breath - 2500) / 2500))));
CanvasUtils.drawImageHd(LIGHTFIRE[3], (vertst + player.x) + LIGHTFIREX[3], (horist + player.y) + LIGHTFIREY[3], 0, 0, 0, imageScale);
ctx.globalAlpha = 1;
};
function _Campfire(item, player, offsetX, offsetY, rotation, imageScale) {
var MWm = (player.state >> 4) & 1;
if (MWm === 1) player.hit = window.Math.min(500, player.hit + delta);
else if (player.hit > 0) player.hit = window.Math.max(0, player.hit - delta);
if (MWm === 0) handleProximity(item, player, 0);
CanvasUtils.drawImageHd(item.building, (vertst + player.x) + offsetX, (horist + player.y) + offsetY, rotation * PIby2, 0, 0, imageScale);
var light = (player.state >> 5) & 1;
if (light === 1) player.hitMax = window.Math.min(500, player.hitMax + delta);
else if (player.hitMax > 0) player.hitMax = window.Math.max(0, player.hitMax - delta);
if (player.hitMax > 0) WvnvV[pplonscr++] = player;
if (player.hit > 0) containeropenic(player, offsetX, offsetY);
};
function _Explosions(player) {
var img = ENTITIES[__ENTITIE_EXPLOSION__].explosions;
var mVn = window.Math.floor(player.born / 70);
if (mVn < 10) {
if (player.born === 0) {
if (Render.explosionShake !== -2) Render.explosionShake = 20;
AudioUtils.playFx(AudioUtils._fx.explosion, 0.7, Math2d.distance(World.PLAYER.x, World.PLAYER.y, player.x, player.y) / 4);
}
CanvasUtils.drawImageHd(img[mVn], vertst + player.x, horist + player.y, 0, 0, 0, 1);
}
player.born += delta;
};
function _Resources(resource) {
matrix[resource.i][resource.j].tile = frameId;
matrix[resource.i][resource.j].tilePid = resource.pid;
matrix[resource.i][resource.j].category = window.undefined;
var WwMWW = RESOURCES[(resource.extra >> 5) & 31];
var type = WwMWW.type[(resource.extra >> 10) & 7];
var imageScale = 1;
if (resource.removed !== 0) {
if (resource.death === 0) {
if ((WwMWW.destroy !== 0) && (soundLimit[WwMWW.destroy] === 0)) {
AudioUtils.playFx(AudioUtils._fx.damage[WwMWW.destroy], 1, Math2d.distance(World.PLAYER.x, World.PLAYER.y, resource.x, resource.y) / 2.5);
soundLimit[WwMWW.destroy] = 1;
}
vNwNM(resource, WwMWW.particles, type.particlesDist, type.particle);
}
resource.death += delta;
var value = window.Math.max(0, MathUtils.Ease.outQuart(1 - (resource.death / 300)));
ctx.globalAlpha = value;
imageScale = window.Math.min(1 + (0.35 * (1 - value)), 1.35);
} else if (resource.born < 700) {
if ((resource.born === 0) && (type.imgTop !== window.undefined)) {
if (WMWvN === 0) resource.breath = window.Math.floor(window.Math.random() * 6000);
else {
resource.heal = window.Math.floor(window.Math.random() * 6000);
resource.breath = 3000;
}
}
var value = window.Math.min(1, MathUtils.Ease.outQuart(resource.born / 700));
ctx.globalAlpha = value;
imageScale = (0.5 * value) + 0.5;
}
if ((resource.state & 2) === 2) {
if ((WwMWW.impact !== 0) && (soundLimit[WwMWW.impact] === 0)) {
AudioUtils.playFx(AudioUtils._fx.damage[WwMWW.impact], 1, Math2d.distance(World.PLAYER.x, World.PLAYER.y, resource.x, resource.y) / 2.8);
soundLimit[WwMWW.impact] = 1;
}
resource.hurt = 250;
if (resource.hurt2 <= 0) resource.hurt2 = 300;
resource.hurtAngle = (PI2 * (resource.extra & 31)) / 31;
resource.state &= ~2;
vNwNM(resource, WwMWW.particles, type.particlesDist, 1);
}
var offsetX = 0;
var offsetY = 0;
if (resource.hurt > 0) {
var hurt = (resource.hurt > 200) ? ((20 * (250 - resource.hurt)) / 50) : ((20 * resource.hurt) / 200);
offsetX = window.Math.cos(resource.hurtAngle) * hurt;
offsetY = window.Math.sin(resource.hurtAngle) * hurt;
resource.hurt -= delta;
}
if (((resource.breath === 3000) && (WMWvN !== 0)) && (resource.hurt === 0)) {
CanvasUtils.drawImageHd(type.imgFull, (vertst + resource.x) + offsetX, (horist + resource.y) + offsetY, resource.angle, 0, 0, imageScale);
if (resource.removed !== 0) {
if (resource.death > 300) resource.removed = 2;
ctx.globalAlpha = 1;
} else if (resource.born < 700) {
resource.born += delta;
ctx.globalAlpha = 1;
}
return;
}
CanvasUtils.drawImageHd(type.img, (vertst + resource.x) + offsetX, (horist + resource.y) + offsetY, resource.angle, 0, 0, imageScale);
if (type.imgTop !== window.undefined) {
offsetX = 0;
offsetY = 0;
if (resource.hurt2 > 0) {
var hurt = (resource.hurt2 > 250) ? (10 * MathUtils.Ease.inQuad((300 - resource.hurt2) / 250)) : (10 * MathUtils.Ease.outQuad(resource.hurt2 / 250));
offsetX = window.Math.cos(resource.hurtAngle) * hurt;
offsetY = window.Math.sin(resource.hurtAngle) * hurt;
resource.hurt2 -= delta;
}
if (WMWvN === 0) {
if (resource.heal > 0) resource.heal = window.Math.max(0, resource.heal - delta);
else resource.breath += delta;
if (resource.breath > 6000) resource.breath = 0;
if (resource.breath > 3000) imageScale += (0.025 * (resource.breath - 3000)) / 3000;
else imageScale += 0.025 - ((0.025 * resource.breath) / 3000);
} else {
if (resource.heal === 0) resource.heal = resource.breath;
if (resource.breath > 6000) resource.breath = 0;
if (resource.breath > 3000) {
resource.breath = window.Math.max(3000, resource.breath - delta);
imageScale += (0.025 * (resource.breath - 3000)) / 3000;
} else if (resource.breath < 3000) {
resource.breath = window.Math.min(3000, resource.breath + delta);
imageScale += 0.025 - ((0.025 * resource.breath) / 3000);
}
}
CanvasUtils.drawImageHd(type.imgTop, (vertst + resource.x) + offsetX, (horist + resource.y) + offsetY, resource.angle, 0, 0, imageScale);
}
if (resource.removed !== 0) {
if (resource.death > 300) resource.removed = 2;
ctx.globalAlpha = 1;
} else if (resource.born < 700) {
resource.born += delta;
ctx.globalAlpha = 1;
}
/*
var size = type.radius;
ctx.beginPath();
ctx.arc(scaleby * ((vertst + resource.x) + offsetX),scaleby * ((horist + resource.y) + offsetY), scaleby * size, 0, 2 * Math.PI);
ctx.strokeStyle = '#FF0000';
ctx.stroke();
*/
if (pathFinder) {
for (var x = 0; x < pworldWidth; x++) {
for (var y = 0; y < pworldHeight; y++) {
pworld[resource.j][resource.i] = 1;
}
}
}
};
function _Buildings(building) {
matrix[building.i][building.j].tile = frameId;
matrix[building.i][building.j].tilePid = building.pid;
matrix[building.i][building.j].category = window.undefined;
var rotation = (building.extra >> 5) & 3;
var item = INVENTORY[building.extra >> 7];
var imageScale = 1;
matrix[building.i][building.j].category = item.detail.category;
if (building.removed !== 0) {
if (building.death === 0) {
var _item = (item.particles === -1) ? INVENTORY[item.id].subtype[building.subtype] : item;
vNwNM(building, _item.particles, _item.particlesDist, 5);
if ((_item.destroy !== 0) && (soundLimit[_item.destroy] === 0)) {
AudioUtils.playFx(AudioUtils._fx.damage[_item.destroy], 1, Math2d.distance(World.PLAYER.x, World.PLAYER.y, building.x, building.y) / 2.5);
soundLimit[_item.destroy] = 1;
}
}
building.death += delta;
var value = window.Math.max(0, MathUtils.Ease.outQuart(1 - (building.death / 300)));
ctx.globalAlpha = value;
imageScale = window.Math.min(1 + (0.35 * (1 - value)), 1.35);
}
if ((building.state & 2) === 2) {
building.hurt = 250;
building.hurtAngle = (PI2 * (building.extra & 31)) / 31;
building.state &= ~2;
var _item = (item.particles === -1) ? INVENTORY[item.id].subtype[building.subtype] : item;
vNwNM(building, _item.particles, _item.particlesDist, 1);
if ((_item.impact !== 0) && (soundLimit[_item.impact] === 0)) {
AudioUtils.playFx(AudioUtils._fx.damage[_item.impact], 1, Math2d.distance(World.PLAYER.x, World.PLAYER.y, building.x, building.y) / 2.8);
soundLimit[_item.impact] = 1;
}
}
var offsetX = 0;
var offsetY = 0;
if (building.hurt > 0) {
if (building.hurt > 200) {
var hurt = (20 * (250 - building.hurt)) / 100;
offsetX = window.Math.cos(building.hurtAngle) * hurt;
offsetY = window.Math.sin(building.hurtAngle) * hurt;
building.hurt -= delta;
} else {
var hurt = (20 * building.hurt) / 200;
offsetX = window.Math.cos(building.hurtAngle) * hurt;
offsetY = window.Math.sin(building.hurtAngle) * hurt;
building.hurt -= delta;
}
}
item.draw(item, building, offsetX, offsetY, rotation, imageScale);
if (building.removed !== 0) {
if (building.death > 300) building.removed = 2;
ctx.globalAlpha = 1;
}
if (pathFinder) {
if (INVENTORY[item.id].draw != Render.groundFloor) { // dont count floor
for (var x = 0; x < pworldWidth; x++) {
for (var y = 0; y < pworldHeight; y++) {
pworld[building.j][building.i] = 1;
}
}
}
}
if (MOD.buildingOwner) drawBuildingRectangle(building);
};
// Function to draw rectangle around building
function drawBuildingRectangle(building) {
// Constants
var gridSize = 100;
var width = 100; // Use the first element for the width
var height = 100; // Use the second element for the height
// Calculate snapped mouse coordinates
var mouseX = Math.round(GetAllTargets.mouseMapCords.x);
var mouseY = Math.round(GetAllTargets.mouseMapCords.y);
var snappedMouseX = Math.floor(mouseX / gridSize) * gridSize;
var snappedMouseY = Math.floor(mouseY / gridSize) * gridSize;
// Calculate grid positions
var gridPosX = Math.floor(building.x / gridSize);
var gridPosY = Math.floor(building.y / gridSize);
// Check if the mouse is over the building's grid position and building.pid is not 0
if (snappedMouseX === gridPosX * gridSize && snappedMouseY === gridPosY * gridSize && building.pid !== 0) {
// Calculate dimensions and positioning
var scaledWidth = scaleby * width;
var scaledHeight = scaleby * height;
var offsetX = 0; // Assuming offsetX and offsetY are defined elsewhere
var offsetY = 0; // Adjust as per your requirements
var x = scaleby * (vertst + snappedMouseX + offsetX) - scaledWidth / 2;
var y = scaleby * (horist + snappedMouseY + offsetY) - scaledHeight / 2;
x += scaledWidth / 2; // Adjust to center the rectangle
y += scaledHeight / 2; // Adjust to center the rectangle
var isInClan = 0;
if (((building.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[building.pid].team)) && (World.players[building.pid].teamUid === World.teams[World.PLAYER.team].uid)))) {
isInClan = 1;
}
var lineColor;
if (isInClan === 1) {
lineColor = MOD.TeamColor; // Team color
} else {
lineColor = MOD.EnemyColor; // Enemy color
}
ctx.lineWidth = 2;
// Drawing rectangle
ctx.beginPath();
ctx.rect(x, y, scaledWidth, scaledHeight);
ctx.strokeStyle = lineColor;
ctx.stroke();
// Draw building ID or other information
drawDarkBox2(building, x, y)
drawText(building.i, building.j, building.pid);
}
}
function _Bullets(bullet) {
matrix[bullet.i][bullet.j].tile = frameId;
matrix[bullet.i][bullet.j].tilePid = bullet.pid;
matrix[bullet.i][bullet.j].category = window.undefined;
var progress = 1;
var i = bullet.i;
var j = bullet.j;
var NWvmm = (i <= 1) ? 0 : (i - 1);
var MvmNn = (i >= (worldWidth - 2)) ? (worldWidth - 1) : (i + 1);
var vnVVM = (j <= 1) ? 0 : (j - 1);
var MnVMW = (j >= (worldHeight - 2)) ? (worldHeight - 1) : (j + 1);
for (i = NWvmm; i <= MvmNn; i++) {
for (j = vnVVM; j <= MnVMW; j++) {
var VMV = matrix[i][j];
if (VMV.frameId !== frameId) continue;
var M = VMV.b;
var len = VMV.i;
for (var k = 0; k < len; k++) {
var playerGauges = M[k];
var type = playerGauges.type;
var mvnVn = Entitie.units[type][playerGauges.cycle];
if (((mvnVn.pid !== World.PLAYER.id)) && (Math2d.distance(mvnVn.x, mvnVn.y, bullet.x, bullet.y) < (ENTITIES[type].radius - 4))) {
window.console.log("DETECTED");
bullet.rx = bullet.x;
bullet.ry = bullet.y;
bullet.nx = bullet.x;
bullet.ny = bullet.y;
}
}
}
}
if (bullet.removed !== 0) {
bullet.death += delta;
progress = window.Math.max(0, MathUtils.Ease.outQuart(1 - (bullet.death / 200)));
ctx.globalAlpha = progress;
}
var distance = Math2d.fastDist(bullet.nx, bullet.ny, bullet.x, bullet.y);
if ((distance < 400) || (bullet.removed !== 0)) {
ctx.globalAlpha = window.Math.min(distance / 400, progress);
CanvasUtils.drawImageHd(ENTITIES[__ENTITIE_PLAYER__].bullets[bullet.extra][2], vertst + bullet.x, horist + bullet.y, bullet.angle, 0, 0, 1);
ctx.globalAlpha = progress;
CanvasUtils.drawImageHd(ENTITIES[__ENTITIE_PLAYER__].bullets[bullet.extra][1], vertst + bullet.x, horist + bullet.y, bullet.angle, 0, 0, 1);
} else CanvasUtils.drawImageHd(ENTITIES[__ENTITIE_PLAYER__].bullets[bullet.extra][0], vertst + bullet.x, horist + bullet.y, bullet.angle, 0, 0, 1);
if (bullet.removed !== 0) {
if (bullet.death > 200) bullet.removed = 2;
ctx.globalAlpha = 1;
}
};
function _Loots(loot) {
matrix[loot.i][loot.j].tile = frameId;
matrix[loot.i][loot.j].tilePid = loot.pid;
matrix[loot.i][loot.j].category = window.undefined;
if (loot.hit !== 0) {
var PLAYER = World.players[loot.hit];
if (frameId === PLAYER.frameId) {
var players = Entitie.units[__ENTITIE_PLAYER__];
var WMv = players[PLAYER.locatePlayer];
loot.nx = WMv.x;
loot.ny = WMv.y;
loot.angleX = window.Math.cos(Math2d.angle(loot.rx, loot.ry, loot.nx, loot.ny));
loot.angleY = window.Math.sin(Math2d.angle(loot.rx, loot.ry, loot.nx, loot.ny));
}
}
if ((loot.removed === 0) && (Math2d.fastDist(loot.x, loot.y, loot.nx, loot.ny) < 1)) {
var distance = Math2d.fastDist(NmM, WWV, loot.x, loot.y);
if (distance < distance12k) {
//Auto Loot
if (MOD.autoLoot) {
if (MOD.useLootData) {
for (let lootType in LootData) {
if (
LootData.hasOwnProperty(lootType) &&
LootData[lootType].acquire &&
loot.extra === LootData[lootType].extra
) {
Client.sendPacket(window.JSON.stringify([12, loot.id]));
break; // Break the loop once we find a matching item
}
}
} else {
Client.sendPacket(window.JSON.stringify([12, loot.id]));
}
};
// -----
distance12k = distance;
World.PLAYER.loot = loot.extra;
World.PLAYER.lootId = loot.id;
if (World.PLAYER.interaction <= 0) World.PLAYER.interaction = 0;
else World.PLAYER.extraLoot = 1;
}
}
var breath = 0;
var vnwmm = 0;
if (loot.removed !== 0) {
loot.death += delta;
ctx.globalAlpha = window.Math.max(0, MathUtils.Ease.outQuart(1 - (loot.death / 800)));
vnwmm = loot.death / 2400;
} else if (loot.born < 500) {
var value = window.Math.min(1, MathUtils.Ease.outQuart(loot.born / 500));
ctx.globalAlpha = value;
}
loot.breath = (loot.breath + delta) % 1500;
if (loot.breath < 750) breath = 0.95 + (MathUtils.Ease.inOutQuad(loot.breath / 750) * 0.1);
else breath = 0.95 + (MathUtils.Ease.inOutQuad(1 - ((loot.breath - 750) / 750)) * 0.1);
CanvasUtils.drawImageHd(LOOT[loot.extra], vertst + loot.x, horist + loot.y, loot.angle, 0, 0, breath - vnwmm);
if (loot.removed !== 0) {
if (loot.death > 800) loot.removed = 2;
ctx.globalAlpha = 1;
} else if (loot.born < 500) {
loot.born += delta;
ctx.globalAlpha = 1;
}
};
function RenderObjects() {
var i = 0;
pplonscr = 0;
NNmMN[0] = 0;
NNmMN[1] = 0;
NNmMN[2] = 0;
NNmMN[3] = 0;
nearestDistance = 12000;
distance12k = 12000;
World.PLAYER.extraLoot = 0;
World.PLAYER.buildingId = -1;
World.PLAYER.buildingArea = -1;
if (World.PLAYER.interaction !== 1) World.PLAYER.interaction = -1;
var ents = Entitie.units[ENTITIES.length];
var entsBorder = Entitie.border[ENTITIES.length];
var entsLen = entsBorder.border;
var buildings = Entitie.units[__ENTITIE_BUILD_TOP__];
var buildingsBorder = Entitie.border[__ENTITIE_BUILD_TOP__];
var buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) _bigWallConnect(buildings[buildingsBorder.cycle[i]]);
buildings = Entitie.units[__ENTITIE_BUILD_GROUND2__];
buildingsBorder = Entitie.border[__ENTITIE_BUILD_GROUND2__];
buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) _floorConnect(buildings[buildingsBorder.cycle[i]]);
for (i = 0; i < buildingsLen; i++) _Buildings(buildings[buildingsBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_BUILD_GROUND2__) _Buildings(player);
}
if (setParticles !== 0) {
var particles = Entitie.units[__ENTITIE_PARTICLES__];
var buildingsBorder = Entitie.border[__ENTITIE_PARTICLES__];
var buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) _Particles(particles[buildingsBorder.cycle[i]]);
if (PARTICLE.id !== -1) {
Entitie.remove(0, PARTICLE.id, PARTICLE.uid, __ENTITIE_PARTICLES__);
PARTICLE.id = -1;
}
}
var buildings = Entitie.units[__ENTITIE_BUILD_GROUND__];
var buildingsBorder = Entitie.border[__ENTITIE_BUILD_GROUND__];
var buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) _Buildings(buildings[buildingsBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_BUILD_GROUND__) _Buildings(player);
}
resources = Entitie.units[__ENTITIE_RESOURCES_DOWN__];
resourceBorder = Entitie.border[__ENTITIE_RESOURCES_DOWN__];
resourceLen = resourceBorder.border;
for (i = 0; i < resourceLen; i++) _Resources(resources[resourceBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_RESOURCES_DOWN__) _Resources(player);
}
var buildings = Entitie.units[__ENTITIE_BUILD_DOWN__];
var buildingsBorder = Entitie.border[__ENTITIE_BUILD_DOWN__];
var buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) _wallConnect(buildings[buildingsBorder.cycle[i]]);
for (i = 0; i < buildingsLen; i++) _Buildings(buildings[buildingsBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_BUILD_DOWN__) _Buildings(player);
}
var players = Entitie.units[__ENTITIE_PLAYER__];
var border = Entitie.border[__ENTITIE_PLAYER__];
var len = border.border;
for (i = 0; i < len; i++) {
var pos = border.cycle[i];
var player = players[pos];
var PLAYER = World.players[player.pid];
_Run(player);
PLAYER.locatePlayer = pos;
PLAYER.frameId = frameId;
MmnMv(player, pos);
}
World.PLAYER.loot = -1;
World.PLAYER.lootId = -1;
var loots = Entitie.units[__ENTITIE_LOOT__];
var lootsBorder = Entitie.border[__ENTITIE_LOOT__];
var lootsLen = lootsBorder.border;
for (i = 0; i < lootsLen; i++) _Loots(loots[lootsBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_LOOT__) _Loots(player);
}
var bullets = Entitie.units[__ENTITIE_BULLET__];
var bulletsBorder = Entitie.border[__ENTITIE_BULLET__];
var bulletsLen = bulletsBorder.border;
for (i = 0; i < bulletsLen; i++) _Bullets(bullets[bulletsBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_BULLET__) _Bullets(player);
}
resources = Entitie.units[__ENTITIE_RESOURCES_MID__];
resourceBorder = Entitie.border[__ENTITIE_RESOURCES_MID__];
resourceLen = resourceBorder.border;
for (i = 0; i < resourceLen; i++) _Resources(resources[resourceBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_RESOURCES_MID__) _Resources(player);
}
if (World.gameMode === World.__GHOUL__) {
for (i = 0; i < len; i++) {
var player = players[border.cycle[i]];
var ghoul = World.players[player.pid].ghoul;
if (ghoul === 0) _EntitiePlayer(player);
else {
player.extra = ghoul - 1;
_EntitieAI(player);
};
}
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_PLAYER__) {
_Run(player);
var ghoul = World.players[player.pid].ghoul;
if (ghoul === 0) _EntitiePlayer(player);
else {
player.extra = ghoul - 1;
_EntitieAI(player);
};
}
}
} else {
for (i = 0; i < len; i++) _EntitiePlayer(players[border.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_PLAYER__) {
_Run(player);
_EntitiePlayer(player);
}
}
}
var entitie = Entitie.units[__ENTITIE_AI__];
var entitieBorder = Entitie.border[__ENTITIE_AI__];
var entitieLen = entitieBorder.border;
for (i = 0; i < entitieLen; i++) _EntitieAI(entitie[entitieBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_AI__) _EntitieAI(player);
}
buildings = Entitie.units[__ENTITIE_BUILD_TOP__];
buildingsBorder = Entitie.border[__ENTITIE_BUILD_TOP__];
buildingsLen = buildingsBorder.border;
for (i = 0; i < buildingsLen; i++) _Buildings(buildings[buildingsBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_BUILD_TOP__) _Buildings(player);
}
for (i = 0; i < pplonscr; i++) {
var item = INVENTORY[WvnvV[i].extra >> 7];
item.drawTop(WvnvV[i]);
WvnvV[i] = null;
}
resources = Entitie.units[__ENTITIE_RESOURCES_TOP__];
resourceBorder = Entitie.border[__ENTITIE_RESOURCES_TOP__];
resourceLen = resourceBorder.border;
for (i = 0; i < resourceLen; i++) _Resources(resources[resourceBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_RESOURCES_TOP__) _Resources(player);
}
resources = Entitie.units[__ENTITIE_RESOURCES_STOP__];
resourceBorder = Entitie.border[__ENTITIE_RESOURCES_STOP__];
resourceLen = resourceBorder.border;
for (i = 0; i < resourceLen; i++) _Resources(resources[resourceBorder.cycle[i]]);
for (i = 0; i < entsLen; i++) {
var player = ents[entsBorder.cycle[i]];
if (player.type === __ENTITIE_RESOURCES_STOP__) _Resources(player);
}
explosions = Entitie.units[__ENTITIE_EXPLOSION__];
explosionBorder = Entitie.border[__ENTITIE_EXPLOSION__];
explosionLen = explosionBorder.border;
for (i = 0; i < explosionLen; i++) _Explosions(explosions[explosionBorder.cycle[i]]);
for (i = 0; i < len; i++) _playerNotification(players[border.cycle[i]]);
if (World.gameMode !== World.__BR__) {
for (i = 0; i < len; i++) _playerName(players[border.cycle[i]]);
for (i = 0; i < len; i++) _playerChatMessage(players[border.cycle[i]]);
if (MOD.showPID) {for (i = 0; i < len; i++) _playerID(players[border.cycle[i]])};
}
for (i = 0; i < len; i++) _CheckMyPlayer(players[border.cycle[i]]);
if (MOD.DrawLines) {
for (i = 0; i < len; i++) _DrawLines(players[border.cycle[i]]);
}
if (pathFinder) {
for (i = 0; i < len; i++) _PathFinder(players[border.cycle[i]]);
}
};
function drawText(i, j, text) {
var offsetY = scaleby * (((i * __TILE_SIZE__) + horist) + __TILE_SIZE2__);
var offsetX = scaleby * (((j * __TILE_SIZE__) + vertst) + __TILE_SIZE2__);
var size = 40
butlabel = GUI.renderText(text, "'Viga', sans-serif", "#FFFFFF", 38, 400, window.undefined, 16, 25, window.undefined, window.undefined, window.undefined, window.undefined, "#000000", 12);
ctx.drawImage(butlabel, offsetX, offsetY, scaleby * size, scaleby * size);
}
function _DrawLines(player) {
var PLAYER = World.players[player.pid];
var isInClan = 0;
if(World.PLAYER.id === player.pid) return;
var targetsPosition = {
x: scaleby * (player.x + vertst),
y: scaleby * (player.y + horist)
};
var myPosition = {
x: scaleby * (World.PLAYER.x + vertst),
y: scaleby * (World.PLAYER.y + horist)
};
var size = 38;
var grey = '#E5E5E5';
var teamcolor;
var enemycolor;
ctx.globalAlpha = MOD.linesOpacity
if (!MOD.ColorizeTeam) teamcolor = grey; else teamcolor = MOD.TeamColor;
if (!MOD.ColorizeTeam) enemycolor = grey; else enemycolor = MOD.EnemyColor;
if (((player.pid === World.PLAYER.id) || (((World.PLAYER.team !== -1) && (World.PLAYER.team === World.players[player.pid].team)) && (World.players[player.pid].teamUid === World.teams[World.PLAYER.team].uid))) ) isInClan = 1;
if (isInClan === 1) {
ctx.beginPath();
ctx.moveTo(myPosition.x, myPosition.y);
ctx.lineTo(targetsPosition.x, targetsPosition.y);
ctx.lineWidth = 1.2;
ctx.strokeStyle = teamcolor;
ctx.stroke();
ctx.beginPath();
ctx.arc(myPosition.x, myPosition.y, scaleby * size, 0, 2 * Math.PI);
ctx.strokeStyle = teamcolor;
ctx.stroke();
}
else if (PLAYER.team === -1) {
ctx.beginPath();
ctx.moveTo(myPosition.x, myPosition.y);
ctx.lineTo(targetsPosition.x, targetsPosition.y);
ctx.lineWidth = 1.2;
ctx.strokeStyle = grey;
ctx.stroke();
ctx.beginPath();
ctx.arc(targetsPosition.x, targetsPosition.y, scaleby * size, 0, 2 * Math.PI);
ctx.strokeStyle = grey;
ctx.stroke();
}
else {
ctx.beginPath();
ctx.moveTo(myPosition.x, myPosition.y);
ctx.lineTo(targetsPosition.x, targetsPosition.y);
ctx.lineWidth = 1.2;
ctx.strokeStyle = enemycolor;
ctx.stroke();
ctx.beginPath();
ctx.arc(targetsPosition.x, targetsPosition.y, scaleby * size, 0, 2 * Math.PI);
ctx.strokeStyle = enemycolor;
ctx.stroke();
}
ctx.globalAlpha = 1;
}
function _PathFinder(player) {
matrix[player.i][player.j].tile = frameId;
matrix[player.i][player.j].tilePid = player.pid;
matrix[player.i][player.j].category = window.undefined;
if(player.pid === World.PLAYER.id) {
if (pathFinder) {
var startpoint = [
Math.floor(player.j),
Math.floor(player.i)
];
var endpoint = [
Math.floor(setx),
Math.floor(sety)
]
pathStart = startpoint;
pathEnd = endpoint;
currentPath = findPath(pworld, pathStart, pathEnd);
player.currentPath = currentPath;
function findPath(pworld, pathStart, pathEnd) {
var abs = Math.abs;
var max = Math.max;
var maxWalkableTileNum = 0;
var pworldWidth = pworld[0].length;
var pworldHeight = pworld.length;
var worldSize = pworldWidth * pworldHeight;
var distanceFunction = DiagonalDistance;
var findNeighbours = DiagonalNeighbours;
function DiagonalDistance(Point, Goal) {
return max(abs(Point.x - Goal.x), abs(Point.y - Goal.y));
}
function Neighbours(x, y) {
var N = y - 1,
S = y + 1,
E = x + 1,
W = x - 1,
myN = N > -1 && canWalkHere(x, N),
myS = S < pworldHeight && canWalkHere(x, S),
myE = E < pworldWidth && canWalkHere(E, y),
myW = W > -1 && canWalkHere(W, y),
result = [];
if (myN)
result.push({
x: x,
y: N
});
if (myE)
result.push({
x: E,
y: y
});
if (myS)
result.push({
x: x,
y: S
});
if (myW)
result.push({
x: W,
y: y
});
findNeighbours(myN, myS, myE, myW, N, S, E, W, result);
return result;
}
function DiagonalNeighbours(myN, myS, myE, myW, N, S, E, W, result) {
if (myN) {
if (myE && canWalkHere(E, N))
result.push({
x: E,
y: N
});
if (myW && canWalkHere(W, N))
result.push({
x: W,
y: N
});
}
if (myS) {
if (myE && canWalkHere(E, S))
result.push({
x: E,
y: S
});
if (myW && canWalkHere(W, S))
result.push({
x: W,
y: S
});
}
}
function canWalkHere(x, y) {
return ((pworld[x] != null) &&
(pworld[x][y] != null) &&
(pworld[x][y] <= maxWalkableTileNum || pworld[x][y] === 2));
};
function Node(Parent, Point) {
var newNode = {
Parent: Parent,
value: Point.x + (Point.y * pworldWidth),
x: Point.x,
y: Point.y,
f: 0,
g: 0
};
return newNode;
}
function calculatePath() {
var mypathStart = Node(null, {
x: pathStart[0],
y: pathStart[1]
});
var mypathEnd = Node(null, {
x: pathEnd[0],
y: pathEnd[1]
});
var AStar = new Array(worldSize);
var Open = [mypathStart];
var Closed = [];
var result = [];
var myNeighbours;
var myNode;
var myPath;
var length, max, min, i, j;
while (length = Open.length) {
max = worldSize;
min = -1;
for (i = 0; i < length; i++) {
if (Open[i].f < max) {
max = Open[i].f;
min = i;
}
}
myNode = Open.splice(min, 1)[0];
if (myNode.value === mypathEnd.value) {
myPath = Closed[Closed.push(myNode) - 1];
do {
result.push([myPath.x, myPath.y]);
}
while (myPath = myPath.Parent);
AStar = Closed = Open = [];
result.reverse();
} else
{
myNeighbours = Neighbours(myNode.x, myNode.y);
for (i = 0, j = myNeighbours.length; i < j; i++) {
myPath = Node(myNode, myNeighbours[i]);
if (!AStar[myPath.value]) {
myPath.g = myNode.g + distanceFunction(myNeighbours[i], myNode);
myPath.f = myPath.g + distanceFunction(myNeighbours[i], mypathEnd);
Open.push(myPath);
AStar[myPath.value] = true;
}
}
Closed.push(myNode);
}
}
return result;
}
return calculatePath();
}
function drawpath(player) {
player.currentPath = currentPath;
var datax = [];
var datay = [];
for(var i = 0; i < currentPath.length; i++) {
datax.push([a1x])
datay.push([a1y])
var a1x = scaleby * (((currentPath[i][1] * 100) + horist) + 50);
var a1y = scaleby * (((currentPath[i][0] * 100) + vertst) + 50);
}
ctx.beginPath(datay[0], datax[0]);
for(var i = 1; i < currentPath.length; i++) {
ctx.lineTo(datay[i], datax[i],);
ctx.strokeStyle = '#00FF7F';
ctx.stroke();
}
}
function drawBox() {
player.currentPath = currentPath;
var myposx = scaleby * (((player.j * 100) + vertst) + 50);
var myposy = scaleby * (((player.i * 100) + horist) + 50);
ctx.strokeRect((myposx - 20), (myposy - 20), 40, 40);
ctx.strokeStyle = '#00FF7F';
for(var i = 0; i < currentPath.length; i++) {
var lastposx = scaleby * (((currentPath[i][0] * 100) + vertst) + 50);
var lastposy = scaleby * (((currentPath[i][1] * 100) + horist) + 50);
}
ctx.strokeRect((lastposx - 20), (lastposy - 20), 40, 40);
ctx.strokeStyle = '#e2f553';
}
if (pathFinder){ drawpath(player); drawBox(); }
}
}
};
function _StopPoisonEffect() {
NNWWn = 0;
};
var handleResize;
var vmvNw = CanvasUtils.options.forceResolution;
var nvMNv = 0;
var wMmwW = 0;
var NNWWn = 0;
var VnwwM = 0;
var WvWvM = 0;
function _SetPoisonEffect(delay) {
if (WvWvM === 0) {
nvMNv = Render.scale;
Render.scale = 0.8;
wMmwW = 0;
NNWWn = delay;
VnwwM = 0;
WvWvM = 1;
vmvNw = CanvasUtils.options.deviceRatio / CanvasUtils.options.scheduledRatio;
}
};
function nmmMm() {
if ((NNWWn <= 0) && ((wMmwW + delta) > 1500)) {
WvWvM = 0;
wMmwW = 1500;
} else {
NNWWn -= delta;
VnwwM += delta;
wMmwW = (wMmwW + delta) % 1500;
}
var value = MathUtils.Ease.inOutQuad(((wMmwW > 750) ? (1500 - wMmwW) : wMmwW) / 750);
if (((NNWWn < 750) && (wMmwW > 750)) && ((1500 - wMmwW) > NNWWn)) {
var WmNnV = window.Math.max(0, (1500 - wMmwW) / 750);
value = (0.5 * WmNnV) + (value * (1 - 0.5));
} else if (VnwwM > 750) value = 0.5 + (value * (1 - 0.5));
var mvWMM = value * 20;
Render.scale = nvMNv + value;
CanvasUtils.options.scheduledRatio = CanvasUtils.options.deviceRatio / (vmvNw + mvWMM);
handleResize();
};
var vvMWV = window.document.createElement('canvas');
var vWwnm = vvMWV.getContext('2d');
function nvVmw() {
var temp;
var value;
var WvmWN = ctx;
value = 1 - MathUtils.Ease.inQuad(World.transition / 1000);
vvMWV.width = canvas.width;
vvMWV.height = canvas.height;
ctx = vWwnm;
ctx.save();
var mnV = CanvasUtils.options.scheduledRatio / CanvasUtils.options.backingStoreRatio;
ctx.scale(mnV, mnV);
temp = INVENTORY2;
INVENTORY2 = INVENTORY;
INVENTORY = temp;
temp = PARTICLES2;
PARTICLES2 = PARTICLES;
PARTICLES = temp;
temp = LOOT2;
LOOT2 = LOOT;
LOOT = temp;
temp = RESOURCES2;
RESOURCES2 = RESOURCES;
RESOURCES = temp;
temp = ENTITIES2;
ENTITIES2 = ENTITIES;
ENTITIES = temp;
temp = LIGHTFIRE2;
LIGHTFIRE2 = LIGHTFIRE;
LIGHTFIRE = temp;
temp = GROUND2;
GROUND2 = GROUND;
GROUND = temp;
temp = AI2;
AI2 = AI;
AI = temp;
ctx.fillStyle = (World.day === 0) ? "#0B2129" : "#3D5942";
ctx.fillRect(0, 0, canw, canh);
vMwNm();
RenderObjects();
temp = INVENTORY2;
INVENTORY2 = INVENTORY;
INVENTORY = temp;
temp = PARTICLES2;
PARTICLES2 = PARTICLES;
PARTICLES = temp;
temp = LOOT2;
LOOT2 = LOOT;
LOOT = temp;
temp = RESOURCES2;
RESOURCES2 = RESOURCES;
RESOURCES = temp;
temp = ENTITIES2;
ENTITIES2 = ENTITIES;
ENTITIES = temp;
temp = LIGHTFIRE2;
LIGHTFIRE2 = LIGHTFIRE;
LIGHTFIRE = temp;
temp = GROUND2;
GROUND2 = GROUND;
GROUND = temp;
temp = AI2;
AI2 = AI;
AI = temp;
ctx.restore();
ctx = WvmWN;
ctx.globalAlpha = value;
ctx.drawImage(vvMWV, 0, 0, canw, canh);
ctx.globalAlpha = 1;
World.transition = window.Math.max(0, World.transition - delta);
if (World.transition === 0) World.changeDayCycle();
};
function _World() {
Render.globalTime += delta;
if (WvWvM === 1) nmmMm();
wNnvM();
myplayerfocusinscreen();
vMwNm();
wmVNW();
RenderObjects();
placingobj();
if (World.transition > 0) nvVmw();
Entitie.cleanRemoved();
frameId++;
for (var i = 0; i < SOUND_LENGTH; i++) soundLimit[i] = 0;
GetMouseCords();
scaleby = oldscale;
canwns = canw / scaleby;
canhns = canh / scaleby;
};
function GetMouseCords() {
if (MOD.AimBotEnable) {
let aplha = ctx.globalAlpha,
width = ctx.lineWidth;
for (var lines = 0; lines < GetAllTargets.lines.length; lines++) {
let pos = GetAllTargets.lines[lines];
var myPosition = {
x: scaleby * (pos.x1 + vertst),
y: scaleby * (pos.y1 + horist)
};
var targetsPosition = {
x: scaleby * (pos.x2 + vertst),
y: scaleby * (pos.y2 + horist)
};
ctx.lineWidth = pos.width,
ctx.globalAlpha = pos.alpha,
ctx.strokeStyle = pos.color,
ctx.beginPath(),
ctx.moveTo(myPosition.x, myPosition.y),
ctx.lineTo(targetsPosition.x, targetsPosition.y),
ctx.stroke();
}
ctx.globalAlpha = aplha, ctx.lineWidth = width;
}
if (MOD.mouseFovEnable) GetAllTargets.mouseMapCords = _getMapCordsFromScreenMouseCords(GetAllTargets.mousePosition);
};
function _SetDetection(value) {
WMWvN = 0;
};
function _getMapCordsFromScreenMouseCords(cords) {
return {x: cords.x / scaleby - vertst, y: cords.y / scaleby - horist};
};
function _SetParticles(value) {
localStorage2.setItem("particles", "" + value);
setParticles = value;
};
return {
globalTime: window.Date.now(),
reset: _Reset,
world: _World,
minimap: _Minimap,
bigminimap: _BigMinimap,
gauges: _Gauges,
gaugesAfter: _GaugesAfter,
leaderboard: _Leaderboard,
inventory: _Inventory,
buttonInv: _buttonInv,
config: _Config,
craft: _Craft,
chest: _Chest,
team: _Team,
interaction: _Interaction,
alertServer: _AlertServer,
shake: 0,
explosionShake: 0,
scale: -0.,
setParticles: _SetParticles,
setDetection: _SetDetection,
setPoisonEffect: _SetPoisonEffect,
stopPoisonEffect: _StopPoisonEffect,
__TILE_SCALE__: __TILE_SCALE__,
__TILE_SIZE__: __TILE_SIZE__,
__TILE_SIZE2__: __TILE_SIZE2__,
__TRANSFORM__: 0,
wall: _Wall,
lowWall: _LowWall,
door: _Door,
workbench: _Workbench,
campfire: _Campfire,
campfireLight: _CampfireLight,
smelter: _Smelter,
compost: _Compost,
agitator: _Agitator,
extractor: _Extractor,
feeder: _Feeder,
workbench2: _Workbench2,
teslaBench: _TeslaBench,
orangeSeed: _OrangeSeed,
treeSeed: _TreeSeed,
groundFloor: _GroundFloor,
defaultBuilding: _DefaultBuilding,
hiddenBuilding: _HiddenBuilding,
breakable: _Breakable,
furniture: _Furniture,
road: _Road,
landmine: _Landmine,
dynamite: _Dynamite,
spike: _Spike,
ghoul: _Ghoul,
construction: _Construction,
lamp: _Lamp,
lampLight: _LampLight,
switchOff: _SwitchOff,
timerGate: _TimerGate,
automaticDoor: _AutomaticDoor,
battleRoyale: _BattleRoyale,
getMapCordsFromScreenMouseCords: _getMapCordsFromScreenMouseCords
};
})();
var ent, inhandID, weapon;
var myplayerhit = 0;
function _CheckMyPlayer(player) {
if(World.PLAYER.id === player.pid) {
ent = ENTITIES[__ENTITIE_PLAYER__];
inhandID = (player.extra >> 8) & 255;
weapon = ent.weapons[inhandID];
myplayerhit = player.hit;
}
}
function _AutoEat(delta) {
if (MOD.autoEat) {
const foodItems = {
orange: 12,
tomato: 77,
mushroom: 120,
mushroom2: 121,
steak: 10,
tomatoSoup: 72,
chips: 87,
soda: 39
};
const hungryLevel = World.gauges.food.current;
MOD.gaugesFood = hungryLevel;
const inventory = World.PLAYER.inventory;
let isLocked = true;
let foodInHand = false;
let interactionTimeout = World.PLAYER.interactionDelay;
interactionTimeout -= delta;
if (interactionTimeout <= 0 && World.PLAYER.interaction === -1) {
isLocked = false;
}
if (weapon.consumable !== 1 || weapon.heal < -1 || weapon.food <= 0) {
foodInHand = false;
} else {
foodInHand = true;
}
if (hungryLevel < MOD.hungryLevel) {
if (!isLocked) {
if (!foodInHand) {
checkInventoryForFood();
} else {
eatFood();
}
}
} else {
console.log('MOD.autoEat -> Not hungry.');
}
function checkInventoryForFood() {
let foundFood = false;
let foodItem;
for (const item of inventory) {
if (Object.values(foodItems).includes(item[0])) {
foodItem = {
id: item[0],
amount: item[1],
itemId: item[2],
extra: item[3]
};
foundFood = true;
break;
}
}
if (!isLocked && foundFood) {
equipFood(foodItem);
} else if (!isLocked) {
noFood();
}
}
function equipFood(foodItem) {
if (!isLocked) {
Client.sendPacket(JSON.stringify([8, foodItem.id, foodItem.amount, foodItem.itemId, foodItem.extra]));
console.log('MOD.autoEat -> Equip food.');
}
}
function eatFood() {
if (!isLocked) {
Client.sendMouseDown();
Client.sendMouseUp();
console.log('MOD.autoEat -> Eat food.');
}
}
function noFood() {
console.log('MOD.autoEat -> Food not found.');
}
if (myplayerhit !== 0) {
Client.sendMouseUp(); // Ensure no interference with gameplay
}
}
}
setInterval(_AutoEat(1), 3000);
var MapManager = (function() {
var TOP = 0;
var DOWN = 1;
var LEFT = 2;
var RIGHT = 4;
var vMWMW = 0;
var wMVvN = 0;
var MnMNn = 4;
var wWn = null;
var vWwNw = -1;
var VNnvM = 0;
var grid = [];
var NvMvV = [];
var roads = [];
var NWVNw = {
i: 0,
j: 0
};
function VVvvN() {
for (var i = 0; i < wMVvN; i++) {
grid[i] = [];
for (var j = 0; j < vMWMW; j++) grid[i][j] = 0;
}
};
function wvmnN(seed, width, height) {
wWn = new RNG.Random(seed);
vMWMW = width;
wMVvN = height;
MapManager.width = width;
MapManager.height = height;
grid = [];
MapManager.grid = grid;
NvMvV = [];
roads = [];
MapManager.roads = roads;
vWwNw = -1;
NWVNw.i = 0;
NWVNw.j = 0;
VNnvM = 0;
};
function init(seed, width, height, fun) {
window.console.time("Town generation");
wvmnN(seed, width, height);
VVvvN();
if (fun !== window.undefined) fun();
window.console.timeEnd("Town generation");
};
return {
seed: 0,
init: init,
grid: grid,
roads: null,
width: 0,
height: 0
};
})();
COUNTER_ENTITIE = 0;
__ENTITIE_PLAYER__ = COUNTER_ENTITIE++;
__ENTITIE_LOOT__ = COUNTER_ENTITIE++;
__ENTITIE_BULLET__ = COUNTER_ENTITIE++;
__ENTITIE_BUILD_TOP__ = COUNTER_ENTITIE++;
__ENTITIE_BUILD_DOWN__ = COUNTER_ENTITIE++;
__ENTITIE_BUILD_GROUND__ = COUNTER_ENTITIE++;
__ENTITIE_BUILD_GROUND2__ = COUNTER_ENTITIE++;
__ENTITIE_PARTICLES__ = COUNTER_ENTITIE++;
__ENTITIE_RESOURCES_TOP__ = COUNTER_ENTITIE++;
__ENTITIE_RESOURCES_DOWN__ = COUNTER_ENTITIE++;
__ENTITIE_RESOURCES_MID__ = COUNTER_ENTITIE++;
__ENTITIE_RESOURCES_STOP__ = COUNTER_ENTITIE++;
__ENTITIE_EXPLOSION__ = COUNTER_ENTITIE++;
__ENTITIE_AI__ = COUNTER_ENTITIE++;
ENTITIES[__ENTITIE_PLAYER__].update = function updateEntitiePlayer(entity, offsetX, offsetY) {
if (Math2d.distance(entity.x, entity.y, offsetX, offsetY) > 66) {
entity.rx = offsetX;
entity.ry = offsetY;
var angle = Math2d.angle(entity.rx, entity.ry, entity.nx, entity.ny);
entity.angleX = window.Math.cos(angle);
entity.angleY = window.Math.sin(angle);
}
entity.speed = (entity.state >> 8) / 100;
};
ENTITIES[__ENTITIE_PLAYER__].init = function initEntitiePlayer(entity) {
var PLAYER = World.players[entity.pid];
for (var i = 0; i < PLAYER.runEffect.length; i++) PLAYER.runEffect[i].delay = 0;
for (var i = 0; i < PLAYER.cartridges.length; i++) PLAYER.cartridges[i].delay = 0;
entity.angle = entity.nangle;
if (PLAYER.ghoul > 0) {
entity.heal = 1;
entity.hurt2 = 1;
}
};
ENTITIES[__ENTITIE_AI__].update = ENTITIES[__ENTITIE_PLAYER__].update;
ENTITIES[__ENTITIE_AI__].init = function initEntitieAI(entity) {
entity.heal = 1;
entity.hurt2 = 1;
entity.angle = entity.nangle;
entity.speed = (entity.state >> 8) / 100;
};
ENTITIES[__ENTITIE_LOOT__].init = function initEntitieLoot(entity) {
if ((entity.x !== entity.rx) || (entity.y !== entity.ry)) {
entity.angle = Math2d.angle(entity.x, entity.y, entity.rx, entity.ry);
entity.nangle = entity.angle;
} else {
entity.angle += window.Math.PI / 2;
entity.nangle = entity.angle;
}
};
ENTITIES[__ENTITIE_LOOT__].update = function updateEntitieLoot(entity, offsetX, offsetY) {
entity.hit = entity.state >> 8;
};
ENTITIES[__ENTITIE_BULLET__].init = function initEntitieBullet(entity) {
entity.hurtAngle = Math2d.angle(entity.rx, entity.ry, entity.nx, entity.ny);
var id = entity.extra;
entity.speed = (entity.state >> 8) / 100;
switch (id) {
case 4:
case 8:
var player = Entitie.findEntitie(__ENTITIE_PLAYER__, entity.pid, 0);
if (player !== null) {
player.extra = player.extra & 255;
player.hit = 0;
}
break;
case 3:
var player = Entitie.findEntitie(__ENTITIE_PLAYER__, entity.pid, 0);
if (player !== null) player.hit = 0;
break;
}
};
ENTITIES[__ENTITIE_BULLET__].update = function updateEntitieBullet(entity, offsetX, offsetY) {
var angle = Math2d.angle(entity.x, entity.y, entity.nx, entity.ny);
var pi2 = window.Math.PI * 2;
var vWWMM = (((angle + pi2) % pi2) - ((entity.hurtAngle + pi2) % pi2)) % pi2;
if (window.Math.abs(vWWMM) > 0.1) {
entity.rx = entity.x;
entity.ry = entity.y;
entity.nx = entity.x;
entity.ny = entity.y;
}
};
ENTITIES[__ENTITIE_RESOURCES_TOP__].update = function updateEntitieBuilding() {
};
ENTITIES[__ENTITIE_RESOURCES_DOWN__].update = ENTITIES[__ENTITIE_RESOURCES_TOP__].update;
ENTITIES[__ENTITIE_RESOURCES_MID__].update = ENTITIES[__ENTITIE_RESOURCES_TOP__].update;
ENTITIES[__ENTITIE_RESOURCES_STOP__].update = ENTITIES[__ENTITIE_RESOURCES_TOP__].update;
ENTITIES[__ENTITIE_BUILD_TOP__].update = function updateEntitieBuilding(entity, offsetX, offsetY) {
var rotation = (entity.extra >> 5) & 3;
entity.subtype = (entity.state >> 5) & 63;
entity.broke = entity.state >> 14;
entity.state = entity.state & 16383;
var item = INVENTORY[entity.extra >> 7];
entity.x = ((window.Math.floor(offsetX / Render.__TILE_SIZE__) * Render.__TILE_SIZE__) + Render.__TILE_SIZE2__) + item.xCenter[rotation];
entity.y = ((window.Math.floor(offsetY / Render.__TILE_SIZE__) * Render.__TILE_SIZE__) + Render.__TILE_SIZE2__) + item.yCenter[rotation];
entity.rx = entity.x;
entity.ry = entity.y;
entity.nx = entity.x;
entity.ny = entity.y;
entity.px = entity.x;
entity.py = entity.y;
if ((item.door === 1) && ((entity.state & 16) === 16)) {
entity.px = ((window.Math.floor(entity.j + item.jMove[rotation]) * Render.__TILE_SIZE__) + Render.__TILE_SIZE2__) + item.xCenter[(rotation + 1) % 4];
entity.py = ((window.Math.floor(entity.i + item.iMove[rotation]) * Render.__TILE_SIZE__) + Render.__TILE_SIZE2__) + item.yCenter[(rotation + 1) % 4];
}
};
ENTITIES[__ENTITIE_BUILD_DOWN__].update = ENTITIES[__ENTITIE_BUILD_TOP__].update;
ENTITIES[__ENTITIE_BUILD_GROUND__].update = ENTITIES[__ENTITIE_BUILD_TOP__].update;
ENTITIES[__ENTITIE_BUILD_GROUND2__].update = ENTITIES[__ENTITIE_BUILD_TOP__].update;
try {
Render.shake;
} catch (error) {
var Render = {};
}
var __WARM__ = 1;
var __RADIATION__ = 2;
var COUNTER = 0;
var AREAS = {
__PLAYER__: COUNTER++,
__FIRE__: COUNTER++,
__WORKBENCH__: COUNTER++,
__BBQ__: COUNTER++,
__WEAVING__: COUNTER++,
__WORKBENCH2__: COUNTER++,
__SMELTER__: COUNTER++,
__TESLA__: COUNTER++,
__COMPOST__: COUNTER++,
__AGITATOR__: COUNTER++,
__EXTRACTOR__: COUNTER++,
__WELDING_MACHINE__: COUNTER++,
__FEEDER__: COUNTER++
};
COUNTER = 0;
var SOUNDID = {
__NO_SOUND__: COUNTER++,
__WOOD_IMPACT__: COUNTER++,
__STONE_IMPACT__: COUNTER++,
__STONE_IMPACT_2__: COUNTER++,
__STEEL_IMPACT__: COUNTER++,
__WOOD_DESTROY__: COUNTER++,
__STONE_DESTROY__: COUNTER++,
__STEEL_DESTROY__: COUNTER++,
__PILLOW_IMPACT__: COUNTER++,
__PILLOW_DESTROY__: COUNTER++
};
var SOUND = [];
SOUND[SOUNDID.__WOOD_IMPACT__] = "audio/wood-impact.mp3";
SOUND[SOUNDID.__STONE_IMPACT__] = "audio/stone-impact2.mp3";
SOUND[SOUNDID.__STONE_IMPACT_2__] = "audio/stone-impact.mp3";
SOUND[SOUNDID.__STEEL_IMPACT__] = "audio/metal-impact2.mp3";
SOUND[SOUNDID.__PILLOW_IMPACT__] = "audio/pillow-impact-impact.mp3";
SOUND[SOUNDID.__WOOD_DESTROY__] = "audio/wood-destroy3.mp3";
SOUND[SOUNDID.__STONE_DESTROY__] = "audio/stone-destroy.mp3";
SOUND[SOUNDID.__STEEL_DESTROY__] = "audio/metal-destroy2.mp3";
SOUND[SOUNDID.__PILLOW_DESTROY__] = "audio/pillow-impact-destroy.mp3";
var SOUND_LENGTH = SOUND.length;
COUNTER = 0;
var BEHAVIOR = {
__NO__: COUNTER++,
__SEED__: COUNTER++,
__SEED_RESOURCE__: COUNTER++,
__LOGIC__: COUNTER++,
__AI_CONSTRUCTOR__: COUNTER++
};
COUNTER = 0;
var AIID = {
__NORMAL_GHOUL__: COUNTER++,
__FAST_GHOUL__: COUNTER++,
__EXPLOSIVE_GHOUL__: COUNTER++,
__RADIOACTIVE_GHOUL__: COUNTER++,
__ARMORED_GHOUL__: COUNTER++,
__PUMPKIN_GHOUL__: COUNTER++,
__LAPABOT_REPAIR__: COUNTER++,
__HAL_BOT__: COUNTER++,
__TESLA_BOT__: COUNTER++
};
COUNTER = 0;
var SKILLS = {
__SKILL__: COUNTER++,
__SURVIVAL__: COUNTER++,
__CLOTHE__: COUNTER++,
__BUILDING__: COUNTER++,
__TOOL__: COUNTER++,
__WEAPON__: COUNTER++,
__PLANT__: COUNTER++,
__DRUG__: COUNTER++,
__MINERAL__: COUNTER++,
__LOGIC__: COUNTER++
};
COUNTER = 1;
var IID = {
__WOOD__: COUNTER++,
__STONE__: COUNTER++,
__STEEL__: COUNTER++,
__ANIMAL_FAT__: COUNTER++,
__ANIMAL_TENDON__: COUNTER++,
__STRING__: COUNTER++,
__LEATHER_BOAR__: COUNTER++,
__SHAPED_METAL__: COUNTER++,
__RAW_STEAK__: COUNTER++,
__COOKED_STEAK__: COUNTER++,
__ROTTEN_STEAK__: COUNTER++,
__ORANGE__: COUNTER++,
__ROTTEN_ORANGE__: COUNTER++,
__SEED_ORANGE__: COUNTER++,
__HACHET__: COUNTER++,
__STONE_PICKAXE__: COUNTER++,
__STEEL_PICKAXE__: COUNTER++,
__STONE_AXE__: COUNTER++,
__WORKBENCH__: COUNTER++,
__WOOD_SPEAR__: COUNTER++,
__WOOD_BOW__: COUNTER++,
__9MM__: COUNTER++,
__DESERT_EAGLE__: COUNTER++,
__SHOTGUN__: COUNTER++,
__AK47__: COUNTER++,
__SNIPER__: COUNTER++,
__WOOD_WALL__: COUNTER++,
__STONE_WALL__: COUNTER++,
__STEEL_WALL__: COUNTER++,
__WOOD_DOOR__: COUNTER++,
__STONE_DOOR__: COUNTER++,
__STEEL_DOOR__: COUNTER++,
__CAMPFIRE__: COUNTER++,
__BULLET_9MM__: COUNTER++,
__BULLET_SHOTGUN__: COUNTER++,
__BULLET_SNIPER__: COUNTER++,
__MEDIKIT__: COUNTER++,
__BANDAGE__: COUNTER++,
__SODA__: COUNTER++,
__MP5__: COUNTER++,
__HEADSCARF__: COUNTER++,
__CHAPKA__: COUNTER++,
__WINTER_COAT__: COUNTER++,
__GAZ_MASK__: COUNTER++,
__GAZ_PROTECTION__: COUNTER++,
__RADIATION_SUIT__: COUNTER++,
__WOOD_ARROW__: COUNTER++,
__CAMPFIRE_BBQ__: COUNTER++,
__SMELTER__: COUNTER++,
__WOOD_BIGDOOR__: COUNTER++,
__STONE_BIGDOOR__: COUNTER++,
__STEEL_BIGDOOR__: COUNTER++,
__SULFUR__: COUNTER++,
__SHAPED_URANIUM__: COUNTER++,
__WORKBENCH2__: COUNTER++,
__URANIUM__: COUNTER++,
__WEAVING__: COUNTER++,
__GASOLINE__: COUNTER++,
__SULFUR_PICKAXE__: COUNTER++,
__CHEST__: COUNTER++,
__FRIDGE__: COUNTER++,
__WOOD_FLOOR__: COUNTER++,
__HAMMER__: COUNTER++,
__SLEEPING_BAG__: COUNTER++,
__REPAIR_HAMMER__: COUNTER++,
__NAILS__: COUNTER++,
__WOODLIGHT_FLOOR__: COUNTER++,
__WOOD_SMALLWALL__: COUNTER++,
__STONE_SMALLWALL__: COUNTER++,
__STEEL_SMALLWALL__: COUNTER++,
__FURNITURE__: COUNTER++,
__TOMATO_SOUP__: COUNTER++,
__SYRINGE__: COUNTER++,
__CHEMICAL_COMPONENT__: COUNTER++,
__RADAWAY__: COUNTER++,
__SEED_TOMATO__: COUNTER++,
__TOMATO__: COUNTER++,
__ROTTEN_TOMATO__: COUNTER++,
__CAN__: COUNTER++,
__WOOD_CROSSBOW__: COUNTER++,
__WOOD_CROSSARROW__: COUNTER++,
__NAIL_GUN__: COUNTER++,
__SAWED_OFF_SHOTGUN__: COUNTER++,
__STONE_FLOOR__: COUNTER++,
__TILING_FLOOR__: COUNTER++,
__ROAD__: COUNTER++,
__CRISPS__: COUNTER++,
__ROTTEN_CRISPS__: COUNTER++,
__ELECTRONICS__: COUNTER++,
__JUNK__: COUNTER++,
__WIRE__: COUNTER++,
__ENERGY_CELLS__: COUNTER++,
__LASER_PISTOL__: COUNTER++,
__TESLA__: COUNTER++,
__ALLOYS__: COUNTER++,
__SULFUR_AXE__: COUNTER++,
__LANDMINE__: COUNTER++,
__DYNAMITE__: COUNTER++,
__C4__: COUNTER++,
__C4_TRIGGER__: COUNTER++,
__COMPOST__: COUNTER++,
__ARMOR_PHYSIC_1__: COUNTER++,
__ARMOR_PHYSIC_2__: COUNTER++,
__ARMOR_PHYSIC_3__: COUNTER++,
__ARMOR_FIRE_1__: COUNTER++,
__ARMOR_FIRE_2__: COUNTER++,
__ARMOR_FIRE_3__: COUNTER++,
__ARMOR_DEMINER__: COUNTER++,
__ARMOR_TESLA_1__: COUNTER++,
__ARMOR_TESLA_2__: COUNTER++,
__WOOD_SPIKE__: COUNTER++,
__LASER_SUBMACHINE__: COUNTER++,
__GRENADE__: COUNTER++,
__SUPER_HAMMER__: COUNTER++,
__GHOUL_BLOOD__: COUNTER++,
__CAMOUFLAGE_GEAR__: COUNTER++,
__AGITATOR__: COUNTER++,
__GHOUL_DRUG__: COUNTER++,
__MUSHROOM1__: COUNTER++,
__MUSHROOM2__: COUNTER++,
__MUSHROOM3__: COUNTER++,
__ROTTEN_MUSHROOM1__: COUNTER++,
__ROTTEN_MUSHROOM2__: COUNTER++,
__ROTTEN_MUSHROOM3__: COUNTER++,
__LAPADONE__: COUNTER++,
__LAPABOT_REPAIR__: COUNTER++,
__SMALL_WIRE__: COUNTER++,
__PUMPKIN__: COUNTER++,
__ROTTEN_PUMPKIN__: COUNTER++,
__SEED_GHOUL__: COUNTER++,
__EXTRACTOR__: COUNTER++,
__ANTIDOTE__: COUNTER++,
__ANTIDOTE_FLOWER__: COUNTER++,
__SEED_TREE__: COUNTER++,
__ACORN__: COUNTER++,
__ROTTEN_ACORN__: COUNTER++,
__LASER_SNIPER__: COUNTER++,
__HAL_BOT__: COUNTER++,
__TESLA_BOT__: COUNTER++,
__CABLE0__: COUNTER++,
__CABLE1__: COUNTER++,
__CABLE2__: COUNTER++,
__CABLE3__: COUNTER++,
__SWITCH__: COUNTER++,
__GATE_OR__: COUNTER++,
__GATE_AND__: COUNTER++,
__GATE_NOT__: COUNTER++,
__LAMP__: COUNTER++,
__CABLE_WALL__: COUNTER++,
__AUTOMATIC_DOOR__: COUNTER++,
__PLATFORM__: COUNTER++,
__STONE_CAVE__: COUNTER++,
__BUNKER_WALL__: COUNTER++,
__GOLD_FLOOR__: COUNTER++,
__RED_FLOOR__: COUNTER++,
__WELDING_MACHINE__: COUNTER++,
__CABLE4__: COUNTER++,
__GATE_TIMER__: COUNTER++,
__GATE_XOR__: COUNTER++,
__BUILDER_1__: COUNTER++,
__BUILDER_2__: COUNTER++,
__INV_1__: COUNTER++,
__INV_2__: COUNTER++,
__INV_3__: COUNTER++,
__INV_4__: COUNTER++,
__INV_5__: COUNTER++,
__FEATHERWEIGHT__: COUNTER++,
__FEEDER__: COUNTER++
};
COUNTER = 0;
var LOOTID = {
__SMALL_WOOD__: COUNTER++,
__MEDIUM_WOOD__: COUNTER++,
__BIG_WOOD__: COUNTER++,
__SMALL_STONE__: COUNTER++,
__MEDIUM_STONE__: COUNTER++,
__BIG_STONE__: COUNTER++,
__STEEL__: COUNTER++,
__ANIMAL_FAT__: COUNTER++,
__ANIMAL_TENDON__: COUNTER++,
__STRING__: COUNTER++,
__LEATHER_BOAR__: COUNTER++,
__SHAPED_METAL__: COUNTER++,
__RAW_STEAK__: COUNTER++,
__COOKED_STEAK__: COUNTER++,
__ROTTEN_STEAK__: COUNTER++,
__ORANGE__: COUNTER++,
__ROTTEN_ORANGE__: COUNTER++,
__SEED_ORANGE__: COUNTER++,
__HACHET__: COUNTER++,
__STONE_PICKAXE__: COUNTER++,
__STEEL_PICKAXE__: COUNTER++,
__STONE_AXE__: COUNTER++,
__WORKBENCH__: COUNTER++,
__WOOD_SPEAR__: COUNTER++,
__WOOD_BOW__: COUNTER++,
__9MM__: COUNTER++,
__DESERT_EAGLE__: COUNTER++,
__SHOTGUN__: COUNTER++,
__AK47__: COUNTER++,
__SNIPER__: COUNTER++,
__WOOD_WALL__: COUNTER++,
__STONE_WALL__: COUNTER++,
__STEEL_WALL__: COUNTER++,
__WOOD_DOOR__: COUNTER++,
__STONE_DOOR__: COUNTER++,
__STEEL_DOOR__: COUNTER++,
__CAMPFIRE__: COUNTER++,
__BULLET_9MM__: COUNTER++,
__BULLET_SHOTGUN__: COUNTER++,
__BULLET_SNIPER__: COUNTER++,
__MEDIKIT__: COUNTER++,
__BANDAGE__: COUNTER++,
__SODA__: COUNTER++,
__MP5__: COUNTER++,
__HEADSCARF__: COUNTER++,
__CHAPKA__: COUNTER++,
__WINTER_COAT__: COUNTER++,
__GAZ_MASK__: COUNTER++,
__GAZ_PROTECTION__: COUNTER++,
__RADIATION_SUIT__: COUNTER++,
__WOOD_ARROW__: COUNTER++,
__CAMPFIRE_BBQ__: COUNTER++,
__SMELTER__: COUNTER++,
__WOOD_BIGDOOR__: COUNTER++,
__STONE_BIGDOOR__: COUNTER++,
__STEEL_BIGDOOR__: COUNTER++,
__SULFUR__: COUNTER++,
__SHAPED_URANIUM__: COUNTER++,
__WORKBENCH2__: COUNTER++,
__URANIUM__: COUNTER++,
__WEAVING__: COUNTER++,
__GASOLINE__: COUNTER++,
__SULFUR_PICKAXE__: COUNTER++,
__CHEST__: COUNTER++,
__FRIDGE__: COUNTER++,
__WOOD_FLOOR__: COUNTER++,
__HAMMER__: COUNTER++,
__SLEEPING_BAG__: COUNTER++,
__REPAIR_HAMMER__: COUNTER++,
__NAILS__: COUNTER++,
__WOODLIGHT_FLOOR__: COUNTER++,
__WOOD_SMALLWALL__: COUNTER++,
__STONE_SMALLWALL__: COUNTER++,
__STEEL_SMALLWALL__: COUNTER++,
__TOMATO_SOUP__: COUNTER++,
__SYRINGE__: COUNTER++,
__CHEMICAL_COMPONENT__: COUNTER++,
__RADAWAY__: COUNTER++,
__SEED_TOMATO__: COUNTER++,
__TOMATO__: COUNTER++,
__ROTTEN_TOMATO__: COUNTER++,
__CAN__: COUNTER++,
__WOOD_CROSSBOW__: COUNTER++,
__WOOD_CROSSARROW__: COUNTER++,
__NAIL_GUN__: COUNTER++,
__SAWED_OFF_SHOTGUN__: COUNTER++,
__STONE_FLOOR__: COUNTER++,
__TILING_FLOOR__: COUNTER++,
__CRISPS__: COUNTER++,
__ROTTEN_CRISPS__: COUNTER++,
__ELECTRONICS__: COUNTER++,
__JUNK__: COUNTER++,
__WIRE__: COUNTER++,
__ENERGY_CELLS__: COUNTER++,
__LASER_PISTOL__: COUNTER++,
__TESLA__: COUNTER++,
__ALLOYS__: COUNTER++,
__SULFUR_AXE__: COUNTER++,
__LANDMINE__: COUNTER++,
__DYNAMITE__: COUNTER++,
__C4__: COUNTER++,
__C4_TRIGGER__: COUNTER++,
__COMPOST__: COUNTER++,
__ARMOR_PHYSIC_1__: COUNTER++,
__ARMOR_PHYSIC_2__: COUNTER++,
__ARMOR_PHYSIC_3__: COUNTER++,
__ARMOR_FIRE_1__: COUNTER++,
__ARMOR_FIRE_2__: COUNTER++,
__ARMOR_FIRE_3__: COUNTER++,
__ARMOR_DEMINER__: COUNTER++,
__ARMOR_TESLA_1__: COUNTER++,
__ARMOR_TESLA_2__: COUNTER++,
__WOOD_SPIKE__: COUNTER++,
__LASER_SUBMACHINE__: COUNTER++,
__GRENADE__: COUNTER++,
__SUPER_HAMMER__: COUNTER++,
__GHOUL_BLOOD__: COUNTER++,
__CAMOUFLAGE_GEAR__: COUNTER++,
__AGITATOR__: COUNTER++,
__GHOUL_DRUG__: COUNTER++,
__MUSHROOM1__: COUNTER++,
__MUSHROOM2__: COUNTER++,
__MUSHROOM3__: COUNTER++,
__ROTTEN_MUSHROOM1__: COUNTER++,
__ROTTEN_MUSHROOM2__: COUNTER++,
__ROTTEN_MUSHROOM3__: COUNTER++,
__LAPADONE__: COUNTER++,
__LAPABOT_REPAIR__: COUNTER++,
__SMALL_WIRE__: COUNTER++,
__PUMPKIN__: COUNTER++,
__ROTTEN_PUMPKIN__: COUNTER++,
__SEED_GHOUL__: COUNTER++,
__EXTRACTOR__: COUNTER++,
__ANTIDOTE__: COUNTER++,
__ANTIDOTE_FLOWER__: COUNTER++,
__SEED_TREE__: COUNTER++,
__ACORN__: COUNTER++,
__ROTTEN_ACORN__: COUNTER++,
__LASER_SNIPER__: COUNTER++,
__HAL_BOT__: COUNTER++,
__TESLA_BOT__: COUNTER++,
__CABLE0__: COUNTER++,
__CABLE1__: COUNTER++,
__CABLE2__: COUNTER++,
__CABLE3__: COUNTER++,
__SWITCH__: COUNTER++,
__GATE_OR__: COUNTER++,
__GATE_AND__: COUNTER++,
__GATE_NOT__: COUNTER++,
__LAMP__: COUNTER++,
__CABLE_WALL__: COUNTER++,
__AUTOMATIC_DOOR__: COUNTER++,
__PLATFORM__: COUNTER++,
__STONE_CAVE__: COUNTER++,
__BUNKER_WALL__: COUNTER++,
__GOLD_FLOOR__: COUNTER++,
__RED_FLOOR__: COUNTER++,
__WELDING_MACHINE__: COUNTER++,
__CABLE4__: COUNTER++,
__GATE_TIMER__: COUNTER++,
__GATE_XOR__: COUNTER++,
__FEEDER__: COUNTER++
};
COUNTER = 0;
var PARTICLESID = {
__NOTHING__: COUNTER++,
__WOOD__: COUNTER++,
__STONE__: COUNTER++,
__STEEL__: COUNTER++,
__URANIUM__: COUNTER++,
__SULFUR__: COUNTER++,
__LEAF__: COUNTER++,
__LEAFTREE__: COUNTER++,
__ORANGE__: COUNTER++,
__BLOOD__: COUNTER++,
__FIRE__: COUNTER++,
__FUR__: COUNTER++,
__BED0__: COUNTER++,
__BED1__: COUNTER++,
__SOFA0__: COUNTER++,
__SOFA1__: COUNTER++,
__SOFA2__: COUNTER++,
__TOILET__: COUNTER++,
__WOODLIGHT__: COUNTER++,
__SAFE0__: COUNTER++,
__GARBAGE0__: COUNTER++,
__FRIDGE__: COUNTER++,
__PLOT__: COUNTER++,
__BARELRED__: COUNTER++,
__BARELGREEN__: COUNTER++,
__METAL__: COUNTER++,
__TOMATO__: COUNTER++,
__GREY_STEEL__: COUNTER++,
__BLUE_STEEL__: COUNTER++,
__RED_STEEL__: COUNTER++,
__KAKI__: COUNTER++,
__MUSHROOM1__: COUNTER++,
__MUSHROOM2__: COUNTER++,
__MUSHROOM3__: COUNTER++,
__GOLD__: COUNTER++
};
var WAITADS = [{
src: "img/wait-ads-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/wait-ads-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/wait-ads-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/wait-ads-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/wait-ads-5.png",
img: {
isLoaded: 0
}
}];
var PARTICLES = [];
PARTICLES[PARTICLESID.__NOTHING__] = [];
PARTICLES[PARTICLESID.__WOOD__] = [{
src: "img/day-particules-wood1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__STONE__] = [{
src: "img/day-particules-stone1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-stone2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-stone3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-stone4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-stone5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__STEEL__] = [{
src: "img/day-particules-steel1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-steel2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-steel3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-steel4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-steel5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__URANIUM__] = [{
src: "img/day-particules-uranium1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-uranium9.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__SULFUR__] = [{
src: "img/day-particules-sulfur1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sulfur9.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__LEAF__] = [{
src: "img/day-particules-leaf1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__LEAFTREE__] = [{
src: "img/day-particules-wood1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaftree1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaftree2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaftree3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaftree4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaftree5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.flower] = [{
src: "img/day-particules-flower1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-flower2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-flower3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-flower4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-flower5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__ORANGE__] = [{
src: "img/day-particules-leaf1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-leaf9.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__BLOOD__] = [{
src: "img/day-particules-blood1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blood2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blood3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blood4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blood5.png",
img: {
isLoaded: 0
}
}];
var NVMWV = 380;
PARTICLES[PARTICLESID.__FIRE__] = [{
src: "img/day-particules-fire1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fire2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fire3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fire4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fire5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__FUR__] = [{
src: "img/day-particules-fur1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fur2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fur3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fur4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fur5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__BED0__] = [{
src: "img/day-particules-bed0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-bed1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-bed2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-bed6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood3.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__BED1__] = [{
src: "img/day-particules-bed3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-bed4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-bed5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-bed6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood3.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__SOFA0__] = [{
src: "img/day-particules-sofa0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__SOFA1__] = [{
src: "img/day-particules-sofa0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa6.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__SOFA2__] = [{
src: "img/day-particules-sofa0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-sofa8.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__TOILET__] = [{
src: "img/day-particules-toilet0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-toilet1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-toilet2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-toilet3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-toilet4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__WOODLIGHT__] = [{
src: "img/day-particules-woodlight0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-woodlight1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-woodlight2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-woodlight3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-woodlight4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__SAFE0__] = [{
src: "img/day-particules-safe0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-safe1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-safe2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-safe3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-safe4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__GARBAGE0__] = [{
src: "img/day-particules-garbage0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-garbage1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-garbage2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-garbage3.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__FRIDGE__] = [{
src: "img/day-particules-fridge0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fridge1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fridge2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fridge3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-fridge4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__PLOT__] = [{
src: "img/day-particules-plot0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-plot1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-plot2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-plot3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-wood3.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__BARELRED__] = [{
src: "img/day-particules-barel0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-barel1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-barel2.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__BARELGREEN__] = [{
src: "img/day-particules-barel3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-barel4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-barel5.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__METAL__] = [{
src: "img/day-particules-metal0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-metal1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-metal2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-metal3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-metal4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__TOMATO__] = [{
src: "img/day-particules-tomato0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-tomato1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-tomato2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-tomato3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-tomato4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__BLUE_STEEL__] = [{
src: "img/day-particules-blue-steel0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blue-steel1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blue-steel2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blue-steel3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-blue-steel4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__GREY_STEEL__] = [{
src: "img/day-particules-grey-steel0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-grey-steel1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-grey-steel2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-grey-steel3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-grey-steel4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__RED_STEEL__] = [{
src: "img/day-particules-red-steel0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-red-steel1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-red-steel2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-red-steel3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-red-steel4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__KAKI__] = [{
src: "img/day-particules-kaki0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-kaki1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-kaki2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-kaki3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-kaki4.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__MUSHROOM1__] = [{
src: "img/day-particules-mushroom4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-mushroom5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-mushroom6.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__MUSHROOM2__] = [{
src: "img/day-particules-mushroom1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-mushroom2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-mushroom3.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__MUSHROOM3__] = [{
src: "img/day-particules-mushroom7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-mushroom8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-mushroom9.png",
img: {
isLoaded: 0
}
}];
PARTICLES[PARTICLESID.__GOLD__] = [{
src: "img/day-particules-gold0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-gold1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-particules-gold2.png",
img: {
isLoaded: 0
}
}];
function Detail(_name, _description, category, recipe, mm, area, level, previous, price) {
this.name = _name;
this.description = _description;
if (recipe !== window.undefined) this.recipe = recipe;
if (mm !== window.undefined) this.stack = mm;
if (area !== window.undefined) {
this.area = [];
this.timer = [];
for (var i = 0; i < area.length; i++) {
this.area[i] = area[i][0];
this.timer[i] = area[i][1];
}
}
if (category !== window.undefined) this.category = category;
else this.category = -1;
if (level !== window.undefined) this.level = level;
else this.level = -1;
if (previous !== window.undefined) this.previous = previous;
else this.previous = -1;
if (price !== window.undefined) this.price = price;
else this.price = 1;
};
var INVENTORY = [{
src: [],
img: []
}, {
id: IID.__WOOD__,
itemButton: {
src: ["img/inv-wood-out.png", "img/inv-wood-in.png", "img/inv-wood-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood", "Found in trees, or on the ground."),
stack: 255,
loot: LOOTID.__BIG_WOOD__,
score: 10
}, {
id: IID.__STONE__,
itemButton: {
src: ["img/inv-stone-out.png", "img/inv-stone-in.png", "img/inv-stone-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone", "Find it on the ground or on the rock.", SKILLS.__MINERAL__, [], 0, [
[AREAS.__EXTRACTOR__, 80000]
]),
craftStart: 50,
craftRng: 200,
stack: 255,
loot: LOOTID.__BIG_STONE__,
score: 14
}, {
id: IID.__STEEL__,
itemButton: {
src: ["img/inv-steel-out.png", "img/inv-steel-in.png", "img/inv-steel-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Iron", "Melt it on a Firepit or a Smelter", SKILLS.__MINERAL__, [], 0, [
[AREAS.__EXTRACTOR__, 120000]
]),
craftStart: 4,
craftRng: 8,
stack: 255,
loot: LOOTID.__STEEL__,
score: 28
}, {
id: IID.__ANIMAL_FAT__,
itemButton: {
src: ["img/inv-animal-fat-out.png", "img/inv-animal-fat-in.png", "img/inv-animal-fat-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Animal Fat", "Useful to craft bullet and clothes"),
stack: 255,
loot: LOOTID.__ANIMAL_FAT__,
score: 32
}, {
id: IID.__ANIMAL_TENDON__,
itemButton: {
src: ["img/inv-animal-tendon-out.png", "img/inv-animal-tendon-in.png", "img/inv-animal-tendon-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Animal Tendon", "Useful to make string"),
stack: 255,
loot: LOOTID.__ANIMAL_TENDON__,
score: 100
}, {
id: IID.__STRING__,
itemButton: {
src: ["img/inv-string-out.png", "img/inv-string-in.png", "img/inv-string-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("String", "Useful to craft many INVENTORY.", SKILLS.__SURVIVAL__, [
[IID.__ANIMAL_TENDON__, 2]
], 1, [
[AREAS.__WORKBENCH__, 20000]
]),
stack: 255,
loot: LOOTID.__STRING__
}, {
id: IID.__LEATHER_BOAR__,
itemButton: {
src: ["img/inv-leather-boar-out.png", "img/inv-leather-boar-in.png", "img/inv-leather-boar-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Leather", "Useful to make clothes"),
stack: 255,
loot: LOOTID.__LEATHER_BOAR__,
score: 32
}, {
id: IID.__SHAPED_METAL__,
itemButton: {
src: ["img/inv-shaped-metal-out.png", "img/inv-shaped-metal-in.png", "img/inv-shaped-metal-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Shaped Metal", "To craft improved INVENTORY.", SKILLS.__MINERAL__, [
[IID.__STEEL__, 2]
], 1, [
[AREAS.__SMELTER__, 3000],
[AREAS.__BBQ__, 30000]
]),
stack: 255,
loot: LOOTID.__SHAPED_METAL__
}, {
id: IID.__RAW_STEAK__,
itemButton: {
src: ["img/inv-raw-steak-out.png", "img/inv-raw-steak-in.png", "img/inv-raw-steak-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Raw Steak", "#Vegan"),
stack: 10,
loot: LOOTID.__RAW_STEAK__,
perish: 15,
perishId: IID.__ROTTEN_STEAK__,
idWeapon: 12,
wait: 5,
score: 28
}, {
id: IID.__COOKED_STEAK__,
itemButton: {
src: ["img/inv-cooked-steak-out.png", "img/inv-cooked-steak-in.png", "img/inv-cooked-steak-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cooked Steak", "Rare or medium?", SKILLS.__SURVIVAL__, [
[IID.__RAW_STEAK__, 1]
], 1, [
[AREAS.__FIRE__, 20000],
[AREAS.__BBQ__, 10000]
]),
stack: 10,
loot: LOOTID.__COOKED_STEAK__,
wait: 5,
perish: 3,
perishId: IID.__ROTTEN_STEAK__,
idWeapon: 13
}, {
id: IID.__ROTTEN_STEAK__,
itemButton: {
src: ["img/inv-rotten-steak-out.png", "img/inv-rotten-steak-in.png", "img/inv-rotten-steak-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
stack: 10,
loot: LOOTID.__ROTTEN_STEAK__,
wait: 5,
idWeapon: 14,
detail: new Detail("Rotten Steak", "Don't eat that."),
score: 20
}, {
id: IID.__ORANGE__,
itemButton: {
src: ["img/inv-orange-out.png", "img/inv-orange-in.png", "img/inv-orange-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Orange", "A little hungry?"),
stack: 20,
loot: LOOTID.__ORANGE__,
wait: 5,
perish: 10,
perishId: IID.__ROTTEN_ORANGE__,
idWeapon: 15,
score: 24
}, {
id: IID.__ROTTEN_ORANGE__,
itemButton: {
src: ["img/inv-rotten-orange-out.png", "img/inv-rotten-orange-in.png", "img/inv-rotten-orange-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Orange", "Go on, have a bite!", SKILLS.__PLANT__, [
[IID.__ORANGE__, 4]
], 8, [
[AREAS.__COMPOST__, 40000]
]),
stack: 20,
loot: LOOTID.__ROTTEN_ORANGE__,
wait: 5,
idWeapon: 16,
score: 20
}, {
id: IID.__SEED_ORANGE__,
itemButton: {
src: ["img/inv-orange-seed-out.png", "img/inv-orange-seed-in.png", "img/inv-orange-seed-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Orange Seed", "Fill up on Vitame C?", SKILLS.__PLANT__, [
[IID.__ORANGE__, 4]
], 1, [
[AREAS.__FIRE__, 20000],
[AREAS.__BBQ__, 15000]
]),
stack: 40,
loot: LOOTID.__SEED_ORANGE__,
fruit: LOOTID.__ORANGE__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/day-clear-blue-plant2-orange.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-plant2-orange.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__SEED__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.orangeSeed,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
building: [{
src: "img/day-plant0-orange.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant1-orange.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant2-orange.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant3-orange.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant4-orange.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__ORANGE__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 250,
score: 0
}, {
id: IID.__HACHET__,
itemButton: {
src: ["img/inv-hachet-out.png", "img/inv-hachet-in.png", "img/inv-hachet-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Hatchet", "Harvest Wood and Stone.", SKILLS.__TOOL__, [
[IID.__WOOD__, 10],
[IID.__STONE__, 2]
], 1, [
[AREAS.__PLAYER__, 5000],
[AREAS.__WORKBENCH__, 10000]
]),
idWeapon: 3,
stack: 1,
loot: LOOTID.__HACHET__,
wait: 10
}, {
id: IID.__STONE_PICKAXE__,
itemButton: {
src: ["img/inv-stone-pickaxe-out.png", "img/inv-stone-pickaxe-in.png", "img/inv-stone-pickaxe-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone Pickaxe", "Mine Stone and Iron.", SKILLS.__TOOL__, [
[IID.__WOOD__, 100],
[IID.__STONE__, 30]
], 1, [
[AREAS.__WORKBENCH__, 30000]
]),
idWeapon: 1,
stack: 1,
loot: LOOTID.__STONE_PICKAXE__,
wait: 10
}, {
id: IID.__STEEL_PICKAXE__,
itemButton: {
src: ["img/inv-steel-pickaxe-out.png", "img/inv-steel-pickaxe-in.png", "img/inv-steel-pickaxe-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Pickaxe", "Mine also Sulfur", SKILLS.__TOOL__, [
[IID.__STONE__, 150],
[IID.__SHAPED_METAL__, 6]
], 1, [
[AREAS.__WORKBENCH2__, 60000]
], 6),
idWeapon: 2,
stack: 1,
loot: LOOTID.__STEEL_PICKAXE__,
wait: 10
}, {
id: IID.__STONE_AXE__,
itemButton: {
src: ["img/inv-stone-axe-out.png", "img/inv-stone-axe-in.png", "img/inv-stone-axe-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Axe", "Harvest a lot of Wood", SKILLS.__TOOL__, [
[IID.__WOOD__, 150],
[IID.__SHAPED_METAL__, 7]
], 1, [
[AREAS.__WORKBENCH2__, 80000]
], 5),
idWeapon: 4,
stack: 1,
loot: LOOTID.__STONE_AXE__,
wait: 10
}, {
id: IID.__WORKBENCH__,
itemButton: {
src: ["img/inv-workbench-out.png", "img/inv-workbench-in.png", "img/inv-workbench-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Workbench", "Allow you to make new INVENTORY.", SKILLS.__SURVIVAL__, [
[IID.__WOOD__, 40],
[IID.__STONE__, 20]
], 1, [
[AREAS.__PLAYER__, 15000],
[AREAS.__WORKBENCH__, 15000]
]),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 1,
area: AREAS.__WORKBENCH__,
stack: 255,
loot: LOOTID.__WORKBENCH__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-workbench.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-workbench.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.workbench,
packetId: 16,
interact: {
src: "img/e-workbench.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-workbench.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__WOOD_SPEAR__,
itemButton: {
src: ["img/inv-wood-spear-out.png", "img/inv-wood-spear-in.png", "img/inv-wood-spear-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood Spear", "Don't forget to pick it up.", SKILLS.__WEAPON__, [
[IID.__WOOD__, 70]
], 1, [
[AREAS.__PLAYER__, 15000],
[AREAS.__WORKBENCH__, 20000]
]),
idWeapon: 5,
stack: 1,
loot: LOOTID.__WOOD_SPEAR__,
wait: 10
}, {
id: IID.__WOOD_BOW__,
itemButton: {
src: ["img/inv-wood-bow-out.png", "img/inv-wood-bow-in.png", "img/inv-wood-bow-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood Bow", "Where are the cowboys?", SKILLS.__WEAPON__, [
[IID.__WOOD__, 60],
[IID.__ANIMAL_TENDON__, 2]
], 1, [
[AREAS.__PLAYER__, 35000],
[AREAS.__WORKBENCH__, 50000]
]),
bullet: IID.__WOOD_ARROW__,
mMVwm: 1,
idWeapon: 6,
stack: 1,
loot: LOOTID.__WOOD_BOW__,
wait: 10
}, {
id: IID.__9MM__,
itemButton: {
src: ["img/inv-9mm-out.png", "img/inv-9mm-in.png", "img/inv-9mm-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("9MM", "I hope you know how to aim.", SKILLS.__WEAPON__, [
[IID.__JUNK__, 6],
[IID.__SHAPED_METAL__, 9]
], 1, [
[AREAS.__WORKBENCH2__, 160000]
], 7),
idWeapon: 8,
bullet: IID.__BULLET_9MM__,
stack: 1,
loot: LOOTID.__9MM__,
wait: 10
}, {
id: IID.__DESERT_EAGLE__,
itemButton: {
src: ["img/inv-desert-eagle-out.png", "img/inv-desert-eagle-in.png", "img/inv-desert-eagle-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Desert Eagle", "Pretty useful for self-defense.", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 4],
[IID.__SHAPED_METAL__, 2]
], 1, [
[AREAS.__WORKBENCH2__, 180000]
], 9, IID.__9MM__),
idWeapon: 9,
bullet: IID.__BULLET_9MM__,
stack: 1,
loot: LOOTID.__DESERT_EAGLE__,
wait: 10
}, {
id: IID.__SHOTGUN__,
itemButton: {
src: ["img/inv-shotgun-out.png", "img/inv-shotgun-in.png", "img/inv-shotgun-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Shotgun", "He's dead now, don't you think?", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 6],
[IID.__SHAPED_METAL__, 6]
], 1, [
[AREAS.__WORKBENCH2__, 200000]
], 11),
idWeapon: 7,
bullet: IID.__BULLET_SHOTGUN__,
stack: 1,
loot: LOOTID.__SHOTGUN__,
wait: 10
}, {
id: IID.__AK47__,
itemButton: {
src: ["img/inv-ak47-out.png", "img/inv-ak47-in.png", "img/inv-ak47-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("AK47", "Revolution time", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 14],
[IID.__SHAPED_METAL__, 8]
], 1, [
[AREAS.__WORKBENCH2__, 180000]
], 12, IID.__MP5__),
idWeapon: 10,
bullet: IID.__BULLET_SNIPER__,
stack: 1,
loot: LOOTID.__AK47__,
wait: 10
}, {
id: IID.__SNIPER__,
itemButton: {
src: ["img/inv-sniper-out.png", "img/inv-sniper-in.png", "img/inv-sniper-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Sniper", "For the very angry shy", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 10],
[IID.__SHAPED_METAL__, 8]
], 1, [
[AREAS.__WORKBENCH2__, 180000]
], 13),
idWeapon: 11,
bullet: IID.__BULLET_SNIPER__,
stack: 1,
loot: LOOTID.__SNIPER__,
wait: 10
}, {
id: IID.__WOOD_WALL__,
itemButton: {
src: ["img/inv-wood-wall-out.png", "img/inv-wood-wall-in.png", "img/inv-wood-wall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wooden Wall", "Protected from the wind.", SKILLS.__BUILDING__, [
[IID.__WOOD__, 20]
], 1, [
[AREAS.__WORKBENCH__, 10000]
]),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__WOOD_WALL__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-wood-wall.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-wood-wall.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__WOOD_WALL__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.wall,
drawFloor: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
broken: [{
src: "img/day-wood-wall-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: [{
src: "img/day-wood-wall0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-wall46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 3000,
score: 0
}, {
id: IID.__STONE_WALL__,
itemButton: {
src: ["img/inv-stone-wall-out.png", "img/inv-stone-wall-in.png", "img/inv-stone-wall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone Wall", "Saved the 3 little pigs.", SKILLS.__BUILDING__, [
[IID.__STONE__, 20]
], 1, [
[AREAS.__WORKBENCH__, 15000]
], 3),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__STONE_WALL__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-wall.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-wall.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__STONE_WALL__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.wall,
drawFloor: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
broken: [{
src: "img/day-stone-wall-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STONE_IMPACT__,
destroy: SOUNDID.__STONE_DESTROY__,
building: [{
src: "img/day-stone-wall0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-wall46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STONE__,
particlesDist: 80,
timelife: 315360000000,
life: 7000,
score: 0
}, {
id: IID.__STEEL_WALL__,
itemButton: {
src: ["img/inv-steel-wall-out.png", "img/inv-steel-wall-in.png", "img/inv-steel-wall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Wall", "Afraid we'll find you?", SKILLS.__BUILDING__, [
[IID.__SHAPED_METAL__, 3]
], 1, [
[AREAS.__WORKBENCH2__, 20000]
], 6, IID.__STONE_WALL__),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__STEEL_WALL__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-wall.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-wall.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__STEEL_WALL__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.wall,
drawFloor: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
broken: [{
src: "img/day-steel-wall-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-steel-wall0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-wall46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STEEL__,
particlesDist: 80,
timelife: 315360000000,
life: 15000,
score: 0
}, {
id: IID.__WOOD_DOOR__,
itemButton: {
src: ["img/inv-wood-door-out.png", "img/inv-wood-door-in.png", "img/inv-wood-door-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wooden Low Door", "You can shoot through it.", SKILLS.__BUILDING__, [
[IID.__WOOD__, 40]
], 1, [
[AREAS.__WORKBENCH__, 15000]
]),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__WOOD_DOOR__,
wait: 10,
delay: 600,
width: [100, 35, 100, 35],
height: [35, 100, 35, 100],
xCenter: [0, -30, 0, 30],
yCenter: [30, 0, -30, 0],
_x: [0, 0, 0, 65],
_y: [65, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-wood-door.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-wood-door.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 1,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
iMove: [1, 0, -1, 0],
jMove: [0, -1, 0, 1],
xMove: [0, 0, 65, 0],
yMove: [0, 0, 0, 65],
wMove: [35, 100, 35, 100],
hMove: [100, 35, 100, 35],
xRotate: 6,
yRotate: 46,
draw: Render.door,
packetId: 15,
interact: {
src: "img/e-opendoor.png",
img: {
isLoaded: 0
}
},
interactclose: {
src: "img/e-closedoor.png",
img: {
isLoaded: 0
}
},
broken: [{
src: "img/day-wood-door-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-door-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-door-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-wood-door.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 55,
timelife: 315360000000,
life: 2000,
score: 0
}, {
id: IID.__STONE_DOOR__,
itemButton: {
src: ["img/inv-stone-door-out.png", "img/inv-stone-door-in.png", "img/inv-stone-door-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone Low Door", "You can shoot through it.", SKILLS.__BUILDING__, [
[IID.__STONE__, 40]
], 1, [
[AREAS.__WORKBENCH__, 15000]
], 3),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__STONE_DOOR__,
wait: 10,
delay: 600,
width: [100, 35, 100, 35],
height: [35, 100, 35, 100],
xCenter: [0, -30, 0, 30],
yCenter: [30, 0, -30, 0],
_x: [0, 0, 0, 65],
_y: [65, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-door.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-door.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 1,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
iMove: [1, 0, -1, 0],
jMove: [0, -1, 0, 1],
xMove: [0, 0, 65, 0],
yMove: [0, 0, 0, 65],
wMove: [35, 100, 35, 100],
hMove: [100, 35, 100, 35],
xRotate: 6,
yRotate: 46,
draw: Render.door,
packetId: 15,
interact: {
src: "img/e-opendoor.png",
img: {
isLoaded: 0
}
},
interactclose: {
src: "img/e-closedoor.png",
img: {
isLoaded: 0
}
},
broken: [{
src: "img/day-stone-door-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-door-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-door-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STONE_IMPACT__,
destroy: SOUNDID.__STONE_DESTROY__,
building: {
src: "img/day-stone-door.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__STONE__,
particlesDist: 55,
timelife: 315360000000,
life: 5000,
score: 0
}, {
id: IID.__STEEL_DOOR__,
itemButton: {
src: ["img/inv-steel-door-out.png", "img/inv-steel-door-in.png", "img/inv-steel-door-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Low Door", "Killing at home, for more comfort.", SKILLS.__BUILDING__, [
[IID.__SHAPED_METAL__, 6]
], 1, [
[AREAS.__WORKBENCH2__, 30000]
], 6, IID.__STONE_DOOR__),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__STEEL_DOOR__,
wait: 10,
delay: 600,
width: [100, 35, 100, 35],
height: [35, 100, 35, 100],
xCenter: [0, -30, 0, 30],
yCenter: [30, 0, -30, 0],
_x: [0, 0, 0, 65],
_y: [65, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-door.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-door.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 1,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
iMove: [1, 0, -1, 0],
jMove: [0, -1, 0, 1],
xMove: [0, 0, 65, 0],
yMove: [0, 0, 0, 65],
wMove: [35, 100, 35, 100],
hMove: [100, 35, 100, 35],
xRotate: 6,
yRotate: 46,
draw: Render.door,
packetId: 15,
interact: {
src: "img/e-opendoor.png",
img: {
isLoaded: 0
}
},
interactclose: {
src: "img/e-closedoor.png",
img: {
isLoaded: 0
}
},
broken: [{
src: "img/day-steel-door-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-door-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-door-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-steel-door.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__STEEL__,
particlesDist: 55,
timelife: 315360000000,
life: 10000,
score: 0
}, {
id: IID.__CAMPFIRE__,
itemButton: {
src: ["img/inv-campfire-out.png", "img/inv-campfire-in.png", "img/inv-campfire-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Campfire", "Warm you when you're cold.", SKILLS.__SURVIVAL__, [
[IID.__WOOD__, 30],
[IID.__STONE__, 5]
], 1, [
[AREAS.__PLAYER__, 8000],
[AREAS.__WORKBENCH__, 15000]
]),
idWeapon: 21,
fuel: 15000,
zid: -1,
z: 0,
area: AREAS.__FIRE__,
stack: 255,
loot: LOOTID.__CAMPFIRE__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-campfire.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-campfire.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: __WARM__,
draw: Render.campfire,
drawTop: Render.campfireLight,
packetId: 16,
interact: {
src: "img/e-campfire.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-campfire.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: (1000 * 60) * 10,
life: 150,
score: 0
}, {
id: IID.__BULLET_9MM__,
itemButton: {
src: ["img/inv-bullet-9mm-out.png", "img/inv-bullet-9mm-in.png", "img/inv-bullet-9mm-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Bullet", "For 9MM, Desert Eagle, and MP5 ", SKILLS.__WEAPON__, [
[IID.__SULFUR__, 3],
[IID.__SHAPED_METAL__, 3],
[IID.__ANIMAL_FAT__, 3]
], 30, [
[AREAS.__WORKBENCH2__, 10000]
], 6),
stack: 255,
loot: LOOTID.__BULLET_9MM__
}, {
id: IID.__BULLET_SHOTGUN__,
itemButton: {
src: ["img/inv-bullet-shotgun-out.png", "img/inv-bullet-shotgun-in.png", "img/inv-bullet-shotgun-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cartridge", "For Shotgun", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 1],
[IID.__SHAPED_METAL__, 4],
[IID.__ANIMAL_FAT__, 4]
], 15, [
[AREAS.__WORKBENCH2__, 10000]
], 10),
stack: 255,
loot: LOOTID.__BULLET_SHOTGUN__
}, {
id: IID.__BULLET_SNIPER__,
itemButton: {
src: ["img/inv-bullet-sniper-out.png", "img/inv-bullet-sniper-in.png", "img/inv-bullet-sniper-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Heavy Bullet", "For Sniper, and AK47", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 1],
[IID.__SHAPED_METAL__, 4],
[IID.__ANIMAL_FAT__, 4]
], 30, [
[AREAS.__WORKBENCH2__, 10000]
], 11),
stack: 255,
loot: LOOTID.__BULLET_SNIPER__
}, {
id: IID.__MEDIKIT__,
itemButton: {
src: ["img/inv-medikit-out.png", "img/inv-medikit-in.png", "img/inv-medikit-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Medkit", "Regenerate your life.", SKILLS.__DRUG__, [
[IID.__STRING__, 2],
[IID.__BANDAGE__, 1],
[IID.__LEATHER_BOAR__, 2],
[IID.__SHAPED_METAL__, 2]
], 1, [
[AREAS.__WORKBENCH2__, 80000]
], 10),
idWeapon: 17,
stack: 2,
loot: LOOTID.__MEDIKIT__,
wait: 10
}, {
id: IID.__BANDAGE__,
itemButton: {
src: ["img/inv-bandage-out.png", "img/inv-bandage-in.png", "img/inv-bandage-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Bandage", "To heal the boo-boos.", SKILLS.__DRUG__, [
[IID.__STRING__, 1],
[IID.__LEATHER_BOAR__, 2]
], 1, [
[AREAS.__WEAVING__, 20000]
]),
idWeapon: 18,
stack: 5,
loot: LOOTID.__BANDAGE__,
wait: 10
}, {
id: IID.__SODA__,
itemButton: {
src: ["img/inv-soda-out.png", "img/inv-soda-in.png", "img/inv-soda-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Soda", "Give energy.", SKILLS.__SURVIVAL__, [
[IID.__GHOUL_BLOOD__, 1],
[IID.__CHEMICAL_COMPONENT__, 1],
[IID.__CAN__, 1]
], 1, [
[AREAS.__FIRE__, 40000],
[AREAS.__BBQ__, 40000]
], 5),
idWeapon: 19,
stack: 5,
loot: LOOTID.__SODA__,
perish: 2,
perishId: IID.__CAN__,
wait: 10
}, {
id: IID.__MP5__,
itemButton: {
src: ["img/inv-MP5-out.png", "img/inv-MP5-in.png", "img/inv-MP5-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("MP5", "Not bad.", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 6],
[IID.__SHAPED_METAL__, 6]
], 1, [
[AREAS.__WORKBENCH2__, 200000]
], 10),
idWeapon: 20,
bullet: IID.__BULLET_9MM__,
stack: 1,
loot: LOOTID.__MP5__,
wait: 10
}, {
id: IID.__HEADSCARF__,
itemButton: {
src: ["img/inv-headscarf-out.png", "img/inv-headscarf-in.png", "img/inv-headscarf-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Headscarf", "Warm you up.", SKILLS.__CLOTHE__, [
[IID.__STRING__, 1],
[IID.__LEATHER_BOAR__, 1]
], 1, [
[AREAS.__WEAVING__, 60000]
]),
idClothe: 1,
stack: 1,
loot: LOOTID.__HEADSCARF__,
wait: 10,
warm: 0.00085,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0,
speed: 0
}, {
id: IID.__CHAPKA__,
itemButton: {
src: ["img/inv-chapka-out.png", "img/inv-chapka-in.png", "img/inv-chapka-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Chapka", "You look like a real woodcutter.", SKILLS.__CLOTHE__, [
[IID.__STRING__, 6],
[IID.__LEATHER_BOAR__, 8],
[IID.__HEADSCARF__, 1]
], 1, [
[AREAS.__WEAVING__, 120000]
], 7),
idClothe: 2,
stack: 1,
loot: LOOTID.__CHAPKA__,
wait: 10,
warm: 0.0017,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0,
speed: 0
}, {
id: IID.__WINTER_COAT__,
itemButton: {
src: ["img/inv-coat-out.png", "img/inv-coat-in.png", "img/inv-coat-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Winter Coat", "Is the weather really that cold?", SKILLS.__CLOTHE__, [
[IID.__STRING__, 15],
[IID.__LEATHER_BOAR__, 20],
[IID.__CHAPKA__, 1]
], 1, [
[AREAS.__WEAVING__, 180000]
], 9, IID.__CHAPKA__),
idClothe: 3,
stack: 1,
loot: LOOTID.__WINTER_COAT__,
wait: 10,
warm: 0.0026,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0,
speed: 0
}, {
id: IID.__GAZ_MASK__,
itemButton: {
src: ["img/inv-gaz-mask-out.png", "img/inv-gaz-mask-in.png", "img/inv-gaz-mask-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Radiation Mask", "Protect you from Radioactivity.", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 1],
[IID.__STRING__, 1],
[IID.__LEATHER_BOAR__, 2]
], 1, [
[AREAS.__WEAVING__, 60000]
]),
idClothe: 4,
stack: 1,
loot: LOOTID.__GAZ_MASK__,
wait: 10,
warm: 0,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0.009,
speed: 0
}, {
id: IID.__GAZ_PROTECTION__,
itemButton: {
src: ["img/inv-gaz-protection-out.png", "img/inv-gaz-protection-in.png", "img/inv-gaz-protection-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Min. Radiation Suit", "Previously, on Breaking Bad.", SKILLS.__CLOTHE__, [
[IID.__ALLOYS__, 2],
[IID.__SHAPED_METAL__, 2],
[IID.__STRING__, 4],
[IID.__LEATHER_BOAR__, 4],
[IID.__GAZ_MASK__, 1]
], 1, [
[AREAS.__WEAVING__, 90000]
], 8),
idClothe: 5,
stack: 1,
loot: LOOTID.__GAZ_PROTECTION__,
wait: 10,
warm: 0.0006,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0.016,
speed: 0
}, {
id: IID.__RADIATION_SUIT__,
itemButton: {
src: ["img/inv-radiation-suit-out.png", "img/inv-radiation-suit-in.png", "img/inv-radiation-suit-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Radiation Suit", "Let's not grow a second head.", SKILLS.__CLOTHE__, [
[IID.__ALLOYS__, 6],
[IID.__SHAPED_METAL__, 4],
[IID.__STRING__, 8],
[IID.__LEATHER_BOAR__, 20],
[IID.__GAZ_PROTECTION__, 1]
], 1, [
[AREAS.__WEAVING__, 180000]
], 10, IID.__GAZ_PROTECTION__),
idClothe: 6,
stack: 1,
loot: LOOTID.__RADIATION_SUIT__,
wait: 10,
warm: 0,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0.022,
speed: -0.01
}, {
id: IID.__WOOD_ARROW__,
itemButton: {
src: ["img/inv-wood-arrow-out.png", "img/inv-wood-arrow-in.png", "img/inv-wood-arrow-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood Arrow", "Needed to use bow.", SKILLS.__WEAPON__, [
[IID.__WOOD__, 40]
], 5, [
[AREAS.__PLAYER__, 15000],
[AREAS.__WORKBENCH__, 10000]
]),
stack: 255,
loot: LOOTID.__WOOD_ARROW__
}, {
id: IID.__CAMPFIRE_BBQ__,
itemButton: {
src: ["img/inv-campfire-bbq-out.png", "img/inv-campfire-bbq-in.png", "img/inv-campfire-bbq-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Firepit", "Warm up and melt iron slowly.", SKILLS.__SURVIVAL__, [
[IID.__WOOD__, 120],
[IID.__STONE__, 20],
[IID.__STEEL__, 4]
], 1, [
[AREAS.__WORKBENCH__, 20000]
], 3),
idWeapon: 21,
fuel: 20000,
zid: -1,
z: 0,
area: AREAS.__BBQ__,
stack: 255,
loot: LOOTID.__CAMPFIRE_BBQ__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-campfire-bbq.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-campfire-bbq.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: __WARM__,
draw: Render.campfire,
drawTop: Render.campfireLight,
packetId: 16,
interact: {
src: "img/e-campfire-bbq.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-campfire-bbq.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__SMELTER__,
itemButton: {
src: ["img/inv-smelter-out.png", "img/inv-smelter-in.png", "img/inv-smelter-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Smelter", "Melt iron, uranium and alloys", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 6],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 10),
idWeapon: 21,
fuel: 42000,
zid: 1,
z: 1,
area: AREAS.__SMELTER__,
stack: 255,
loot: LOOTID.__SMELTER__,
wait: 10,
delay: 1000,
width: [100, 260, 100, 260],
height: [260, 100, 260, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, -80, 0, -80],
_y: [-80, 0, -80, 0],
iTile: [-1, 0, -1, 0],
jTile: [0, -1, 0, -1],
blueprint: {
src: "img/day-clear-blue-smelter.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-smelter.png",
img: {
isLoaded: 0
}
},
xLight: [-20.5, -101.5, 20.5, 101.5],
yLight: [101.5, -20.5, -101, 20.5],
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.smelter,
packetId: 16,
interact: {
src: "img/e-smelter.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-smelter-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-smelter-on.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-smelter-light-up.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-smelter-light-down.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 3000,
score: 0
}, {
id: IID.__WOOD_BIGDOOR__,
itemButton: {
src: ["img/inv-wood-door1-out.png", "img/inv-wood-door1-in.png", "img/inv-wood-door1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wooden Door", "Let's hope it holds.", SKILLS.__BUILDING__, [
[IID.__WOOD__, 60]
], 1, [
[AREAS.__WORKBENCH__, 20000]
]),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__WOOD_BIGDOOR__,
wait: 10,
delay: 600,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-wood-door1.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-wood-door1.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 1,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI,
iMove: [1, -1, -1, 1],
jMove: [-1, -1, 1, 1],
xMove: [0, 0, 0, 0],
yMove: [0, 0, 0, 0],
wMove: [100, 100, 100, 100],
hMove: [100, 100, 100, 100],
xRotate: 17,
yRotate: 113,
draw: Render.door,
packetId: 15,
interact: {
src: "img/e-opendoor.png",
img: {
isLoaded: 0
}
},
interactclose: {
src: "img/e-closedoor.png",
img: {
isLoaded: 0
}
},
broken: [{
src: "img/day-wood-door1-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-door1-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-door1-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-wood-door1.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 2500,
score: 0
}, {
id: IID.__STONE_BIGDOOR__,
itemButton: {
src: ["img/inv-stone-door1-out.png", "img/inv-stone-door1-in.png", "img/inv-stone-door1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone Door", "Not too heavy to open, I hope.", SKILLS.__BUILDING__, [
[IID.__STONE__, 60]
], 1, [
[AREAS.__WORKBENCH__, 20000]
], 3),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__STONE_BIGDOOR__,
wait: 10,
delay: 600,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-door1.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-door1.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 1,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI,
iMove: [1, -1, -1, 1],
jMove: [-1, -1, 1, 1],
xMove: [0, 0, 0, 0],
yMove: [0, 0, 0, 0],
wMove: [100, 100, 100, 100],
hMove: [100, 100, 100, 100],
xRotate: 17,
yRotate: 113,
draw: Render.door,
packetId: 15,
interact: {
src: "img/e-opendoor.png",
img: {
isLoaded: 0
}
},
interactclose: {
src: "img/e-closedoor.png",
img: {
isLoaded: 0
}
},
broken: [{
src: "img/day-stone-door1-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-door1-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-door1-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STONE_IMPACT__,
destroy: SOUNDID.__STONE_DESTROY__,
building: {
src: "img/day-stone-door1.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__STONE__,
particlesDist: 80,
timelife: 315360000000,
life: 6000,
score: 0
}, {
id: IID.__STEEL_BIGDOOR__,
itemButton: {
src: ["img/inv-steel-door1-out.png", "img/inv-steel-door1-in.png", "img/inv-steel-door1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Door", "I guess you're safe.", SKILLS.__BUILDING__, [
[IID.__SHAPED_METAL__, 9]
], 1, [
[AREAS.__WORKBENCH2__, 40000]
], 6, IID.__STONE_BIGDOOR__),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__STEEL_BIGDOOR__,
wait: 10,
delay: 600,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-door1.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-door1.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 1,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI,
iMove: [1, -1, -1, 1],
jMove: [-1, -1, 1, 1],
xMove: [0, 0, 0, 0],
yMove: [0, 0, 0, 0],
wMove: [100, 100, 100, 100],
hMove: [100, 100, 100, 100],
xRotate: 17,
yRotate: 113,
draw: Render.door,
packetId: 15,
interact: {
src: "img/e-opendoor.png",
img: {
isLoaded: 0
}
},
interactclose: {
src: "img/e-closedoor.png",
img: {
isLoaded: 0
}
},
broken: [{
src: "img/day-steel-door1-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-door1-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-door1-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-steel-door1.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__STEEL__,
particlesDist: 80,
timelife: 315360000000,
life: 12500,
score: 0
}, {
id: IID.__SULFUR__,
itemButton: {
src: ["img/inv-sulfur-out.png", "img/inv-sulfur-in.png", "img/inv-sulfur-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Sulfur", "Sulfur in such a cold landscape?", SKILLS.__MINERAL__, [], 0, [
[AREAS.__EXTRACTOR__, 240000]
]),
craftStart: 4,
craftRng: 8,
stack: 255,
loot: LOOTID.__SULFUR__,
score: 32
}, {
id: IID.__SHAPED_URANIUM__,
itemButton: {
src: ["img/inv-shaped-uranium-out.png", "img/inv-shaped-uranium-in.png", "img/inv-shaped-uranium-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Shaped Uranium", "Are you out of your mind?", SKILLS.__MINERAL__, [
[IID.__URANIUM__, 1]
], 1, [
[AREAS.__SMELTER__, 20000]
]),
stack: 255,
loot: LOOTID.__SHAPED_URANIUM__,
score: 0
}, {
id: IID.__WORKBENCH2__,
itemButton: {
src: ["img/inv-workbench2-out.png", "img/inv-workbench2-in.png", "img/inv-workbench2-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Research Bench", "Allow you to make new INVENTORY", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 6],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH__, 50000]
], 6),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 1,
area: AREAS.__WORKBENCH2__,
stack: 255,
loot: LOOTID.__WORKBENCH2__,
wait: 10,
delay: 1000,
width: [100, 290, 100, 280],
height: [280, 100, 280, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, -90, 0, -90],
_y: [-90, 0, -90, 0],
iTile: [-1, 0, -1, 0],
jTile: [0, -1, 0, -1],
blueprint: {
src: "img/day-clear-blue-workbench2.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-workbench2.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.workbench2,
packetId: 16,
interact: {
src: "img/e-workbench2.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-workbench2.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 400,
score: 0
}, {
id: IID.__URANIUM__,
itemButton: {
src: ["img/inv-uranium-out.png", "img/inv-uranium-in.png", "img/inv-uranium-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Uranium", "Do you want to end up as Marie Curie?", SKILLS.__MINERAL__, [], 0, [
[AREAS.__EXTRACTOR__, 240000]
]),
craftStart: 2,
craftRng: 4,
stack: 255,
loot: LOOTID.__URANIUM__,
score: 45
}, {
id: IID.__WEAVING__,
itemButton: {
src: ["img/inv-weaving-machine-out.png", "img/inv-weaving-machine-in.png", "img/inv-weaving-machine-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Weaving Machine", "Allow you to sew clothes", SKILLS.__SURVIVAL__, [
[IID.__WOOD__, 80],
[IID.__STONE__, 20],
[IID.__STRING__, 2]
], 1, [
[AREAS.__WORKBENCH__, 60000]
]),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 1,
area: AREAS.__WEAVING__,
stack: 255,
loot: LOOTID.__WEAVING__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-weaving-machine.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-weaving-machine.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.workbench,
packetId: 16,
interact: {
src: "img/e-weaving-machine.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-weaving-machine.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__GASOLINE__,
itemButton: {
src: ["img/inv-gasoline-out.png", "img/inv-gasoline-in.png", "img/inv-gasoline-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gasoline", "Fuel for Smelter", SKILLS.__SURVIVAL__, [
[IID.__ROTTEN_ORANGE__, 4],
[IID.__SULFUR__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 20000]
]),
stack: 255,
loot: LOOTID.__GASOLINE__
}, {
id: IID.__SULFUR_PICKAXE__,
itemButton: {
src: ["img/inv-sulfur-pickaxe-out.png", "img/inv-sulfur-pickaxe-in.png", "img/inv-sulfur-pickaxe-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Sulfur Pickaxe", "Mine also Uranium", SKILLS.__TOOL__, [
[IID.__ALLOYS__, 2],
[IID.__SHAPED_METAL__, 6],
[IID.__SULFUR__, 6]
], 1, [
[AREAS.__WORKBENCH2__, 90000]
], 9, IID.__STEEL_PICKAXE__),
idWeapon: 22,
stack: 1,
loot: LOOTID.__SULFUR_PICKAXE__,
wait: 10
}, {
id: IID.__CHEST__,
itemButton: {
src: ["img/inv-chest-out.png", "img/inv-chest-in.png", "img/inv-chest-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood chest", "You can't store food in.", SKILLS.__BUILDING__, [
[IID.__WOOD__, 50],
[IID.__STONE__, 20]
], 1, [
[AREAS.__WORKBENCH__, 30000]
], 8),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__CHEST__,
wait: 10,
chest: 1,
delay: 600,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-chest.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-chest.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
draw: Render.workbench,
packetId: 25,
interact: {
src: "img/e-chest.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: {
src: "img/day-chest.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__WOOD__,
particlesDist: 55,
timelife: 315360000000,
life: 300,
score: 0
}, {
id: IID.__FRIDGE__,
itemButton: {
src: ["img/inv-fridge-out.png", "img/inv-fridge-in.png", "img/inv-fridge-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Fridge", "Save your food.", SKILLS.__BUILDING__, [
[IID.__SHAPED_METAL__, 5],
[IID.__ENERGY_CELLS__, 4]
], 1, [
[AREAS.__WORKBENCH2__, 90000]
], 9),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__FRIDGE__,
wait: 10,
chest: 1,
fridge: 1,
delay: 600,
width: [50, 100, 50, 100],
height: [100, 50, 100, 50],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 50, 0],
_y: [0, 0, 0, 50],
blueprint: {
src: "img/day-clear-blue-fridge.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-fridge.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
draw: Render.workbench,
packetId: 25,
interact: {
src: "img/e-fridge.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-fridge.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 55,
timelife: 315360000000,
life: 300,
score: 0
}, {
id: IID.__WOOD_FLOOR__,
itemButton: {
src: ["img/inv-wood-floor-out.png", "img/inv-wood-floor-in.png", "img/inv-wood-floor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood floor", "Players can't spawn on it", SKILLS.__BUILDING__, [
[IID.__WOOD__, 15]
], 2, [
[AREAS.__WORKBENCH__, 15000]
]),
stack: 255,
loot: LOOTID.__WOOD_FLOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 2,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-wood-floor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-wood-floor.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__WOOD_FLOOR__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.groundFloor,
broken: [{
src: "img/day-wood-floor-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: [{
src: "img/day-wood-floor-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 4000,
score: 0
}, {
id: IID.__HAMMER__,
itemButton: {
src: ["img/inv-hammer-out.png", "img/inv-hammer-in.png", "img/inv-hammer-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Hammer", "Destroy walls quickly.", SKILLS.__TOOL__, [
[IID.__WOOD__, 100],
[IID.__SHAPED_METAL__, 10]
], 1, [
[AREAS.__WORKBENCH2__, 30000]
], 7),
idWeapon: 23,
stack: 1,
loot: LOOTID.__HAMMER__,
wait: 10
}, {
id: IID.__SLEEPING_BAG__,
itemButton: {
src: ["img/inv-sleeping-bag-out.png", "img/inv-sleeping-bag-in.png", "img/inv-sleeping-bag-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Sleeping Bag", "Once dead, you keep your base", SKILLS.__SURVIVAL__, [
[IID.__LEATHER_BOAR__, 7],
[IID.__ANIMAL_FAT__, 7],
[IID.__STRING__, 7]
], 1, [
[AREAS.__WEAVING__, 20000]
], 9),
stack: 255,
loot: LOOTID.__SLEEPING_BAG__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-sleeping-bag.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-sleeping-bag.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.defaultBuilding,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-sleeping-bag.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__FUR__,
particlesDist: 80,
timelife: 315360000000,
life: 500,
score: 0
}, {
id: IID.__REPAIR_HAMMER__,
itemButton: {
src: ["img/inv-repair-hammer-out.png", "img/inv-repair-hammer-in.png", "img/inv-repair-hammer-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Repair Hammer", "Repair walls but require nails.", SKILLS.__TOOL__, [
[IID.__WOOD__, 120],
[IID.__SHAPED_METAL__, 2]
], 1, [
[AREAS.__WORKBENCH__, 30000]
], 5),
idWeapon: 24,
stack: 1,
loot: LOOTID.__REPAIR_HAMMER__,
wait: 10
}, {
id: IID.__NAILS__,
itemButton: {
src: ["img/inv-nails-out.png", "img/inv-nails-in.png", "img/inv-nails-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Nails", "Needed to repair walls.", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 2]
], 85, [
[AREAS.__WORKBENCH__, 20000]
]),
stack: 255,
loot: LOOTID.__NAILS__
}, {
id: IID.__WOODLIGHT_FLOOR__,
itemButton: {
src: ["img/inv-wood-floor-light-out.png", "img/inv-wood-floor-light-in.png", "img/inv-wood-floor-light-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Light Wood Floor", "Players can't spawn on it", SKILLS.__BUILDING__, [
[IID.__WOOD__, 15]
], 2, [
[AREAS.__WORKBENCH__, 15000]
]),
stack: 255,
loot: LOOTID.__WOODLIGHT_FLOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 2,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-woodlight-floor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-woodlight-floor.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__WOODLIGHT_FLOOR__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.groundFloor,
broken: [{
src: "img/day-wood-floor-light-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: [{
src: "img/day-wood-floor-light-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-floor-light-46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__WOODLIGHT__,
particlesDist: 80,
timelife: 315360000000,
life: 4000,
score: 0
}, {
id: IID.__WOOD_SMALLWALL__,
itemButton: {
src: ["img/inv-wood-smallwall-out.png", "img/inv-wood-smallwall-in.png", "img/inv-wood-smallwall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wooden Low Wall", "You can shoot through it.", SKILLS.__BUILDING__, [
[IID.__WOOD__, 10]
], 1, [
[AREAS.__WORKBENCH__, 10000]
]),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__WOOD_SMALLWALL__,
wait: 10,
delay: 1000,
width: [100, 35, 100, 35],
height: [35, 100, 35, 100],
xCenter: [0, -30, 0, 30],
yCenter: [30, 0, -30, 0],
_x: [0, 0, 0, 65],
_y: [65, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-wood-smallwall.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-wood-smallwall.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 1,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
iMove: [1, 0, -1, 0],
jMove: [0, -1, 0, 1],
xMove: [0, 0, 65, 0],
yMove: [0, 0, 0, 65],
wMove: [35, 100, 35, 100],
hMove: [100, 35, 100, 35],
xRotate: 6,
yRotate: 46,
areaEffect: 0,
draw: Render.lowWall,
broken: [{
src: "img/day-wood-smallwalls-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: [{
src: "img/day-wood-smallwalls-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-smallwalls-39.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 3000,
score: 0
}, {
id: IID.__STONE_SMALLWALL__,
itemButton: {
src: ["img/inv-stone-smallwall-out.png", "img/inv-stone-smallwall-in.png", "img/inv-stone-smallwall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone Low Wall", "You can shoot through it.", SKILLS.__BUILDING__, [
[IID.__STONE__, 10]
], 1, [
[AREAS.__WORKBENCH__, 15000]
], 3),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__STONE_SMALLWALL__,
wait: 10,
delay: 1000,
width: [100, 35, 100, 35],
height: [35, 100, 35, 100],
xCenter: [0, -30, 0, 30],
yCenter: [30, 0, -30, 0],
_x: [0, 0, 0, 65],
_y: [65, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-smallwalls.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-smallwalls.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 1,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
iMove: [1, 0, -1, 0],
jMove: [0, -1, 0, 1],
xMove: [0, 0, 65, 0],
yMove: [0, 0, 0, 65],
wMove: [35, 100, 35, 100],
hMove: [100, 35, 100, 35],
xRotate: 6,
yRotate: 46,
areaEffect: 0,
draw: Render.lowWall,
broken: [{
src: "img/day-stone-smallwalls-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STONE_IMPACT__,
destroy: SOUNDID.__STONE_DESTROY__,
building: [{
src: "img/day-stone-smallwalls-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-smallwalls-39.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STONE__,
particlesDist: 80,
timelife: 315360000000,
life: 7000,
score: 0
}, {
id: IID.__STEEL_SMALLWALL__,
itemButton: {
src: ["img/inv-steel-smallwall-out.png", "img/inv-steel-smallwall-in.png", "img/inv-steel-smallwall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Low Wall", "You can shoot through it.", SKILLS.__BUILDING__, [
[IID.__SHAPED_METAL__, 2]
], 1, [
[AREAS.__WORKBENCH2__, 20000]
], 6, IID.__STONE_SMALLWALL__),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 0,
stack: 255,
loot: LOOTID.__STEEL_SMALLWALL__,
wait: 10,
delay: 1000,
width: [100, 35, 100, 35],
height: [35, 100, 35, 100],
xCenter: [0, -30, 0, 30],
yCenter: [30, 0, -30, 0],
_x: [0, 0, 0, 65],
_y: [65, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-smallwalls.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-smallwalls.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 1,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
angle: window.Math.PI / 2,
iMove: [1, 0, -1, 0],
jMove: [0, -1, 0, 1],
xMove: [0, 0, 65, 0],
yMove: [0, 0, 0, 65],
wMove: [35, 100, 35, 100],
hMove: [100, 35, 100, 35],
xRotate: 6,
yRotate: 46,
areaEffect: 0,
draw: Render.lowWall,
broken: [{
src: "img/day-steel-smallwalls-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-steel-smallwalls-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-steel-smallwalls-39.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STEEL__,
particlesDist: 55,
timelife: 315360000000,
life: 15000,
score: 0
}, {
id: IID.__FURNITURE__,
zid: 0,
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: [],
detail: {
category: window.undefined
},
particles: -1,
draw: Render.furniture
}, {
id: IID.__TOMATO_SOUP__,
itemButton: {
src: ["img/inv-tomato-soup-out.png", "img/inv-tomato-soup-in.png", "img/inv-tomato-soup-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tomato Soup", "Has not yet been opened.", SKILLS.__SURVIVAL__, [
[IID.__CAN__, 1],
[IID.__TOMATO__, 2]
], 1, [
[AREAS.__FIRE__, 15000],
[AREAS.__BBQ__, 7000]
]),
idWeapon: 25,
stack: 5,
loot: LOOTID.__TOMATO_SOUP__,
perish: 2,
perishId: IID.__CAN__,
wait: 10
}, {
id: IID.__SYRINGE__,
itemButton: {
src: ["img/inv-syringe-out.png", "img/inv-syringe-in.png", "img/inv-syringe-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Syringe", "Useful to make drugs.", SKILLS.__DRUG__, [
[IID.__JUNK__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 30000]
]),
stack: 20,
loot: LOOTID.__SYRINGE__,
score: 50
}, {
id: IID.__CHEMICAL_COMPONENT__,
itemButton: {
src: ["img/inv-chemical-component-out.png", "img/inv-chemical-component-in.png", "img/inv-chemical-component-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Chemical Component", "Useful to make a drugs."),
stack: 20,
loot: LOOTID.__CHEMICAL_COMPONENT__,
score: 50
}, {
id: IID.__RADAWAY__,
itemButton: {
src: ["img/inv-radaway-out.png", "img/inv-radaway-in.png", "img/inv-radaway-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("RadAway", "Reduce your radioactivity a lot.", SKILLS.__DRUG__, [
[IID.__SYRINGE__, 1],
[IID.__CHEMICAL_COMPONENT__, 1],
[IID.__MUSHROOM2__, 1]
], 1, [
[AREAS.__AGITATOR__, 45000]
]),
idWeapon: 26,
stack: 5,
loot: LOOTID.__RADAWAY__,
wait: 10
}, {
id: IID.__SEED_TOMATO__,
itemButton: {
src: ["img/inv-tomato-seed-out.png", "img/inv-tomato-seed-in.png", "img/inv-tomato-seed-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tomato Seed", "A fruit or vegetable?", SKILLS.__PLANT__, [
[IID.__TOMATO__, 4]
], 1, [
[AREAS.__FIRE__, 30000],
[AREAS.__BBQ__, 20000]
]),
stack: 40,
loot: LOOTID.__SEED_TOMATO__,
fruit: LOOTID.__TOMATO__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/day-clear-blue-tomato.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-tomato.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__SEED__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.orangeSeed,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
building: [{
src: "img/day-plant0-tomato.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant1-tomato.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant2-tomato.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant3-tomato.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant4-tomato.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__TOMATO__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 250,
score: 0
}, {
id: IID.__TOMATO__,
itemButton: {
src: ["img/inv-tomato-out.png", "img/inv-tomato-in.png", "img/inv-tomato-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tomato", "Why did the tomato blush?"),
stack: 20,
loot: LOOTID.tomato,
wait: 5,
perish: 10,
perishId: IID.__ROTTEN_TOMATO__,
idWeapon: 27,
score: 24
}, {
id: IID.__ROTTEN_TOMATO__,
itemButton: {
src: ["img/inv-rotten-tomato-out.png", "img/inv-rotten-tomato-in.png", "img/inv-rotten-tomato-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Tomato", "Go on, have a bite!"),
stack: 20,
loot: LOOTID.__ROTTEN_TOMATO__,
wait: 5,
idWeapon: 28,
score: 20
}, {
id: IID.__CAN__,
itemButton: {
src: ["img/inv-can-out.png", "img/inv-can-in.png", "img/inv-can-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Can", "Useful to craft food can.", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 1]
], 1, [
[AREAS.__WORKBENCH__, 20000]
]),
idWeapon: 0,
stack: 255,
loot: LOOTID.__CAN__
}, {
id: IID.__WOOD_CROSSBOW__,
itemButton: {
src: ["img/inv-wood-crossbow-out.png", "img/inv-wood-crossbow-in.png", "img/inv-wood-crossbow-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wood Crossbow", "Shoot faster, reload slower", SKILLS.__WEAPON__, [
[IID.__WOOD__, 200],
[IID.__STRING__, 2],
[IID.__SHAPED_METAL__, 1]
], 1, [
[AREAS.__WORKBENCH__, 50000]
], 6),
idWeapon: 29,
bullet: IID.__WOOD_CROSSARROW__,
stack: 1,
loot: LOOTID.__WOOD_CROSSBOW__,
wait: 10
}, {
id: IID.__WOOD_CROSSARROW__,
itemButton: {
src: ["img/inv-wood-crossarrow-out.png", "img/inv-wood-crossarrow-in.png", "img/inv-wood-crossarrow-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Crossbow Arrows", "Needed to use crossbow.", SKILLS.__WEAPON__, [
[IID.__WOOD__, 40],
[IID.__SHAPED_METAL__, 1]
], 10, [
[AREAS.__WORKBENCH__, 30000]
]),
stack: 255,
loot: LOOTID.__WOOD_CROSSARROW__
}, {
id: IID.__NAIL_GUN__,
itemButton: {
src: ["img/inv-nail-gun-out.png", "img/inv-nail-gun-in.png", "img/inv-nail-gun-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Nail Gun", "Repair walls from a distance", SKILLS.__TOOL__, [
[IID.__SHAPED_METAL__, 3],
[IID.__SMALL_WIRE__, 1],
[IID.__JUNK__, 1],
[IID.__ENERGY_CELLS__, 4]
], 1, [
[AREAS.__WORKBENCH2__, 30000]
], 7),
idWeapon: 30,
bullet: IID.__NAILS__,
stack: 1,
loot: LOOTID.__NAIL_GUN__,
wait: 10
}, {
id: IID.__SAWED_OFF_SHOTGUN__,
itemButton: {
src: ["img/inv-sawed-off-shotgun-out.png", "img/inv-sawed-off-shotgun-in.png", "img/inv-sawed-off-shotgun-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Sawed Off", "Shoot less far, do more damages", SKILLS.__WEAPON__, [
[IID.__SHOTGUN__, 1],
[IID.__ALLOYS__, 6],
[IID.__SHAPED_METAL__, 6]
], 1, [
[AREAS.__WORKBENCH2__, 200000]
], 13, IID.__SHOTGUN__),
idWeapon: 31,
bullet: IID.__BULLET_SHOTGUN__,
stack: 1,
loot: LOOTID.__SAWED_OFF_SHOTGUN__,
wait: 10
}, {
id: IID.__STONE_FLOOR__,
itemButton: {
src: ["img/inv-stone-floor-out.png", "img/inv-stone-floor-in.png", "img/inv-stone-floor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone floor", "Players can't spawn on it", SKILLS.__BUILDING__, [
[IID.__STONE__, 15]
], 2, [
[AREAS.__WORKBENCH__, 15000]
], 4),
stack: 255,
loot: LOOTID.__STONE_FLOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 2,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-floor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-floor.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__STONE_FLOOR__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.groundFloor,
broken: [{
src: "img/day-stone-floor-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__STONE_DESTROY__,
building: [{
src: "img/day-stone-floor-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-floor-46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STONE__,
particlesDist: 80,
timelife: 315360000000,
life: 8000,
score: 0
}, {
id: IID.__TILING_FLOOR__,
itemButton: {
src: ["img/inv-tiling-floor-out.png", "img/inv-tiling-floor-in.png", "img/inv-tiling-floor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tiling floor", "Players can't spawn on it", SKILLS.__BUILDING__, [
[IID.__STONE__, 15]
], 2, [
[AREAS.__WORKBENCH__, 15000]
], 4),
stack: 255,
loot: LOOTID.__TILING_FLOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 2,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-tiling-floor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-tiling-floor.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__TILING_FLOOR__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.groundFloor,
broken: [{
src: "img/day-tiling-floor-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__STONE_DESTROY__,
building: [{
src: "img/day-tiling-floor-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tiling-floor-46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STONE__,
particlesDist: 80,
timelife: 315360000000,
life: 8000,
score: 0
}, {
id: IID.__ROAD__,
zid: 0,
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: [],
buildings: [],
detail: {
category: window.undefined
},
particles: -1,
draw: Render.road
}, {
id: IID.__CRISPS__,
itemButton: {
src: ["img/inv-chips-out.png", "img/inv-chips-in.png", "img/inv-chips-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Crisps", "You salty?"),
idWeapon: 32,
stack: 5,
loot: LOOTID.__CRISPS__,
perish: 2,
perishId: IID.__ROTTEN_CRISPS__,
wait: 10
}, {
id: IID.__ROTTEN_CRISPS__,
itemButton: {
src: ["img/inv-rotten-chips-out.png", "img/inv-rotten-chips-in.png", "img/inv-rotten-chips-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Expired Crisps", "Go on, have a bite!"),
stack: 5,
loot: LOOTID.__ROTTEN_CRISPS__,
wait: 5,
idWeapon: 33,
score: 20
}, {
id: IID.__ELECTRONICS__,
itemButton: {
src: ["img/inv-electronic-part-out.png", "img/inv-electronic-part-in.png", "img/inv-electronic-part-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Electronic Parts", "Break TV's and Computers to find it"),
stack: 255,
loot: LOOTID.__ELECTRONICS__,
score: 100
}, {
id: IID.__JUNK__,
itemButton: {
src: ["img/inv-junk-out.png", "img/inv-junk-in.png", "img/inv-junk-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Junk", "Find it in houses"),
stack: 255,
loot: LOOTID.__JUNK__,
score: 40
}, {
id: IID.__WIRE__,
itemButton: {
src: ["img/inv-wires-out.png", "img/inv-wires-in.png", "img/inv-wires-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Big Wire", "Break big computers in power AREAS (in the city)"),
stack: 255,
loot: LOOTID.__WIRE__,
score: 40
}, {
id: IID.__ENERGY_CELLS__,
itemButton: {
src: ["img/inv-small-energy-cells-out.png", "img/inv-small-energy-cells-in.png", "img/inv-small-energy-cells-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Energy Cells", "Used for energy weapons/buildings", SKILLS.__SURVIVAL__, [
[IID.__ALLOYS__, 1],
[IID.__SHAPED_URANIUM__, 1]
], 30, [
[AREAS.__TESLA__, 28000]
], 6),
stack: 255,
loot: LOOTID.__ENERGY_CELLS__
}, {
id: IID.__LASER_PISTOL__,
itemButton: {
src: ["img/inv-laser-pistol-out.png", "img/inv-laser-pistol-in.png", "img/inv-laser-pistol-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Laser Pistol", "Bullets are faster.", SKILLS.__WEAPON__, [
[IID.__SHAPED_URANIUM__, 2],
[IID.__WIRE__, 1],
[IID.__ELECTRONICS__, 2],
[IID.__ALLOYS__, 1],
[IID.__SHAPED_METAL__, 4]
], 1, [
[AREAS.__TESLA__, 180000]
], 14),
idWeapon: 34,
bullet: IID.__ENERGY_CELLS__,
stack: 1,
loot: LOOTID.__LASER_PISTOL__,
wait: 10
}, {
id: IID.__TESLA__,
itemButton: {
src: ["img/inv-workbench3-out.png", "img/inv-workbench3-in.png", "img/inv-workbench3-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tesla Bench", "Allow you to make powerful INVENTORY", SKILLS.__SURVIVAL__, [
[IID.__ALLOYS__, 4],
[IID.__SHAPED_METAL__, 6],
[IID.__ELECTRONICS__, 3],
[IID.__WIRE__, 4],
[IID.__SHAPED_URANIUM__, 2]
], 1, [
[AREAS.__WORKBENCH2__, 120000]
], 10, IID.__WORKBENCH2__),
idWeapon: 21,
fuel: 60000,
zid: 0,
z: 1,
area: AREAS.__TESLA__,
stack: 255,
loot: LOOTID.__TESLA__,
wait: 10,
delay: 1000,
width: [100, 260, 100, 260],
height: [260, 100, 260, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, -80, 0, -80],
_y: [-80, 0, -80, 0],
iTile: [-1, 0, -1, 0],
jTile: [0, -1, 0, -1],
blueprint: {
src: "img/day-clear-blue-workbench3.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-workbench3.png",
img: {
isLoaded: 0
}
},
xLight: [-20.5, -101.5, 20.5, 101.5],
yLight: [101.5, -20.5, -101, 20.5],
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__AI_CONSTRUCTOR__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.teslaBench,
packetId: 16,
interact: {
src: "img/e-workbench3.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-workbench3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-workbench3-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-workbench3-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-workbench3-3.png",
img: {
isLoaded: 0
}
}],
light: [{
src: "img/day-tesla-light0.png",
img: {
isLoaded: 0
}
}, 0, {
src: "img/day-tesla-light1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tesla-light2.png",
img: {
isLoaded: 0
}
}, 0, {
src: "img/day-tesla-light3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tesla-light4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-tesla-light5.png",
img: {
isLoaded: 0
}
}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 3000,
score: 0
}, {
id: IID.__ALLOYS__,
itemButton: {
src: ["img/inv-alloys-out.png", "img/inv-alloys-in.png", "img/inv-alloys-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Alloys", "To craft powerful INVENTORY", SKILLS.__MINERAL__, [
[IID.__STEEL__, 1],
[IID.__JUNK__, 1],
[IID.__SULFUR__, 1]
], 1, [
[AREAS.__SMELTER__, 10000]
]),
stack: 255,
loot: LOOTID.__ALLOYS__
}, {
id: IID.__SULFUR_AXE__,
itemButton: {
src: ["img/inv-sulfur-axe-out.png", "img/inv-sulfur-axe-in.png", "img/inv-sulfur-axe-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Sulfur Axe", "You look cool with it.", SKILLS.__TOOL__, [
[IID.__STONE_AXE__, 1],
[IID.__ALLOYS__, 8],
[IID.__SHAPED_METAL__, 10],
[IID.__SULFUR__, 20]
], 1, [
[AREAS.__WORKBENCH2__, 200000]
], 10, IID.__STONE_AXE__),
idWeapon: 35,
stack: 1,
loot: LOOTID.__SULFUR_AXE__,
wait: 10
}, {
id: IID.__LANDMINE__,
itemButton: {
src: ["img/inv-landmine-out.png", "img/inv-landmine-in.png", "img/inv-landmine-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Landmine", "When you feel it, it's too late", SKILLS.__WEAPON__, [
[IID.__SHAPED_METAL__, 4],
[IID.__JUNK__, 1],
[IID.__SULFUR__, 2],
[IID.__ANIMAL_FAT__, 2]
], 1, [
[AREAS.__WORKBENCH2__, 40000]
], 9),
stack: 20,
loot: LOOTID.__LANDMINE__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [50, 50, 50, 50],
height: [50, 50, 50, 50],
_x: [25, 25, 25, 25],
_y: [25, 25, 25, 25],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-landmine.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-landmine.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 1,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
damage: 200,
damageBuilding: 400,
areaEffect: 0,
draw: Render.landmine,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-landmine-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-landmine-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-landmine-2.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__KAKI__,
particlesDist: 80,
timelife: 315360000000,
life: 5,
score: 0
}, {
id: IID.__DYNAMITE__,
itemButton: {
src: ["img/inv-dynamite-out.png", "img/inv-dynamite-in.png", "img/inv-dynamite-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Dynamite", "Get out of here, it gonna blow!", SKILLS.__WEAPON__, [
[IID.__STRING__, 1],
[IID.__ANIMAL_FAT__, 2],
[IID.__SULFUR__, 2],
[IID.__JUNK__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 40000]
], 9),
stack: 10,
loot: LOOTID.__DYNAMITE__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-dynamite.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-dynamite.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 1,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
damage: 180,
damageBuilding: 1400,
areaEffect: 0,
draw: Render.dynamite,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__NO_SOUND__,
building: [{
src: "img/day-dynamite.png",
img: {
isLoaded: 0
}
}, {
src: "img/dynamite-yellow.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__RED_STEEL__,
particlesDist: 80,
timelife: 5000,
life: 100,
score: 0
}, {
id: IID.__C4__,
itemButton: {
src: ["img/inv-C4-out.png", "img/inv-C4-in.png", "img/inv-C4-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("C4", "Explode when you hit the trigger!", SKILLS.__WEAPON__, [
[IID.__DYNAMITE__, 2],
[IID.__SMALL_WIRE__, 1],
[IID.__ALLOYS__, 2],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 60000]
], 16, IID.__DYNAMITE__),
stack: 5,
loot: LOOTID.__C4__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-C4.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-C4.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 1,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
damage: 255,
damageBuilding: 6000,
collision: 0,
areaEffect: 0,
draw: Render.dynamite,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__NO_SOUND__,
building: [{
src: "img/day-C4.png",
img: {
isLoaded: 0
}
}, {
src: "img/C4-red.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__KAKI__,
particlesDist: 80,
timelife: 315360000000,
life: 100,
score: 0
}, {
id: IID.__C4_TRIGGER__,
itemButton: {
src: ["img/inv-joystick-out.png", "img/inv-joystick-in.png", "img/inv-joystick-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("C4 Trigger", "Don't press the button or else...", SKILLS.__WEAPON__, [
[IID.__SHAPED_METAL__, 5],
[IID.__ELECTRONICS__, 1],
[IID.__ENERGY_CELLS__, 8],
[IID.__SMALL_WIRE__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 16, IID.__C4__),
stack: 1,
loot: LOOTID.__C4_TRIGGER__,
wait: 10,
idWeapon: 36,
score: 0
}, {
id: IID.__COMPOST__,
itemButton: {
src: ["img/inv-composter-out.png", "img/inv-composter-in.png", "img/inv-composter-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Compost", "Allows to accelerate rotting", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 4],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 8),
idWeapon: 21,
fuel: 10000,
zid: 0,
z: 1,
area: AREAS.__COMPOST__,
stack: 255,
loot: LOOTID.__COMPOST__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-composter.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-composter.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.compost,
packetId: 16,
interact: {
src: "img/e-composter.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-composter-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-composter.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 500,
score: 0
}, {
id: IID.__ARMOR_PHYSIC_1__,
itemButton: {
src: ["img/inv-metal-helmet-out.png", "img/inv-metal-helmet-in.png", "img/inv-metal-helmet-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Metal Helmet", "Protects you from melee weapons", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 3],
[IID.__ANIMAL_TENDON__, 3],
[IID.__LEATHER_BOAR__, 3],
[IID.__NAILS__, 80]
], 1, [
[AREAS.__WORKBENCH__, 70000]
]),
idClothe: 7,
stack: 1,
loot: LOOTID.__ARMOR_PHYSIC_1__,
wait: 10,
warm: 0,
def: 0.15,
bul: 0,
ene: 0,
boom: 0,
rad: 0,
speed: -0.01
}, {
id: IID.__ARMOR_PHYSIC_2__,
itemButton: {
src: ["img/inv-welding-helmet-out.png", "img/inv-welding-helmet-in.png", "img/inv-welding-helmet-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Welding Helmet", "Protects you from melee weapons", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 10],
[IID.__ALLOYS__, 2],
[IID.__LEATHER_BOAR__, 3],
[IID.__NAILS__, 160],
[IID.__ARMOR_PHYSIC_1__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 140000]
], 7),
idClothe: 8,
stack: 1,
loot: LOOTID.__ARMOR_PHYSIC_2__,
wait: 10,
warm: 0,
def: 0.4,
bul: 0,
ene: 0,
boom: 0.05,
rad: 0,
speed: -0.02
}, {
id: IID.__ARMOR_PHYSIC_3__,
itemButton: {
src: ["img/inv-gladiator-helmet-out.png", "img/inv-gladiator-helmet-in.png", "img/inv-gladiator-helmet-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gladiator Helmet", "Strength and honor.", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 12],
[IID.__ALLOYS__, 6],
[IID.__LEATHER_BOAR__, 4],
[IID.__NAILS__, 255],
[IID.__ARMOR_PHYSIC_2__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 300000]
], 17, IID.__ARMOR_PHYSIC_2__),
idClothe: 9,
stack: 1,
loot: LOOTID.__ARMOR_PHYSIC_3__,
wait: 10,
warm: 0,
def: 0.6,
bul: 0.1,
ene: 0,
boom: 0.2,
rad: 0,
speed: -0.03
}, {
id: IID.__ARMOR_FIRE_1__,
itemButton: {
src: ["img/inv-leather-jacket-out.png", "img/inv-leather-jacket-in.png", "img/inv-leather-jacket-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Leather Jacket", "Protects you from guns", SKILLS.__CLOTHE__, [
[IID.__STRING__, 2],
[IID.__LEATHER_BOAR__, 4]
], 1, [
[AREAS.__WEAVING__, 70000]
]),
idClothe: 10,
stack: 1,
loot: LOOTID.__ARMOR_FIRE_1__,
wait: 10,
warm: 0.0006,
def: 0,
bul: 0.2,
ene: 0,
boom: 0,
rad: 0,
speed: 0
}, {
id: IID.__ARMOR_FIRE_2__,
itemButton: {
src: ["img/inv-kevlar-suit-out.png", "img/inv-kevlar-suit-in.png", "img/inv-kevlar-suit-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Kevlar Suit", "Protects you from guns", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 6],
[IID.__STRING__, 4],
[IID.__LEATHER_BOAR__, 6],
[IID.__ALLOYS__, 2],
[IID.__ARMOR_FIRE_1__, 1]
], 1, [
[AREAS.__WEAVING__, 100000]
], 12),
idClothe: 11,
stack: 1,
loot: LOOTID.__ARMOR_FIRE_2__,
wait: 10,
warm: 0,
def: 0,
bul: 0.4,
ene: 0,
boom: 0,
rad: 0,
speed: 0
}, {
id: IID.__ARMOR_FIRE_3__,
itemButton: {
src: ["img/inv-SWAT-suit-out.png", "img/inv-SWAT-suit-in.png", "img/inv-SWAT-suit-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("SWAT Suit", "Protects you from guns", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 10],
[IID.__STRING__, 10],
[IID.__LEATHER_BOAR__, 10],
[IID.__ALLOYS__, 4],
[IID.__ARMOR_FIRE_2__, 1]
], 1, [
[AREAS.__WEAVING__, 200000]
], 18, IID.__ARMOR_FIRE_2__),
idClothe: 12,
stack: 1,
loot: LOOTID.__ARMOR_FIRE_3__,
wait: 10,
warm: 0,
def: 0.1,
bul: 0.7,
ene: 0,
boom: 0.1,
rad: 0,
speed: -0.01
}, {
id: IID.__ARMOR_DEMINER__,
itemButton: {
src: ["img/inv-protective-suit-out.png", "img/inv-protective-suit-in.png", "img/inv-protective-suit-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Protective Suit", "Protects you from explosives", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 6],
[IID.__STRING__, 6],
[IID.__LEATHER_BOAR__, 6],
[IID.__ALLOYS__, 2]
], 1, [
[AREAS.__WEAVING__, 200000]
], 12, IID.__FEATHERWEIGHT__),
idClothe: 13,
stack: 1,
loot: LOOTID.__ARMOR_DEMINER__,
wait: 10,
warm: 0.00085,
def: 0,
bul: 0,
ene: 0,
boom: 0.9,
rad: 0,
speed: -0.03
}, {
id: IID.__ARMOR_TESLA_1__,
itemButton: {
src: ["img/inv-tesla-0-out.png", "img/inv-tesla-0-in.png", "img/inv-tesla-0-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Power Armor", "Protects you from energy weapons", SKILLS.__CLOTHE__, [
[IID.__SHAPED_METAL__, 20],
[IID.__SHAPED_URANIUM__, 2],
[IID.__ELECTRONICS__, 1],
[IID.__WIRE__, 2],
[IID.__ALLOYS__, 2]
], 1, [
[AREAS.__TESLA__, 150000]
], 10),
idClothe: 14,
stack: 1,
loot: LOOTID.__ARMOR_TESLA_1__,
wait: 10,
warm: 0,
def: 0,
bul: 0,
ene: 0.3,
boom: 0,
rad: 0,
speed: 0
}, {
id: IID.__ARMOR_TESLA_2__,
itemButton: {
src: ["img/inv-tesla-armor-out.png", "img/inv-tesla-armor-in.png", "img/inv-tesla-armor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tesla Armor", "Protects you from energy weapons", SKILLS.__CLOTHE__, [
[IID.__ARMOR_TESLA_1__, 1],
[IID.__SHAPED_URANIUM__, 10],
[IID.__ELECTRONICS__, 5],
[IID.__WIRE__, 5],
[IID.__ALLOYS__, 10]
], 1, [
[AREAS.__TESLA__, 300000]
], 18, IID.__ARMOR_TESLA_1__, 3),
idClothe: 15,
stack: 1,
loot: LOOTID.__ARMOR_TESLA_2__,
wait: 10,
warm: 0.00085,
def: 0.2,
bul: 0.2,
ene: 0.75,
boom: 0.2,
rad: 0.01,
speed: -0.02
}, {
id: IID.__WOOD_SPIKE__,
itemButton: {
src: ["img/inv-wood-spike-out.png", "img/inv-wood-spike-in.png", "img/inv-wood-spike-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Wooden Spike", "Hurt and slow down", SKILLS.__BUILDING__, [
[IID.__WOOD__, 80]
], 1, [
[AREAS.__WORKBENCH__, 25000]
]),
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
stack: 40,
loot: LOOTID.__WOOD_SPIKE__,
wait: 10,
delay: 1000,
width: [50, 50, 50, 50],
height: [50, 50, 50, 50],
_x: [25, 25, 25, 25],
_y: [25, 25, 25, 25],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-wood-spike.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-wood-spike.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.spike,
hidden: [{
src: "img/day-wood-spike-cover1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-spike-cover2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-spike-cover3.png",
img: {
isLoaded: 0
}
}],
deployed: [{
src: "img/day-wood-spike-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-spike-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-wood-spike-3.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__WOOD__,
particlesDist: 80,
timelife: 315360000000,
life: 200,
score: 0
}, {
id: IID.__LASER_SUBMACHINE__,
itemButton: {
src: ["img/inv-laser-submachine-out.png", "img/inv-laser-submachine-in.png", "img/inv-laser-submachine-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Laser Submachine", "It's the best weapon", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 10],
[IID.__SHAPED_METAL__, 6],
[IID.__SHAPED_URANIUM__, 6],
[IID.__WIRE__, 2],
[IID.__ELECTRONICS__, 3]
], 1, [
[AREAS.__TESLA__, 180000]
], 14, IID.__LASER_PISTOL__, 2),
idWeapon: 37,
bullet: IID.__ENERGY_CELLS__,
stack: 1,
loot: LOOTID.__LASER_SUBMACHINE__,
wait: 10
}, {
id: IID.__GRENADE__,
itemButton: {
src: ["img/inv-grenade-out.png", "img/inv-grenade-in.png", "img/inv-grenade-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Grenade", "Explodes when you throw it away.", SKILLS.__WEAPON__, [
[IID.__SHAPED_METAL__, 2],
[IID.__JUNK__, 2],
[IID.__SULFUR__, 2],
[IID.__ANIMAL_FAT__, 2]
], 2, [
[AREAS.__WORKBENCH2__, 30000]
], 10),
idWeapon: 38,
damage: 130,
damageBuilding: 400,
stack: 10,
loot: LOOTID.__GRENADE__,
wait: 10
}, {
id: IID.__SUPER_HAMMER__,
itemButton: {
src: ["img/inv-super-hammer-out.png", "img/inv-super-hammer-in.png", "img/inv-super-hammer-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Super Hammer", "Destroy indestructible walls."),
idWeapon: 39,
stack: 1,
loot: LOOTID.__SUPER_HAMMER__,
wait: 10
}, {
id: IID.__GHOUL_BLOOD__,
itemButton: {
src: ["img/inv-ghoul-blood-out.png", "img/inv-ghoul-blood-in.png", "img/inv-ghoul-blood-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Ghoul Blood", "Find it on speedy ghouls"),
stack: 255,
loot: LOOTID.__GHOUL_BLOOD__,
score: 100
},
{
id: IID.__CAMOUFLAGE_GEAR__,
itemButton: {
src: ["img/inv-camouflage-gear-out.png", "img/inv-camouflage-gear-in.png", "img/inv-camouflage-gear-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Camouflage Gear", "Hide you in the forest", SKILLS.__CLOTHE__, [
[IID.__WOOD__, 90],
[IID.__STRING__, 2],
[IID.__LEATHER_BOAR__, 2]
], 1, [
[AREAS.__WEAVING__, 40000]
]),
idClothe: 16,
stack: 1,
loot: LOOTID.__CAMOUFLAGE_GEAR__,
wait: 10,
warm: 0,
def: 0,
bul: 0,
ene: 0,
boom: 0,
rad: 0,
speed: 0
},
{
id: IID.__AGITATOR__,
itemButton: {
src: ["img/inv-agitator-out.png", "img/inv-agitator-in.png", "img/inv-agitator-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Agitator", "Allows to craft drugs", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 6],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 8),
idWeapon: 21,
fuel: 100000,
zid: 0,
z: 1,
area: AREAS.__AGITATOR__,
stack: 255,
loot: LOOTID.__AGITATOR__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-agitator.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-agitator.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.agitator,
packetId: 16,
interact: {
src: "img/e-agitator.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-agitator1-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-agitator1-on.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-agitator-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-agitator-2.png",
img: {
isLoaded: 0
}
}],
spine: [
[-25.5, 21],
[-21, -25.5],
[25.5, -21],
[21, 25.5]
],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 500,
score: 0
}, {
id: IID.__GHOUL_DRUG__,
itemButton: {
src: ["img/inv-ghoul-drug-out.png", "img/inv-ghoul-drug-in.png", "img/inv-ghoul-drug-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Ghoul Drug", "Ghouls does not attack you.", SKILLS.__DRUG__, [
[IID.__SYRINGE__, 1],
[IID.__CHEMICAL_COMPONENT__, 1],
[IID.__MUSHROOM2__, 1],
[IID.__MUSHROOM3__, 1],
[IID.__GHOUL_BLOOD__, 1]
], 1, [
[AREAS.__AGITATOR__, 30000]
], 10),
idWeapon: 40,
stack: 5,
loot: LOOTID.__GHOUL_DRUG__,
wait: 10
}, {
id: IID.__MUSHROOM1__,
itemButton: {
src: ["img/inv-mushroom1-out.png", "img/inv-mushroom1-in.png", "img/inv-mushroom1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Amanita", "Poisoned, really dangerous"),
stack: 20,
loot: LOOTID.__MUSHROOM1__,
wait: 5,
perish: 10,
perishId: IID.__ROTTEN_MUSHROOM1__,
idWeapon: 41,
score: 24
}, {
id: IID.__MUSHROOM2__,
itemButton: {
src: ["img/inv-mushroom2-out.png", "img/inv-mushroom2-in.png", "img/inv-mushroom2-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Boletus", "Can be eaten."),
stack: 20,
loot: LOOTID.__MUSHROOM2__,
wait: 5,
perish: 10,
perishId: IID.__ROTTEN_MUSHROOM2__,
idWeapon: 42,
score: 24
}, {
id: IID.__MUSHROOM3__,
itemButton: {
src: ["img/inv-mushroom3-out.png", "img/inv-mushroom3-in.png", "img/inv-mushroom3-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Russula", "Can be eaten."),
stack: 20,
loot: LOOTID.__MUSHROOM3__,
wait: 5,
perish: 10,
perishId: IID.__ROTTEN_MUSHROOM3__,
idWeapon: 43,
score: 24
}, {
id: IID.__ROTTEN_MUSHROOM1__,
itemButton: {
src: ["img/inv-rotten-mushroom1-out.png", "img/inv-rotten-mushroom1-in.png", "img/inv-rotten-mushroom1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Mushroom", "Go on, have a bite!"),
stack: 20,
loot: LOOTID.__ROTTEN_MUSHROOM1__,
wait: 5,
idWeapon: 44,
score: 20
}, {
id: IID.__ROTTEN_MUSHROOM2__,
itemButton: {
src: ["img/inv-rotten-mushroom2-out.png", "img/inv-rotten-mushroom2-in.png", "img/inv-rotten-mushroom2-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Mushroom", "Go on, have a bite!"),
stack: 20,
loot: LOOTID.__ROTTEN_MUSHROOM2__,
wait: 5,
idWeapon: 45,
score: 20
}, {
id: IID.__ROTTEN_MUSHROOM3__,
itemButton: {
src: ["img/inv-rotten-mushroom3-out.png", "img/inv-rotten-mushroom3-in.png", "img/inv-rotten-mushroom3-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Mushroom", "Go on, have a bite!"),
stack: 20,
loot: LOOTID.__ROTTEN_MUSHROOM3__,
wait: 5,
idWeapon: 46,
score: 20
}, {
id: IID.__LAPADONE__,
itemButton: {
src: ["img/inv-lapadoine-out.png", "img/inv-lapadoine-in.png", "img/inv-lapadoine-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Lapadone", "You are faster a certain time.", SKILLS.__DRUG__, [
[IID.__SYRINGE__, 1],
[IID.__CHEMICAL_COMPONENT__, 1],
[IID.__MUSHROOM1__, 1],
[IID.__GHOUL_BLOOD__, 1]
], 1, [
[AREAS.__AGITATOR__, 45000]
], 14),
idWeapon: 47,
stack: 5,
loot: LOOTID.__LAPADONE__,
wait: 10
}, {
id: IID.__LAPABOT_REPAIR__,
itemButton: {
src: ["img/inv-lapabot-out.png", "img/inv-lapabot-in.png", "img/inv-lapabot-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("LapaBot", "Repair your base for you", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 6],
[IID.__ELECTRONICS__, 1],
[IID.__SMALL_WIRE__, 1],
[IID.__ALLOYS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 8),
stack: 5,
loot: LOOTID.__LAPABOT_REPAIR__,
fruit: LOOTID.tomato,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/clear-blue-lapabot.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-lapabot.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__AI_CONSTRUCTOR__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.construction,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/lapabot0.png",
img: {
isLoaded: 0
}
}, {
src: "img/lapabot1.png",
img: {
isLoaded: 0
}
}, {
src: "img/lapabot2.png",
img: {
isLoaded: 0
}
}, {
src: "img/lapabot3.png",
img: {
isLoaded: 0
}
}, {
src: "img/lapabot4.png",
img: {
isLoaded: 0
}
}],
builder: {
src: "img/day-lapabot-builder.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 250,
score: 0,
timelifeAI: 315360000000,
idAI: AIID.__LAPABOT_REPAIR__,
evolve: 20000,
evolveMaxStep: 4,
killConstructor: 1
}, {
id: IID.__SMALL_WIRE__,
itemButton: {
src: ["img/inv-small-wire-out.png", "img/inv-small-wire-in.png", "img/inv-small-wire-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Small Wire", "Find it on TV's and computers in abandonned houses"),
stack: 255,
loot: LOOTID.__SMALL_WIRE__,
score: 40
}, {
id: IID.__PUMPKIN__,
itemButton: {
src: ["img/inv-pumpkin-out.png", "img/inv-pumpkin-in.png", "img/inv-pumpkin-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Pumpkin", "Eat it or craft a pumpkin ghoul"),
stack: 20,
loot: LOOTID.__PUMPKIN__,
wait: 5,
perish: 10,
perishId: IID.__ROTTEN_PUMPKIN__,
idWeapon: 48,
score: 24
}, {
id: IID.__ROTTEN_PUMPKIN__,
itemButton: {
src: ["img/inv-rotten-pumpkin-out.png", "img/inv-rotten-pumpkin-in.png", "img/inv-rotten-pumpkin-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Pumpkin", "You should not click"),
stack: 20,
loot: LOOTID.__ROTTEN_PUMPKIN__,
wait: 5,
idWeapon: 49,
score: 20
}, {
id: IID.__SEED_GHOUL__,
itemButton: {
src: ["img/inv-ghoul5-out.png", "img/inv-ghoul5-in.png", "img/inv-ghoul5-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Ghoul Seed", "Plant your pumpkin pet", -1, [
[IID.__PUMPKIN__, 1],
[IID.__GHOUL_BLOOD__, 1]
], 1, [
[AREAS.__FIRE__, 30000],
[AREAS.__BBQ__, 20000]
], 99),
stack: 40,
loot: LOOTID.__SEED_GHOUL__,
fruit: LOOTID.tomato,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/clear-blue-root.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-root.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__AI_CONSTRUCTOR__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.orangeSeed,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: [{
src: "img/day-root0-ghoul.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-root1-ghoul.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-root2-ghoul.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-root3-ghoul.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-root4-ghoul.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__ORANGE__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 250,
score: 0,
timelifeAI: 120000,
idAI: AIID.__PUMPKIN_GHOUL__,
evolve: 15000,
evolveMaxStep: 3,
killConstructor: 0
}, {
id: IID.__EXTRACTOR__,
itemButton: {
src: ["img/inv-extractor-out.png", "img/inv-extractor-in.png", "img/inv-extractor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Extractor", "Allows you to extract minerals from the ground", SKILLS.__SURVIVAL__, [
[IID.__ALLOYS__, 2],
[IID.__SHAPED_METAL__, 10],
[IID.__SHAPED_URANIUM__, 2],
[IID.__SMALL_WIRE__, 2],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 12),
idWeapon: 21,
fuel: 740000,
zid: 0,
z: 1,
area: AREAS.__EXTRACTOR__,
stack: 255,
loot: LOOTID.__EXTRACTOR__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-extractor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-extractor.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.extractor,
packetId: 16,
interact: {
src: "img/e-extractor.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-extractor.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-extractor-rotate.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-extractor-off.png",
img: {
isLoaded: 0
}
}],
spine: [
[0, 0],
[0, 0],
[0, 0],
[0, 0]
],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 500,
score: 0
}, {
id: IID.__ANTIDOTE__,
itemButton: {
src: ["img/inv-antidote-out.png", "img/inv-antidote-in.png", "img/inv-antidote-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Antidote", "Remove the withdrawal effects (pink skin)", SKILLS.__DRUG__, [
[IID.__SYRINGE__, 1],
[IID.__CHEMICAL_COMPONENT__, 1],
[IID.__MUSHROOM1__, 1],
[IID.__ANTIDOTE_FLOWER__, 1]
], 1, [
[AREAS.__AGITATOR__, 45000]
], 14),
idWeapon: 50,
stack: 5,
loot: LOOTID.__ANTIDOTE__,
wait: 10
}, {
id: IID.__ANTIDOTE_FLOWER__,
itemButton: {
src: ["img/inv-antidote-flower-out.png", "img/inv-antidote-flower-in.png", "img/inv-antidote-flower-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rare Flower", "Use it to make an antidote"),
stack: 5,
loot: LOOTID.__ANTIDOTE_FLOWER__,
score: 400
}, {
id: IID.__SEED_TREE__,
itemButton: {
src: ["img/inv-seed-tree-out.png", "img/inv-seed-tree-in.png", "img/inv-seed-tree-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tree Seed", "Plant your forest", SKILLS.__PLANT__, [
[IID.__ACORN__, 1]
], 5, [
[AREAS.__FIRE__, 60000],
[AREAS.__BBQ__, 40000]
]),
stack: 100,
loot: LOOTID.__SEED_TREE__,
fruit: LOOTID.__ORANGE__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/clear-blue-plant-tree.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-plant-tree.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__SEED_RESOURCE__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.treeSeed,
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
building: [{
src: "img/day-plant-tree0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant-tree1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant-tree2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant-tree3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-plant4-orange.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__WOOD__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 150,
score: 0
}, {
id: IID.__ACORN__,
itemButton: {
src: ["img/inv-acorn-out.png", "img/inv-acorn-in.png", "img/inv-acorn-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Acorn", "Eat it or plant a tree"),
stack: 20,
loot: LOOTID.__ACORN__,
wait: 5,
perish: 3,
perishId: IID.__ROTTEN_ACORN__,
idWeapon: 51,
score: 24
}, {
id: IID.__ROTTEN_ACORN__,
itemButton: {
src: ["img/inv-rotten-acorn-out.png", "img/inv-rotten-acorn-in.png", "img/inv-rotten-acorn-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Rotten Acorn", "Not really good"),
stack: 20,
loot: LOOTID.__ROTTEN_ACORN__,
wait: 5,
idWeapon: 52,
score: 20
}, {
id: IID.__LASER_SNIPER__,
itemButton: {
src: ["img/inv-laser-sniper-out.png", "img/inv-laser-sniper-in.png", "img/inv-laser-sniper-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Laser Sniper", "Faster than a sniper", SKILLS.__WEAPON__, [
[IID.__ALLOYS__, 8],
[IID.__SHAPED_METAL__, 6],
[IID.__SHAPED_URANIUM__, 5],
[IID.__WIRE__, 3],
[IID.__ELECTRONICS__, 3]
], 1, [
[AREAS.__TESLA__, 180000]
], 14, IID.__LASER_PISTOL__, 2),
idWeapon: 53,
bullet: IID.__ENERGY_CELLS__,
stack: 1,
loot: LOOTID.__LASER_SNIPER__,
wait: 10
}, {
id: IID.__HAL_BOT__,
itemButton: {
src: ["img/inv-hal-bot-out.png", "img/inv-hal-bot-in.png", "img/inv-hal-bot-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("HAL Bot", "Protect you", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_METAL__, 6],
[IID.__ELECTRONICS__, 1],
[IID.__SMALL_WIRE__, 1],
[IID.__ALLOYS__, 1]
], 1, [
[AREAS.__WORKBENCH2__, 100000]
], 8),
stack: 5,
loot: LOOTID.__HAL_BOT__,
fruit: LOOTID.tomato,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/clear-blue-hal-bot.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-hal-bot.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__AI_CONSTRUCTOR__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.construction,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/hal-bot0.png",
img: {
isLoaded: 0
}
}, {
src: "img/hal-bot1.png",
img: {
isLoaded: 0
}
}, {
src: "img/hal-bot2.png",
img: {
isLoaded: 0
}
}, {
src: "img/hal-bot3.png",
img: {
isLoaded: 0
}
}, {
src: "img/hal-bot4.png",
img: {
isLoaded: 0
}
}],
builder: {
src: "img/day-hal-bot-builder.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 400,
score: 0,
timelifeAI: 315360000000,
idAI: AIID.__HAL_BOT__,
evolve: 8000,
evolveMaxStep: 4,
killConstructor: 1
}, {
id: IID.__TESLA_BOT__,
itemButton: {
src: ["img/inv-tesla-bot-out.png", "img/inv-tesla-bot-in.png", "img/inv-tesla-bot-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Tesla Bot", "Protect you", SKILLS.__SURVIVAL__, [
[IID.__SHAPED_URANIUM__, 3],
[IID.__ELECTRONICS__, 1],
[IID.__SMALL_WIRE__, 3],
[IID.__WIRE__, 3],
[IID.__ALLOYS__, 3]
], 1, [
[AREAS.__TESLA__, 200000]
], 16),
stack: 5,
loot: LOOTID.__TESLA_BOT__,
fruit: LOOTID.tomato,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [30, 30, 30, 30],
height: [30, 30, 30, 30],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [35, 35, 35, 35],
_y: [35, 35, 35, 35],
blueprint: {
src: "img/clear-blue-tesla-bot.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-tesla-bot.png",
img: {
isLoaded: 0
}
},
door: 0,
explosion: 0,
behavior: BEHAVIOR.__AI_CONSTRUCTOR__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.construction,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/tesla-bot0.png",
img: {
isLoaded: 0
}
}, {
src: "img/tesla-bot1.png",
img: {
isLoaded: 0
}
}, {
src: "img/tesla-bot2.png",
img: {
isLoaded: 0
}
}, {
src: "img/tesla-bot3.png",
img: {
isLoaded: 0
}
}, {
src: "img/tesla-bot4.png",
img: {
isLoaded: 0
}
}],
builder: {
src: "img/day-lapabot-builder.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 68,
timelife: ((5 * 8) * 60) * 1000,
life: 500,
score: 0,
timelifeAI: 315360000000,
idAI: AIID.__TESLA_BOT__,
evolve: 20000,
evolveMaxStep: 4,
killConstructor: 1
}, {
id: IID.__CABLE0__,
itemButton: {
src: ["img/inv-wire0-out.png", "img/inv-wire0-in.png", "img/inv-wire0-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cable", "Create automatic mechanisms", SKILLS.__LOGIC__, [
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__CABLE0__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-wire0.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-wire0.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[1, 1, 0, 0],
[0, 0, 1, 1],
[1, 1, 0, 0],
[0, 0, 1, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-wire0.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__BARELRED__,
particlesDist: 40,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__CABLE1__,
itemButton: {
src: ["img/inv-wire1-out.png", "img/inv-wire1-in.png", "img/inv-wire1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cable", "Create automatic mechanisms", SKILLS.__LOGIC__, [
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__CABLE1__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-wire1.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-wire1.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-wire1.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__BARELRED__,
particlesDist: 40,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__CABLE2__,
itemButton: {
src: ["img/inv-wire2-out.png", "img/inv-wire2-in.png", "img/inv-wire2-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cable", "Create automatic mechanisms", SKILLS.__LOGIC__, [
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__CABLE2__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-wire2.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-wire2.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[0, 1, 0, 1],
[0, 1, 1, 0],
[1, 0, 1, 0],
[1, 0, 0, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-wire2.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__BARELRED__,
particlesDist: 40,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__CABLE3__,
itemButton: {
src: ["img/inv-wire3-out.png", "img/inv-wire3-in.png", "img/inv-wire3-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cable", "Create automatic mechanisms", SKILLS.__LOGIC__, [
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__CABLE3__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-wire3.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-wire3.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[0, 1, 1, 1],
[1, 1, 1, 0],
[1, 0, 1, 1],
[1, 1, 0, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-wire3.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__BARELRED__,
particlesDist: 40,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__SWITCH__,
itemButton: {
src: ["img/inv-switch-out.png", "img/inv-switch-in.png", "img/inv-switch-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Switch", "Turn on/off mechanisms", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__SWITCH__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-switch.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-switch.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.switchOff,
packetId: 37,
interact: {
src: "img/e-turnon.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-switch-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-switch-on.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__GATE_OR__,
itemButton: {
src: ["img/inv-switch-or-out.png", "img/inv-switch-or-in.png", "img/inv-switch-or-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gate OR", "Activate only if an entry is on.", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__GATE_OR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-switch-or.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-switch-or.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 0, 0, 0],
[0, 0, 0, 1],
[0, 1, 0, 0],
[0, 0, 1, 0]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-switch-or.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__GATE_AND__,
itemButton: {
src: ["img/inv-switch-and-out.png", "img/inv-switch-and-in.png", "img/inv-switch-and-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gate AND", "Activate only if all entries are on.", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__GATE_AND__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-switch-and.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-switch-and.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 0, 0, 0],
[0, 0, 0, 1],
[0, 1, 0, 0],
[0, 0, 1, 0]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-switch-and.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__GATE_NOT__,
itemButton: {
src: ["img/inv-switch-reverse-out.png", "img/inv-switch-reverse-in.png", "img/inv-switch-reverse-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gate NOT", "Activate only if no entry is on.", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__GATE_NOT__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-switch-reverse.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-switch-reverse.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 0, 1, 1],
[1, 1, 0, 1],
[0, 1, 1, 1],
[1, 1, 1, 0]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-switch-reverse.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__LAMP__,
itemButton: {
src: ["img/inv-lamp-white-out.png", "img/inv-lamp-white-in.png", "img/inv-lamp-white-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Lamp", "Turn on when connected, damage ghoul", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__LAMP__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-lamp.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-lamp.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
],
subtype: 0,
collision: 2,
radius: 22,
areaEffect: 0,
draw: Render.lamp,
drawTop: Render.lampLight,
packetId: 36,
interact: {
src: "img/e-light.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-lamp-off.png",
img: {
isLoaded: 0
}
},
buildingOn: [{
src: "img/day-lamp-white.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-yellow.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-green.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-clear-blue.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-purple.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-pink.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-orange.png",
img: {
isLoaded: 0
}
}],
buildingTop: [{
src: "img/day-lamp-light-white.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-light-yellow.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-light-green.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-light-clear-blue.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-light-purple.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-light-pink.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-lamp-light-orange.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 600,
score: 0
}, {
id: IID.__CABLE_WALL__,
itemButton: {
src: ["img/inv-cable-wall-out.png", "img/inv-cable-wall-in.png", "img/inv-cable-wall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cable - Wall", "Wall that can be connected to a cable", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 8],
[IID.__SMALL_WIRE__, 1]
], 1, [
[AREAS.__WELDING_MACHINE__, 15000]
], 7),
stack: 255,
loot: LOOTID.__CABLE_WALL__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 0,
z: 1,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-cable-wall.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-cable-wall.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[1, 1, 0, 0],
[0, 0, 1, 1],
[1, 1, 0, 0],
[0, 0, 1, 1]
],
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.breakable,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-cable-wall.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-cable-wall1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-cable-wall2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-cable-wall3.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__METAL__,
particlesDist: 40,
timelife: 315360000000,
life: 15000,
score: 0
}, {
id: IID.__AUTOMATIC_DOOR__,
itemButton: {
src: ["img/inv-automatic-door-out.png", "img/inv-automatic-door-in.png", "img/inv-automatic-door-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Automatic Door", "Connect it to a switch to open and close it.", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 8],
[IID.__SMALL_WIRE__, 2],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WELDING_MACHINE__, 15000]
], 7),
stack: 255,
loot: LOOTID.__AUTOMATIC_DOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 0,
z: 1,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-automatic-door.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-automatic-door.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[0, 1, 1, 1],
[1, 1, 1, 0],
[1, 0, 1, 1],
[1, 1, 0, 1]
],
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.automaticDoor,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [
[{
src: "img/day-automatic-door-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-automatic-door1-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-automatic-door2-off.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-automatic-door3-off.png",
img: {
isLoaded: 0
}
}],
[{
src: "img/day-automatic-door-on.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-automatic-door1-on.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-automatic-door2-on.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-automatic-door3-on.png",
img: {
isLoaded: 0
}
}]
],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 15000,
score: 0
}, {
id: IID.__PLATFORM__,
itemButton: {
src: ["img/inv-platform-out.png", "img/inv-platform-in.png", "img/inv-platform-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Platform", "Weight detector", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__PLATFORM__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-platform-off.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-platform-off.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.defaultBuilding,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-platform-off.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__FRIDGE__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__STONE_CAVE__,
itemButton: {
src: ["img/inv-stone-cave-out.png", "img/inv-stone-cave-in.png", "img/inv-stone-cave-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Stone Cave", "Build mountains.", -1, [
[IID.__STONE__, 140]
], 1, [
[AREAS.__WORKBENCH__, 30000]
], 99),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__STONE_CAVE__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-stone-cave.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-stone-cave.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__STONE_CAVE__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.wall,
drawFloor: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
broken: [{
src: "img/day-stone-cave-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STONE_IMPACT__,
destroy: SOUNDID.__STONE_DESTROY__,
building: [{
src: "img/day-stone-cave0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-stone-cave46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STONE__,
particlesDist: 80,
timelife: 315360000000,
life: 300,
score: 0
}, {
id: IID.__BUNKER_WALL__,
itemButton: {
src: ["img/inv-bunker-wall-out.png", "img/inv-bunker-wall-in.png", "img/inv-bunker-wall-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Bunker Wall", "Good old memory of the wasteland.", -1, [
[IID.__STONE__, 150],
[IID.__SHAPED_METAL__, 12]
], 1, [
[AREAS.__WORKBENCH__, 30000]
], 99),
idWeapon: 21,
fuel: -1,
zid: 1,
z: 1,
stack: 255,
loot: LOOTID.__BUNKER_WALL__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-bunker-wall.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-bunker-wall.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__STONE_CAVE__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.wall,
drawFloor: [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
broken: [{
src: "img/day-bunker-wall-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-bunker-wall0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-bunker-wall46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__STEEL__,
particlesDist: 80,
timelife: 315360000000,
life: 10000,
score: 0
}, {
id: IID.__GOLD_FLOOR__,
itemButton: {
src: ["img/inv-mustard-floor-out.png", "img/inv-mustard-floor-in.png", "img/inv-mustard-floor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Golden Floor", "Players can't spawn on it", SKILLS.__BUILDING__, [
[IID.__LEATHER_BOAR__, 2]
], 2, [
[AREAS.__WORKBENCH__, 15000]
]),
stack: 255,
loot: LOOTID.__GOLD_FLOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 2,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-floor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-floor.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__GOLD_FLOOR__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.groundFloor,
broken: [{
src: "img/day-mustard-floor-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: [{
src: "img/day-mustard-floor-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-mustard-floor-46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__GOLD__,
particlesDist: 80,
timelife: 315360000000,
life: 3000,
score: 0
}, {
id: IID.__RED_FLOOR__,
itemButton: {
src: ["img/inv-red-floor-out.png", "img/inv-red-floor-in.png", "img/inv-red-floor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Red floor", "Players can't spawn on it", SKILLS.__BUILDING__, [
[IID.__LEATHER_BOAR__, 2]
], 2, [
[AREAS.__WORKBENCH__, 15000]
]),
stack: 255,
loot: LOOTID.__RED_FLOOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: 2,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/day-clear-blue-stone-floor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/day-redprint-stone-floor.png",
img: {
isLoaded: 0
}
},
wall: 1,
idWall: IID.__RED_FLOOR__,
lowWall: 0,
door: 0,
broke: 1,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.groundFloor,
broken: [{
src: "img/day-red-floor-broken0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-broken1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-broken2.png",
img: {
isLoaded: 0
}
}],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: [{
src: "img/day-red-floor-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-4.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-5.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-6.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-7.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-8.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-9.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-10.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-11.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-12.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-13.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-14.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-15.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-16.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-17.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-18.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-19.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-20.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-21.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-22.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-23.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-24.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-25.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-26.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-27.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-28.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-29.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-30.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-31.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-32.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-33.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-34.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-35.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-36.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-37.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-38.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-39.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-40.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-41.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-42.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-43.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-44.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-45.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-red-floor-46.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__MUSHROOM1__,
particlesDist: 80,
timelife: 315360000000,
life: 3000,
score: 0
}, {
id: IID.__WELDING_MACHINE__,
itemButton: {
src: ["img/inv-welding-machine-out.png", "img/inv-welding-machine-in.png", "img/inv-welding-machine-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Welding Machine", "Allow you to make logic gates", SKILLS.__SURVIVAL__, [
[IID.__JUNK__, 2],
[IID.__SHAPED_METAL__, 4],
[IID.__ELECTRONICS__, 1]
], 1, [
[AREAS.__WORKBENCH__, 50000]
]),
idWeapon: 21,
fuel: -1,
zid: 0,
z: 1,
area: AREAS.__WELDING_MACHINE__,
stack: 255,
loot: LOOTID.__WELDING_MACHINE__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-welding-machine.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-welding-machine.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 1,
areaEffect: 0,
draw: Render.workbench,
packetId: 16,
interact: {
src: "img/e-welding-machine.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-welding-machine.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 500,
score: 0
}, {
id: IID.__CABLE4__,
itemButton: {
src: ["img/inv-wire4-out.png", "img/inv-wire4-in.png", "img/inv-wire4-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Cable - Bridge", "Create automatic mechanisms", SKILLS.__LOGIC__, [
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__CABLE4__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-wire4.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-wire4.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 0,
wire: [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-wire4.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__BARELRED__,
particlesDist: 40,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__GATE_TIMER__,
itemButton: {
src: ["img/inv-timer-out.png", "img/inv-timer-in.png", "img/inv-timer-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gate Timer", "Emit a signal regularly.", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__GATE_TIMER__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-timer.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-timer.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.timerGate,
packetId: 38,
interact: {
src: "img/e-light.png",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-timer-0.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-timer-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-timer-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-timer-3.png",
img: {
isLoaded: 0
}
}],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}, {
id: IID.__GATE_XOR__,
itemButton: {
src: ["img/inv-xor-out.png", "img/inv-xor-in.png", "img/inv-xor-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Gate Xor", "Activate only if only one entry is on.", SKILLS.__LOGIC__, [
[IID.__SHAPED_METAL__, 1],
[IID.__SMALL_WIRE__, 1]
], 3, [
[AREAS.__WELDING_MACHINE__, 15000]
]),
stack: 255,
loot: LOOTID.__GATE_XOR__,
wait: 10,
idWeapon: 21,
fuel: -1,
zid: -1,
z: 0,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-xor.png",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-xor.png",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__LOGIC__,
gate: 1,
wire: [
[1, 0, 0, 0],
[0, 0, 0, 1],
[0, 1, 0, 0],
[0, 0, 1, 0]
],
subtype: 0,
collision: 0,
areaEffect: 0,
draw: Render.hiddenBuilding,
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: {
src: "img/day-xor.png",
img: {
isLoaded: 0
}
},
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
},
{
id: IID.__BUILDER_1__,
itemButton: {
src: ["img/skill-builder1-out.png", "img/skill-builder1-in.png", "img/skill-builder1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Builder 1", "Multiplies some craft by two", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 6, window.undefined, 2)
}, {
id: IID.__BUILDER_2__,
itemButton: {
src: ["img/skill-builder2-out.png", "img/skill-builder2-in.png", "img/skill-builder2-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Builder 2", "Repair much faster", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 18, IID.__BUILDER_1__)
},
{
id: IID.__INV_1__,
itemButton: {
src: ["img/skill-inv1-out.png", "img/skill-inv1-in.png", "img/skill-inv1-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Inventory 1", "Add a slot in your inventory", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 0),
bag: 1
},
{
id: IID.__INV_2__,
itemButton: {
src: ["img/skill-inv2-out.png", "img/skill-inv2-in.png", "img/skill-inv2-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Inventory 2", "Add a slot in your inventory", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 5, IID.__INV_1__),
bag: 1
},
{
id: IID.__INV_3__,
itemButton: {
src: ["img/skill-inv3-out.png", "img/skill-inv3-in.png", "img/skill-inv3-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Inventory 3", "Add a slot in your bag", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 7, IID.__INV_2__),
bag: 1
},
{
id: IID.__INV_4__,
itemButton: {
src: ["img/skill-inv4-out.png", "img/skill-inv4-in.png", "img/skill-inv4-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Inventory 4", "Add two slots in your bag", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 10, IID.__INV_3__, 2),
bag: 2
},
{
id: IID.__INV_5__,
itemButton: {
src: ["img/skill-inv5-out.png", "img/skill-inv5-in.png", "img/skill-inv5-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Inventory 5", "Add three slots in your bag", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 12, IID.__INV_4__, 3),
bag: 3
},
{
id: IID.__FEATHERWEIGHT__,
itemButton: {
src: ["img/skill-lightweight-out.png", "img/skill-lightweight-in.png", "img/skill-lightweight-click.png"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Light Weight", "Less likely to trigger traps.", SKILLS.__SKILL__, window.undefined, window.undefined, window.undefined, 8)
},
{
id: IID.__FEEDER__,
itemButton: {
src: ["img/inv-feeder-out.png?2", "img/inv-feeder-in.png?2", "img/inv-feeder-click.png?2"],
img: [{
isLoaded: 0
}, {
isLoaded: 0
}, {
isLoaded: 0
}]
},
detail: new Detail("Feeder", "Allows you to feed automatically", SKILLS.__SURVIVAL__, [[IID.__ALLOYS__, 4], [IID.__SHAPED_METAL__, 20], [IID.__SHAPED_URANIUM__, 8], [IID.__SMALL_WIRE__, 4], [IID.__ELECTRONICS__, 2]], 1, [[AREAS.__TESLA__, 100000]], 12),
idWeapon: 21,
fuel: 180000,
zid: 0,
z: 1,
area: AREAS.__FEEDER__,
stack: 255,
loot: LOOTID.__FEEDER__,
wait: 10,
delay: 1000,
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
xCenter: [0, 0, 0, 0],
yCenter: [0, 0, 0, 0],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
blueprint: {
src: "img/clear-blue-feeder.png?2",
img: {
isLoaded: 0
}
},
redprint: {
src: "img/redprint-feeder.png?2",
img: {
isLoaded: 0
}
},
wall: 0,
lowWall: 0,
door: 0,
broke: 0,
explosion: 0,
behavior: BEHAVIOR.__NO__,
wire: 0,
subtype: 0,
collision: 0,
areaEffect: 3,
draw: Render.feeder,
packetId: 16,
interact: {
src: "img/e-feeder.png?2",
img: {
isLoaded: 0
}
},
impact: SOUNDID.__STEEL_IMPACT__,
destroy: SOUNDID.__STEEL_DESTROY__,
building: [{
src: "img/day-feeder.png?2",
img: {
isLoaded: 0
}
}, {
src: "img/day-feeder-rotate.png?2",
img: {
isLoaded: 0
}
}, {
src: "img/day-feeder-off.png?2",
img: {
isLoaded: 0
}
}],
spine: [[0, 0], [0, 0], [0, 0], [0, 0]],
particles: PARTICLESID.__METAL__,
particlesDist: 80,
timelife: 315360000000,
life: 250,
score: 0
}
];
COUNTER = 0;
var FURNITUREID = {
__SOFA0__: COUNTER++,
__SOFA1__: COUNTER++,
__SOFA2__: COUNTER++,
__SOFA3__: COUNTER++,
__SOFA4__: COUNTER++,
__BED0__: COUNTER++,
__BED1__: COUNTER++,
__TABLE0__: COUNTER++,
__TV0__: COUNTER++,
__COMPUTER0__: COUNTER++,
__CHAIR0__: COUNTER++,
__WASHBASIN0__: COUNTER++,
__FURNITURE0__: COUNTER++,
__FURNITURE1__: COUNTER++,
__FURNITURE2__: COUNTER++,
__FURNITURE3__: COUNTER++,
__CARTON0__: COUNTER++,
__CARTON1__: COUNTER++,
__SAFE0__: COUNTER++,
__FRIDGE0__: COUNTER++,
__FRIDGE1__: COUNTER++,
__TOILET0__: COUNTER++,
__LITTLETABLE0__: COUNTER++,
__PLOT0__: COUNTER++,
__BAREL0__: COUNTER++,
__BAREL1__: COUNTER++,
__GARBAGE0__: COUNTER++,
__CUPBOARD0__: COUNTER++,
__PHARMA0__: COUNTER++,
__AMMOBOX0__: COUNTER++,
__AMMOLOCKER0__: COUNTER++,
__AMMOLOCKER1__: COUNTER++,
__AMMOLOCKER2__: COUNTER++,
__MACHINE0__: COUNTER++,
__MACHINE1__: COUNTER++,
__USINE_BOX0__: COUNTER++,
__USINE_BOX1__: COUNTER++,
__USINE_BOX2__: COUNTER++,
__USINE_BOX3__: COUNTER++,
__DISTRIBUTOR0__: COUNTER++,
__CASH0__: COUNTER++,
__RENFORCED__: COUNTER++,
__SOFA6__: COUNTER++,
__GOLD_CHAIR0__: COUNTER++,
__GREEN_CHAIR0__: COUNTER++,
__WOOD_CHAIR0__: COUNTER++,
__TABLE1__: COUNTER++,
__SMALL_LIGHT__: COUNTER++,
__BED2__: COUNTER++,
__FURNITURE4__: COUNTER++,
__FURNITURE5__: COUNTER++,
__FURNITURE6__: COUNTER++,
__CHAIR1__: COUNTER++,
__CHAIR2__: COUNTER++,
__DISTRIBUTOR1__: COUNTER++,
__SHOWER0__: COUNTER++,
__TABLE2__: COUNTER++,
__BLOOD_TRANS__: COUNTER++,
__ENERGY_BOX0__: COUNTER++
};
COUNTER = 0;
var ROAD = INVENTORY[IID.__ROAD__].subtype;
ROAD[COUNTER] = {
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
building: {
src: "img/day-road0.png",
img: {
isLoaded: 0
}
},
detail: new Detail("", "", -1, [
[IID.__STONE__, 100]
]),
life: 100000000,
score: 0,
particles: PARTICLESID.__NOTHING__,
particlesDist: 70,
angle: window.Math.PI,
usable: 0,
fridge: 0,
loot: null,
collision: 0,
z: 0,
zid: 2,
areaEffect: 0,
timelife: 315360000000
};
for (var i = 0; i < 45; i++) {
COUNTER++;
ROAD[COUNTER] = window.JSON.parse(window.JSON.stringify(ROAD[0]));
ROAD[COUNTER].building.src = ("img/day-road" + COUNTER) + ".png";
}
var FURNITURE = INVENTORY[IID.__FURNITURE__].subtype;
FURNITURE[FURNITUREID.__SOFA0__] = {
width: [100, 100, 100, 100],
height: [100, 100, 100, 100],
_x: [0, 0, 0, 0],
_y: [0, 0, 0, 0],
impact: SOUNDID.__PILLOW_IMPACT__,
destroy: SOUNDID.__PILLOW_DESTROY__,
building: {
src: "img/day-sofa0.png",
img: {
isLoaded: 0
}
},
detail: new Detail("", "", -1, [
[IID.__WOOD__, 99],
[IID.__LEATHER_BOAR__, 9],
[IID.__STRING__, 6]
]),
life: 450,
score: 0,
particles: PARTICLESID.__SOFA0__,
particlesDist: 70,
angle: window.Math.PI,
usable: 0,
fridge: 0,
loot: null,
collision: 1,
z: 1,
zid: 0,
areaEffect: 0,
packetId: 25,
explosion: 0,
damage: 0,
damageBuilding: 0,
timelife: 315360000000
};
FURNITURE[FURNITUREID.__SOFA1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__SOFA1__].building.src = "img/day-sofa1.png";
FURNITURE[FURNITUREID.__SOFA1__].particles = PARTICLESID.__SOFA1__;
FURNITURE[FURNITUREID.__SOFA2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA1__]));
FURNITURE[FURNITUREID.__SOFA2__].building.src = "img/day-sofa2.png";
FURNITURE[FURNITUREID.__SOFA3__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__SOFA3__].building.src = "img/day-sofa3.png";
FURNITURE[FURNITUREID.__SOFA3__].particles = PARTICLESID.__SOFA2__;
FURNITURE[FURNITUREID.__SOFA4__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA3__]));
FURNITURE[FURNITUREID.__SOFA4__].building.src = "img/day-sofa4.png";
FURNITURE[FURNITUREID.__SOFA6__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA3__]));
FURNITURE[FURNITUREID.__SOFA6__].building.src = "img/day-sofa6.png";
FURNITURE[FURNITUREID.__RENFORCED__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__RENFORCED__].building.src = "img/day-renforced-door.png";
FURNITURE[FURNITUREID.__RENFORCED__].particles = PARTICLESID.__STEEL__;
FURNITURE[FURNITUREID.__RENFORCED__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 40]
]);
FURNITURE[FURNITUREID.__RENFORCED__].life = 7000;
FURNITURE[FURNITUREID.__MACHINE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__MACHINE0__].building.src = "img/day-electronic-box0.png";
FURNITURE[FURNITUREID.__MACHINE0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__MACHINE0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__MACHINE0__].particles = PARTICLESID.__STEEL__;
FURNITURE[FURNITUREID.__MACHINE0__].detail = new Detail("", "", -1, [
[IID.__ENERGY_CELLS__, 8],
[IID.__ELECTRONICS__, 4],
[IID.__SHAPED_METAL__, 4],
[IID.__JUNK__, 12]
]);
FURNITURE[FURNITUREID.__MACHINE0__].width = [100, 100, 100, 100];
FURNITURE[FURNITUREID.__MACHINE0__].height = [100, 100, 100, 100];
FURNITURE[FURNITUREID.__MACHINE0__]._x = [0, 0, 0, 0];
FURNITURE[FURNITUREID.__MACHINE0__]._y = [0, 0, 0, 0];
FURNITURE[FURNITUREID.__MACHINE0__].life = 800;
FURNITURE[FURNITUREID.__MACHINE1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__MACHINE0__]));
FURNITURE[FURNITUREID.__MACHINE1__].building.src = "img/day-electronic-box1.png";
FURNITURE[FURNITUREID.__MACHINE1__].width = [120, 120, 120, 120];
FURNITURE[FURNITUREID.__MACHINE1__].height = [120, 120, 120, 120];
FURNITURE[FURNITUREID.__MACHINE1__]._x = [-10, -10, -10, -10];
FURNITURE[FURNITUREID.__MACHINE1__]._y = [-10, -10, -10, -10];
FURNITURE[FURNITUREID.__MACHINE1__].detail = new Detail("", "", -1, [
[IID.__ENERGY_CELLS__, 16],
[IID.__ELECTRONICS__, 16],
[IID.__WIRE__, 8],
[IID.__SHAPED_METAL__, 16]
]);
FURNITURE[FURNITUREID.__MACHINE1__].life = 1400;
FURNITURE[FURNITUREID.__BED0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__BED0__].building.src = "img/day-bed0.png";
FURNITURE[FURNITUREID.__BED0__].particles = PARTICLESID.__BED0__;
FURNITURE[FURNITUREID.__BED0__].detail = new Detail("", "", -1, [
[IID.__WOOD__, 200],
[IID.__LEATHER_BOAR__, 20]
]);
FURNITURE[FURNITUREID.__BED1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__BED0__]));
FURNITURE[FURNITUREID.__BED1__].building.src = "img/day-bed1.png";
FURNITURE[FURNITUREID.__BED1__].particles = PARTICLESID.__BED1__;
FURNITURE[FURNITUREID.__BED2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__BED0__]));
FURNITURE[FURNITUREID.__BED2__].building.src = "img/day-bed2.png";
FURNITURE[FURNITUREID.__BED2__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__BED2__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 12],
[IID.__LEATHER_BOAR__, 20],
[IID.__ANIMAL_FAT__, 12]
]);
FURNITURE[FURNITUREID.__TABLE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__TABLE0__].building.src = "img/day-table0.png";
FURNITURE[FURNITUREID.__TABLE0__].impact = SOUNDID.__WOOD_IMPACT__;
FURNITURE[FURNITUREID.__TABLE0__].destroy = SOUNDID.__WOOD_DESTROY__;
FURNITURE[FURNITUREID.__TABLE0__].particles = PARTICLESID.__WOOD__;
FURNITURE[FURNITUREID.__TABLE0__].detail = new Detail("", "", -1, [
[IID.__WOOD__, 200]
]);
FURNITURE[FURNITUREID.__TABLE1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__TABLE0__]));
FURNITURE[FURNITUREID.__TABLE1__].building.src = "img/day-table1.png";
FURNITURE[FURNITUREID.__TABLE1__].width = [100, 290, 100, 280];
FURNITURE[FURNITUREID.__TABLE1__].height = [280, 100, 280, 100];
FURNITURE[FURNITUREID.__TABLE1__].iTile = [-1, 0, -1, 0];
FURNITURE[FURNITUREID.__TABLE1__].jTile = [0, -1, 0, -1];
FURNITURE[FURNITUREID.__TABLE1__]._x = [0, -90, 0, -90];
FURNITURE[FURNITUREID.__TABLE1__]._y = [-90, 0, -90, 0];
FURNITURE[FURNITUREID.__TABLE2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__TABLE0__]));
FURNITURE[FURNITUREID.__TABLE2__].building.src = "img/day-table2.png";
FURNITURE[FURNITUREID.__TABLE2__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__TABLE2__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__TABLE2__].particles = PARTICLESID.__STEEL__;
FURNITURE[FURNITUREID.__TABLE2__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__TV0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__TV0__].building.src = "img/day-tv0.png";
FURNITURE[FURNITUREID.__TV0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__TV0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__TV0__].particles = PARTICLESID.__SAFE0__;
FURNITURE[FURNITUREID.__TV0__].detail = new Detail("", "", -1, [
[IID.__ELECTRONICS__, 4],
[IID.__SHAPED_METAL__, 16],
[IID.__SMALL_WIRE__, 4],
[IID.__JUNK__, 12]
]);
FURNITURE[FURNITUREID.__COMPUTER0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__COMPUTER0__].building.src = "img/day-computer0.png";
FURNITURE[FURNITUREID.__COMPUTER0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__COMPUTER0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__COMPUTER0__].particles = PARTICLESID.__METAL__;
FURNITURE[FURNITUREID.__COMPUTER0__].detail = new Detail("", "", -1, [
[IID.__SMALL_WIRE__, 4],
[IID.__SHAPED_METAL__, 16],
[IID.__JUNK__, 12],
[IID.__ELECTRONICS__, 4]
]);
FURNITURE[FURNITUREID.__CHAIR0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__COMPUTER0__]));
FURNITURE[FURNITUREID.__CHAIR0__].building.src = "img/day-chair0.png";
FURNITURE[FURNITUREID.__CHAIR0__].detail = new Detail("", "", -1, [
[IID.__LEATHER_BOAR__, 8],
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__CHAIR1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__COMPUTER0__]));
FURNITURE[FURNITUREID.__CHAIR1__].building.src = "img/day-chair1.png";
FURNITURE[FURNITUREID.__CHAIR1__].detail = new Detail("", "", -1, [
[IID.__LEATHER_BOAR__, 8],
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__CHAIR2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__COMPUTER0__]));
FURNITURE[FURNITUREID.__CHAIR2__].building.src = "img/day-chair2.png";
FURNITURE[FURNITUREID.__CHAIR2__].detail = new Detail("", "", -1, [
[IID.__LEATHER_BOAR__, 8],
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__WASHBASIN0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__SOFA0__]));
FURNITURE[FURNITUREID.__WASHBASIN0__].building.src = "img/day-washbasin0.png";
FURNITURE[FURNITUREID.__WASHBASIN0__].impact = SOUNDID.__WOOD_IMPACT__;
FURNITURE[FURNITUREID.__WASHBASIN0__].destroy = SOUNDID.__WOOD_DESTROY__;
FURNITURE[FURNITUREID.__WASHBASIN0__].particles = PARTICLESID.__WOODLIGHT__;
FURNITURE[FURNITUREID.__WASHBASIN0__].detail = new Detail("", "", -1, [
[IID.__WOOD__, 150],
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__PHARMA0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__WASHBASIN0__]));
FURNITURE[FURNITUREID.__PHARMA0__].building.src = "img/day-pharma0.png";
FURNITURE[FURNITUREID.__PHARMA0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 8],
[IID.__STONE__, 60]
]);
FURNITURE[FURNITUREID.__PHARMA0__].impact = SOUNDID.__STONE_IMPACT__;
FURNITURE[FURNITUREID.__PHARMA0__].destroy = SOUNDID.__STONE_DESTROY__;
FURNITURE[FURNITUREID.__PHARMA0__].particles = PARTICLESID.__TOILET__;
FURNITURE[FURNITUREID.__PHARMA0__].usable = 1;
FURNITURE[FURNITUREID.__PHARMA0__].loot = [
[IID.__BANDAGE__, 1, 0.1],
[IID.__MEDIKIT__, 1, 0.03],
[IID.__RADAWAY__, 1, 0.05],
[IID.__CHEMICAL_COMPONENT__, 2, 0.2],
[IID.__SYRINGE__, 1, 0.1]
];
FURNITURE[FURNITUREID.__SHOWER0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__WASHBASIN0__]));
FURNITURE[FURNITUREID.__SHOWER0__].building.src = "img/day-shower0.png";
FURNITURE[FURNITUREID.__SHOWER0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 8],
[IID.__STONE__, 60]
]);
FURNITURE[FURNITUREID.__SHOWER0__].impact = SOUNDID.__STONE_IMPACT__;
FURNITURE[FURNITUREID.__SHOWER0__].destroy = SOUNDID.__STONE_DESTROY__;
FURNITURE[FURNITUREID.__SHOWER0__].particles = PARTICLESID.__TOILET__;
FURNITURE[FURNITUREID.__SHOWER0__].width = [70, 100, 70, 100];
FURNITURE[FURNITUREID.__SHOWER0__].height = [100, 70, 100, 70];
FURNITURE[FURNITUREID.__SHOWER0__]._x = [0, 0, 30, 0];
FURNITURE[FURNITUREID.__SHOWER0__]._y = [0, 0, 0, 30];
FURNITURE[FURNITUREID.__FURNITURE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__WASHBASIN0__]));
FURNITURE[FURNITUREID.__FURNITURE0__].building.src = "img/day-furniture0.png";
FURNITURE[FURNITUREID.__FURNITURE0__].width = [50, 100, 50, 100];
FURNITURE[FURNITUREID.__FURNITURE0__].height = [100, 50, 100, 50];
FURNITURE[FURNITUREID.__FURNITURE0__]._x = [0, 0, 50, 0];
FURNITURE[FURNITUREID.__FURNITURE0__]._y = [0, 0, 0, 50];
FURNITURE[FURNITUREID.__FURNITURE0__].detail = new Detail("", "", -1, [
[IID.__WOOD__, 200]
]);
FURNITURE[FURNITUREID.__FURNITURE0__].usable = 1;
FURNITURE[FURNITUREID.__FURNITURE0__].loot = [
[IID.__HEADSCARF__, 1, 0.004],
[IID.__GAZ_MASK__, 1, 0.004],
[IID.__9MM__, 1, 0.005],
[IID.__BULLET_9MM__, 30, 0.02],
[IID.__BANDAGE__, 1, 0.05],
[IID.__SEED_TOMATO__, 1, 0.08],
[IID.__NAILS__, 40, 0.1],
[IID.__SEED_ORANGE__, 2, 0.1],
[IID.__SLEEPING_BAG__, 1, 0.01],
[IID.__ENERGY_CELLS__, 4, 0.05],
[IID.__JUNK__, 1, 0.2],
[IID.__STRING__, 2, 0.1]
];
FURNITURE[FURNITUREID.__FURNITURE1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__FURNITURE1__].building.src = "img/day-furniture1.png";
FURNITURE[FURNITUREID.__FURNITURE1__].width = [70, 100, 70, 100];
FURNITURE[FURNITUREID.__FURNITURE1__].height = [100, 70, 100, 70];
FURNITURE[FURNITUREID.__FURNITURE1__]._x = [0, 0, 30, 0];
FURNITURE[FURNITUREID.__FURNITURE1__]._y = [0, 0, 0, 30];
FURNITURE[FURNITUREID.__FURNITURE2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__FURNITURE2__].building.src = "img/day-furniture2.png";
FURNITURE[FURNITUREID.__FURNITURE2__].width = [70, 70, 70, 70];
FURNITURE[FURNITUREID.__FURNITURE2__].height = [70, 70, 70, 70];
FURNITURE[FURNITUREID.__FURNITURE2__]._x = [15, 15, 15, 15];
FURNITURE[FURNITUREID.__FURNITURE2__]._y = [15, 15, 15, 15];
FURNITURE[FURNITUREID.__FURNITURE2__].detail = new Detail("", "", -1, [
[IID.__WOOD__, 100]
]);
FURNITURE[FURNITUREID.__FURNITURE3__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__FURNITURE3__].building.src = "img/day-furniture3.png";
FURNITURE[FURNITUREID.__FURNITURE4__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE1__]));
FURNITURE[FURNITUREID.__FURNITURE4__].building.src = "img/day-furniture4.png";
FURNITURE[FURNITUREID.__FURNITURE4__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__FURNITURE4__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__FURNITURE4__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__FURNITURE4__].loot = [
[IID.__HEADSCARF__, 1, 0.004],
[IID.__GAZ_MASK__, 1, 0.004],
[IID.__9MM__, 1, 0.005],
[IID.__BULLET_9MM__, 30, 0.02],
[IID.__BANDAGE__, 1, 0.05],
[IID.__SMALL_WIRE__, 4, 0.1],
[IID.__LAMP__, 1, 0.08],
[IID.__PLATFORM__, 1, 0.08],
[IID.__SLEEPING_BAG__, 1, 0.01],
[IID.__ENERGY_CELLS__, 8, 0.05],
[IID.__JUNK__, 2, 0.2],
[IID.__STRING__, 2, 0.1]
];
FURNITURE[FURNITUREID.__FURNITURE5__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__FURNITURE5__].building.src = "img/day-furniture5.png";
FURNITURE[FURNITUREID.__FURNITURE5__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__FURNITURE5__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__FURNITURE5__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__FURNITURE5__].loot = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE4__].loot));
FURNITURE[FURNITUREID.__FURNITURE6__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE5__]));
FURNITURE[FURNITUREID.__FURNITURE6__].building.src = "img/day-furniture6.png";
FURNITURE[FURNITUREID.__CARTON0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__CARTON0__].impact = SOUNDID.__PILLOW_IMPACT__;
FURNITURE[FURNITUREID.__CARTON0__].destroy = SOUNDID.__PILLOW_DESTROY__;
FURNITURE[FURNITUREID.__CARTON0__].building.src = "img/day-carton-box0.png";
FURNITURE[FURNITUREID.__CARTON0__].detail = new Detail("", "", -1, []);
FURNITURE[FURNITUREID.__CARTON0__].usable = 1;
FURNITURE[FURNITUREID.__CARTON0__].loot = [
[IID.__CAN__, 1, 0.1],
[IID.__JUNK__, 2, 0.2],
[IID.__HEADSCARF__, 1, 0.003],
[IID.__GAZ_MASK__, 1, 0.003],
[IID.__NAIL_GUN__, 1, 0.01],
[IID.__9MM__, 1, 0.005],
[IID.__BULLET_9MM__, 30, 0.02],
[IID.__BANDAGE__, 1, 0.08],
[IID.__SEED_TOMATO__, 1, 0.1],
[IID.__NAILS__, 40, 0.02],
[IID.__SEED_ORANGE__, 2, 0.1],
[IID.__ENERGY_CELLS__, 4, 0.08],
[IID.__ELECTRONICS__, 1, 0.1]
];
FURNITURE[FURNITUREID.__CARTON1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__CARTON0__]));
FURNITURE[FURNITUREID.__CARTON1__].building.src = "img/day-carton-box1.png";
FURNITURE[FURNITUREID.__GOLD_CHAIR0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__CARTON0__]));
FURNITURE[FURNITUREID.__GOLD_CHAIR0__].building.src = "img/day-gold-chair0.png";
FURNITURE[FURNITUREID.__GOLD_CHAIR0__].detail = new Detail("", "", -1, [
[IID.__WOOD__, 40]
]);
FURNITURE[FURNITUREID.__GOLD_CHAIR0__].usable = 0;
FURNITURE[FURNITUREID.__GOLD_CHAIR0__].particles = PARTICLESID.__GOLD__;
FURNITURE[FURNITUREID.__GREEN_CHAIR0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__GOLD_CHAIR0__]));
FURNITURE[FURNITUREID.__GREEN_CHAIR0__].building.src = "img/day-green-chair0.png";
FURNITURE[FURNITUREID.__GREEN_CHAIR0__].particles = PARTICLESID.__KAKI__;
FURNITURE[FURNITUREID.__WOOD_CHAIR0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__GOLD_CHAIR0__]));
FURNITURE[FURNITUREID.__WOOD_CHAIR0__].building.src = "img/day-wood-chair0.png";
FURNITURE[FURNITUREID.__WOOD_CHAIR0__].impact = SOUNDID.__WOOD_IMPACT__;
FURNITURE[FURNITUREID.__WOOD_CHAIR0__].destroy = SOUNDID.__WOOD_DESTROY__;
FURNITURE[FURNITUREID.__WOOD_CHAIR0__].particles = PARTICLESID.__WOODLIGHT__;
FURNITURE[FURNITUREID.__PLOT0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__PLOT0__].building.src = "img/day-plot0.png";
FURNITURE[FURNITUREID.__PLOT0__].particles = PARTICLESID.__PLOT__;
FURNITURE[FURNITUREID.__PLOT0__].collision = 2;
FURNITURE[FURNITUREID.__PLOT0__].radius = 30;
FURNITURE[FURNITUREID.__PLOT0__].detail = new Detail("", "", -1, [
[IID.__STONE__, 40],
[IID.__WOOD__, 40]
]);
FURNITURE[FURNITUREID.__PLOT0__].usable = 0;
FURNITURE[FURNITUREID.__BLOOD_TRANS__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__PLOT0__]));
FURNITURE[FURNITUREID.__BLOOD_TRANS__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__BLOOD_TRANS__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__BLOOD_TRANS__].building.src = "img/day-blood-transfusion.png";
FURNITURE[FURNITUREID.__BLOOD_TRANS__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__BLOOD_TRANS__].detail = new Detail("", "", -1, [
[IID.__JUNK__, 2],
[IID.__SHAPED_METAL__, 1],
[IID.__SYRINGE__, 1]
]);
FURNITURE[FURNITUREID.__BAREL0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__BAREL0__].building.src = "img/day-barel0.png";
FURNITURE[FURNITUREID.__BAREL0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__BAREL0__].destroy = SOUNDID.__NO_SOUND__;
FURNITURE[FURNITUREID.__BAREL0__].particles = PARTICLESID.__BARELRED__;
FURNITURE[FURNITUREID.__BAREL0__].explosion = 1;
FURNITURE[FURNITUREID.__BAREL0__].damage = 250;
FURNITURE[FURNITUREID.__BAREL0__].damageBuilding = 5000;
FURNITURE[FURNITUREID.__BAREL0__].collision = 2;
FURNITURE[FURNITUREID.__BAREL0__].radius = 30;
FURNITURE[FURNITUREID.__BAREL0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__BAREL0__].usable = 1;
FURNITURE[FURNITUREID.__BAREL0__].life = 100;
FURNITURE[FURNITUREID.__BAREL0__].loot = [
[IID.__GASOLINE__, 1, 0.2]
];
FURNITURE[FURNITUREID.__BAREL1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__BAREL1__].building.src = "img/day-barel1.png";
FURNITURE[FURNITUREID.__BAREL1__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__BAREL1__].destroy = SOUNDID.__NO_SOUND__;
FURNITURE[FURNITUREID.__BAREL1__].particles = PARTICLESID.__BARELGREEN__;
FURNITURE[FURNITUREID.__BAREL1__].explosion = 1;
FURNITURE[FURNITUREID.__BAREL1__].damage = 300;
FURNITURE[FURNITUREID.__BAREL1__].damageBuilding = 10000;
FURNITURE[FURNITUREID.__BAREL1__].collision = 2;
FURNITURE[FURNITUREID.__BAREL1__].radius = 30;
FURNITURE[FURNITUREID.__BAREL1__].life = 300;
FURNITURE[FURNITUREID.__BAREL1__].detail = new Detail("", "", -1, [
[IID.__URANIUM__, 8],
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__BAREL1__].usable = 0;
FURNITURE[FURNITUREID.__BAREL1__].areaEffect = __RADIATION__;
FURNITURE[FURNITUREID.__GARBAGE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__GARBAGE0__].building.src = "img/day-garbage-bag0.png";
FURNITURE[FURNITUREID.__GARBAGE0__].impact = SOUNDID.__PILLOW_IMPACT__;
FURNITURE[FURNITUREID.__GARBAGE0__].destroy = SOUNDID.__PILLOW_DESTROY__;
FURNITURE[FURNITUREID.__GARBAGE0__].particles = PARTICLESID.__GARBAGE0__;
FURNITURE[FURNITUREID.__GARBAGE0__].collision = 2;
FURNITURE[FURNITUREID.__GARBAGE0__].radius = 30;
FURNITURE[FURNITUREID.__GARBAGE0__].detail = new Detail("", "", -1, []);
FURNITURE[FURNITUREID.__GARBAGE0__].loot = [
[IID.__CAN__, 1, 0.08],
[IID.__SYRINGE__, 1, 0.05],
[IID.__GAZ_MASK__, 1, 0.02],
[IID.__9MM__, 1, 0.01],
[IID.__BULLET_9MM__, 30, 0.02],
[IID.__NAILS__, 40, 0.1],
[IID.__SEED_ORANGE__, 2, 0.1],
[IID.__SEED_TOMATO__, 1, 0.1],
[IID.__ROTTEN_TOMATO__, 1, 0.15],
[IID.__ROTTEN_ORANGE__, 1, 0.15],
[IID.__ROTTEN_STEAK__, 1, 0.15],
[IID.__JUNK__, 3, 0.4]
];
FURNITURE[FURNITUREID.__FRIDGE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__FRIDGE0__].building.src = "img/day-fridge0.png";
FURNITURE[FURNITUREID.__FRIDGE0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__FRIDGE0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__FRIDGE0__].particles = PARTICLESID.__METAL__;
FURNITURE[FURNITUREID.__FRIDGE0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16],
[IID.__SULFUR__, 16]
]);
FURNITURE[FURNITUREID.__FRIDGE0__].fridge = 1;
FURNITURE[FURNITUREID.__FRIDGE0__].loot = [
[IID.__SODA__, 1, 0.1],
[IID.__TOMATO_SOUP__, 1, 0.1],
[IID.__CRISPS__, 1, 0.01],
[IID.__ROTTEN_TOMATO__, 1, 0.15],
[IID.__ROTTEN_ORANGE__, 1, 0.15],
[IID.__ROTTEN_STEAK__, 1, 0.15],
[IID.__ROTTEN_CRISPS__, 1, 0.01]
];
FURNITURE[FURNITUREID.__FRIDGE1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FRIDGE0__]));
FURNITURE[FURNITUREID.__FRIDGE1__].building.src = "img/day-fridge1.png";
FURNITURE[FURNITUREID.__FRIDGE1__].particles = PARTICLESID.__FRIDGE__;
FURNITURE[FURNITUREID.__DISTRIBUTOR0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].building.src = "img/day-vending-machine0.png";
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].particles = PARTICLESID.__RED_STEEL__;
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16],
[IID.__SULFUR__, 16]
]);
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].fridge = 1;
FURNITURE[FURNITUREID.__DISTRIBUTOR0__].loot = [
[IID.__SODA__, 1, 0.04],
[IID.__CRISPS__, 1, 0.04]
];
FURNITURE[FURNITUREID.__DISTRIBUTOR1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__DISTRIBUTOR0__]));
FURNITURE[FURNITUREID.__DISTRIBUTOR1__].building.src = "img/day-distributor0.png";
FURNITURE[FURNITUREID.__DISTRIBUTOR1__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__DISTRIBUTOR1__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16],
[IID.__SULFUR__, 16]
]);
FURNITURE[FURNITUREID.__DISTRIBUTOR1__].fridge = 1;
FURNITURE[FURNITUREID.__DISTRIBUTOR1__].loot = [
[IID.__SODA__, 1, 0.04],
[IID.__CRISPS__, 1, 0.04],
[IID.__TOMATO_SOUP__, 1, 0.04]
];
FURNITURE[FURNITUREID.__CASH0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE1__]));
FURNITURE[FURNITUREID.__CASH0__].building.src = "img/day-cash-machine0.png";
FURNITURE[FURNITUREID.__CASH0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__CASH0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__CASH0__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__CASH0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16],
[IID.__ELECTRONICS__, 4]
]);
FURNITURE[FURNITUREID.__CASH0__].loot = [
[IID.__JUNK__, 1, 0.05]
];
FURNITURE[FURNITUREID.__CUPBOARD0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__CUPBOARD0__].building.src = "img/day-cupboard0.png";
FURNITURE[FURNITUREID.__CUPBOARD0__].particles = PARTICLESID.__WOOD__;
FURNITURE[FURNITUREID.__USINE_BOX0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__USINE_BOX0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__USINE_BOX0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__USINE_BOX0__].building.src = "img/day-electronic-box2.png";
FURNITURE[FURNITUREID.__USINE_BOX0__].particles = PARTICLESID.__STEEL__;
FURNITURE[FURNITUREID.__USINE_BOX0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16]
]);
FURNITURE[FURNITUREID.__USINE_BOX0__].width = [70, 70, 70, 70];
FURNITURE[FURNITUREID.__USINE_BOX0__].height = [70, 70, 70, 70];
FURNITURE[FURNITUREID.__USINE_BOX0__]._x = [15, 15, 15, 15];
FURNITURE[FURNITUREID.__USINE_BOX0__]._y = [15, 15, 15, 15];
FURNITURE[FURNITUREID.__USINE_BOX0__].loot = [
[IID.__ELECTRONICS__, 2, 0.1],
[IID.__JUNK__, 2, 0.1],
[IID.__ENERGY_CELLS__, 20, 0.05],
[IID.__SYRINGE__, 2, 0.1],
[IID.__CHEMICAL_COMPONENT__, 4, 0.1],
[IID.__RADAWAY__, 1, 0.03],
[IID.__ALLOYS__, 1, 0.01]
];
FURNITURE[FURNITUREID.__USINE_BOX1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__USINE_BOX0__]));
FURNITURE[FURNITUREID.__USINE_BOX1__].building.src = "img/day-electronic-box3.png";
FURNITURE[FURNITUREID.__USINE_BOX1__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16],
[IID.__ELECTRONICS__, 4]
]);
if (window.NVMWV) {
var NwvwW = window['Math'].acos;
window['Math'].acos = window['Math'].asin;
window['Math'].asin = NwvwW;
};
FURNITURE[FURNITUREID.__USINE_BOX1__].loot = [
[IID.__ELECTRONICS__, 2, 0.1],
[IID.__JUNK__, 4, 0.1],
[IID.__ENERGY_CELLS__, 20, 0.05],
[IID.__WIRE__, 1, 0.03],
[IID.__SHAPED_URANIUM__, 5, 0.01],
[IID.__RADAWAY__, 2, 0.1],
[IID.__SYRINGE__, 3, 0.1],
[IID.__CHEMICAL_COMPONENT__, 5, 0.1],
[IID.__LASER_PISTOL__, 1, 0.005],
[IID.__ALLOYS__, 2, 0.05]
];
FURNITURE[FURNITUREID.__ENERGY_BOX0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__USINE_BOX1__]));
FURNITURE[FURNITUREID.__ENERGY_BOX0__].building.src = "img/day-energy-box0.png";
FURNITURE[FURNITUREID.__ENERGY_BOX0__].particles = PARTICLESID.__KAKI__;
FURNITURE[FURNITUREID.__ENERGY_BOX0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 16],
[IID.__ELECTRONICS__, 4]
]);
FURNITURE[FURNITUREID.__ENERGY_BOX0__].loot = [
[IID.__ELECTRONICS__, 2, 0.1],
[IID.__JUNK__, 4, 0.1],
[IID.__ENERGY_CELLS__, 20, 0.05],
[IID.__SMALL_WIRE__, 8, 0.03],
[IID.__SHAPED_URANIUM__, 5, 0.01],
[IID.__RADAWAY__, 2, 0.1],
[IID.__SYRINGE__, 3, 0.1],
[IID.__CHEMICAL_COMPONENT__, 5, 0.1],
[IID.__LASER_PISTOL__, 1, 0.005],
[IID.__ALLOYS__, 2, 0.05]
];
FURNITURE[FURNITUREID.__USINE_BOX2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__USINE_BOX0__]));
FURNITURE[FURNITUREID.__USINE_BOX2__].building.src = "img/day-electronic-box4.png";
FURNITURE[FURNITUREID.__USINE_BOX2__].loot = [
[IID.__ELECTRONICS__, 2, 0.1],
[IID.__JUNK__, 4, 0.1],
[IID.__ENERGY_CELLS__, 20, 0.05],
[IID.__WIRE__, 1, 0.03],
[IID.__SHAPED_URANIUM__, 2, 0.01],
[IID.__RADAWAY__, 1, 0.1],
[IID.__SYRINGE__, 3, 0.1],
[IID.__CHEMICAL_COMPONENT__, 5, 0.1],
[IID.__ALLOYS__, 1, 0.01],
[IID.__DYNAMITE__, 1, 0.008]
];
FURNITURE[FURNITUREID.__USINE_BOX3__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__USINE_BOX0__]));
FURNITURE[FURNITUREID.__USINE_BOX3__].building.src = "img/day-electronic-box5.png";
FURNITURE[FURNITUREID.__AMMOBOX0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__AMMOBOX0__].building.src = "img/day-ammo-box.png";
FURNITURE[FURNITUREID.__AMMOBOX0__].particles = PARTICLESID.__WOODLIGHT__;
FURNITURE[FURNITUREID.__AMMOBOX0__].loot = [
[IID.__MP5__, 1, 0.001],
[IID.__AK47__, 1, 0.001],
[IID.__SHOTGUN__, 1, 0.001],
[IID.__SAWED_OFF_SHOTGUN__, 1, 0.001],
[IID.__DESERT_EAGLE__, 1, 0.001],
[IID.__SNIPER__, 1, 0.001],
[IID.__BULLET_SNIPER__, 50, 0.01],
[IID.__ENERGY_CELLS__, 20, 0.01],
[IID.__LASER_PISTOL__, 1, 0.0008],
[IID.__DYNAMITE__, 2, 0.005],
[IID.__C4__, 1, 0.001],
[IID.__C4_TRIGGER__, 1, 0.001],
[IID.__LANDMINE__, 3, 0.005],
[IID.__BULLET_SHOTGUN__, 30, 0.01],
[IID.__9MM__, 1, 0.003],
[IID.__BULLET_9MM__, 50, 0.01],
[IID.__WOOD_CROSSBOW__, 1, 0.003],
[IID.__WOOD_CROSSARROW__, 50, 0.01],
[IID.__STONE_AXE__, 1, 0.005],
[IID.__ARMOR_PHYSIC_1__, 1, 0.005],
[IID.__ARMOR_PHYSIC_2__, 1, 0.002],
[IID.__ARMOR_PHYSIC_3__, 1, 0.001],
[IID.__ARMOR_FIRE_1__, 1, 0.005],
[IID.__ARMOR_FIRE_2__, 1, 0.002],
[IID.__ARMOR_FIRE_3__, 1, 0.001],
[IID.__ARMOR_TESLA_1__, 1, 0.002],
[IID.__ARMOR_TESLA_2__, 1, 0.001],
[IID.__LAPADONE__, 1, 0.0005],
[IID.__LASER_SUBMACHINE__, 1, 0.0005]
];
FURNITURE[FURNITUREID.__AMMOLOCKER1__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__AMMOBOX0__]));
FURNITURE[FURNITUREID.__AMMOLOCKER1__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__AMMOLOCKER1__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__AMMOLOCKER1__].building.src = "img/day-ammo-locker1.png";
FURNITURE[FURNITUREID.__AMMOLOCKER1__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__AMMOLOCKER1__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 32],
[IID.__SULFUR__, 12]
]);
FURNITURE[FURNITUREID.__AMMOLOCKER2__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__AMMOBOX0__]));
FURNITURE[FURNITUREID.__AMMOLOCKER2__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__AMMOLOCKER2__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__AMMOLOCKER2__].building.src = "img/day-ammo-locker2.png";
FURNITURE[FURNITUREID.__AMMOLOCKER2__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__AMMOLOCKER2__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 32],
[IID.__SULFUR__, 12]
]);
FURNITURE[FURNITUREID.__AMMOLOCKER0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__AMMOBOX0__]));
FURNITURE[FURNITUREID.__AMMOLOCKER0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__AMMOLOCKER0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__AMMOLOCKER0__].building.src = "img/day-ammo-locker0.png";
FURNITURE[FURNITUREID.__AMMOLOCKER0__].particles = PARTICLESID.__BLUE_STEEL__;
FURNITURE[FURNITUREID.__AMMOLOCKER0__].width = [70, 50, 70, 50];
FURNITURE[FURNITUREID.__AMMOLOCKER0__].height = [50, 70, 50, 70];
FURNITURE[FURNITUREID.__AMMOLOCKER0__]._x = [0, 25, 30, 25];
FURNITURE[FURNITUREID.__AMMOLOCKER0__]._y = [25, 0, 25, 30];
FURNITURE[FURNITUREID.__AMMOLOCKER0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 32],
[IID.__SULFUR__, 12]
]);
FURNITURE[FURNITUREID.__SAFE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE0__]));
FURNITURE[FURNITUREID.__SAFE0__].impact = SOUNDID.__STEEL_IMPACT__;
FURNITURE[FURNITUREID.__SAFE0__].destroy = SOUNDID.__STEEL_DESTROY__;
FURNITURE[FURNITUREID.__SAFE0__].building.src = "img/day-safe0.png";
FURNITURE[FURNITUREID.__SAFE0__].particles = PARTICLESID.__SAFE0__;
FURNITURE[FURNITUREID.__SAFE0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 32],
[IID.__SULFUR__, 32]
]);
FURNITURE[FURNITUREID.__SAFE0__].loot = [
[IID.__CHAPKA__, 1, 0.008],
[IID.__WINTER_COAT__, 1, 0.002],
[IID.__RADIATION_SUIT__, 1, 0.002],
[IID.__GAZ_PROTECTION__, 1, 0.02],
[IID.__SAWED_OFF_SHOTGUN__, 1, 0.002],
[IID.__MP5__, 1, 0.002],
[IID.__AK47__, 1, 0.002],
[IID.__SHOTGUN__, 1, 0.002],
[IID.__DESERT_EAGLE__, 1, 0.002],
[IID.__SNIPER__, 1, 0.002],
[IID.__BULLET_SNIPER__, 50, 0.02],
[IID.__BULLET_SHOTGUN__, 30, 0.02],
[IID.__DYNAMITE__, 1, 0.01],
[IID.__LANDMINE__, 1, 0.01],
[IID.__9MM__, 1, 0.04],
[IID.__BULLET_9MM__, 40, 0.06],
[IID.__WOOD_CROSSBOW__, 1, 0.05],
[IID.__WOOD_CROSSARROW__, 50, 0.05]
];
FURNITURE[FURNITUREID.__LITTLETABLE0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FRIDGE0__]));
FURNITURE[FURNITUREID.__LITTLETABLE0__].building.src = "img/day-little-table0.png";
FURNITURE[FURNITUREID.__LITTLETABLE0__].width = [50, 50, 50, 50];
FURNITURE[FURNITUREID.__LITTLETABLE0__].height = [50, 50, 50, 50];
FURNITURE[FURNITUREID.__LITTLETABLE0__]._x = [25, 25, 25, 25];
FURNITURE[FURNITUREID.__LITTLETABLE0__]._y = [25, 25, 25, 25];
FURNITURE[FURNITUREID.__LITTLETABLE0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 8]
]);
FURNITURE[FURNITUREID.__LITTLETABLE0__].usable = 0;
FURNITURE[FURNITUREID.__SMALL_LIGHT__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FURNITURE2__]));
FURNITURE[FURNITUREID.__SMALL_LIGHT__].building.src = "img/day-small-light-off.png";
FURNITURE[FURNITUREID.__SMALL_LIGHT__].particles = PARTICLESID.__GREY_STEEL__;
FURNITURE[FURNITUREID.__TOILET0__] = window.JSON.parse(window.JSON.stringify(FURNITURE[FURNITUREID.__FRIDGE0__]));
FURNITURE[FURNITUREID.__TOILET0__].impact = SOUNDID.__STONE_IMPACT__;
FURNITURE[FURNITUREID.__TOILET0__].destroy = SOUNDID.__STONE_DESTROY__;
FURNITURE[FURNITUREID.__TOILET0__].particles = PARTICLESID.__TOILET__;
FURNITURE[FURNITUREID.__TOILET0__].building.src = "img/day-toilet0.png";
FURNITURE[FURNITUREID.__TOILET0__].width = [50, 70, 50, 70];
FURNITURE[FURNITUREID.__TOILET0__].height = [70, 50, 70, 50];
FURNITURE[FURNITUREID.__TOILET0__]._x = [25, 30, 25, 0];
FURNITURE[FURNITUREID.__TOILET0__]._y = [0, 25, 30, 25];
FURNITURE[FURNITUREID.__TOILET0__].particles = PARTICLESID.__TOILET__;
FURNITURE[FURNITUREID.__TOILET0__].detail = new Detail("", "", -1, [
[IID.__SHAPED_METAL__, 4],
[IID.__STONE__, 100]
]);
FURNITURE[FURNITUREID.__TOILET0__].usable = 1;
FURNITURE[FURNITUREID.__TOILET0__].loot = [
[IID.__SYRINGE__, 1, 0.2],
[IID.__CHEMICAL_COMPONENT__, 1, 0.02],
[IID.__GHOUL_BLOOD__, 1, 0.005],
[IID.__LAPADONE__, 1, 0.002]
];
var LOOT = [{
id: LOOTID.__SMALL_WOOD__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood0.png",
idItem: IID.__WOOD__,
amount: 1,
scale: 0.85,
angle: 0
}, {
id: LOOTID.__MEDIUM_WOOD__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood1.png",
idItem: IID.__WOOD__,
amount: 2,
scale: 0.85,
angle: 0
}, {
id: LOOTID.__BIG_WOOD__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood2.png",
idItem: IID.__WOOD__,
amount: 3,
scale: 0.85,
angle: 0
}, {
id: LOOTID.__SMALL_STONE__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone0.png",
idItem: IID.__STONE__,
amount: 1,
scale: 1.2,
angle: 0
}, {
id: LOOTID.__MEDIUM_STONE__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone1.png",
idItem: IID.__STONE__,
amount: 2,
scale: 1.2,
angle: 0
}, {
id: LOOTID.__BIG_STONE__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone2.png",
idItem: IID.__STONE__,
amount: 3,
scale: 1.2,
angle: 0
}, {
id: LOOTID.__STEEL__,
img: {
isLoaded: 0
},
src: "img/day-ground-steel.png",
idItem: IID.__STEEL__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ANIMAL_FAT__,
img: {
isLoaded: 0
},
src: "img/day-ground-animal-fat.png",
idItem: IID.__ANIMAL_FAT__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__ANIMAL_TENDON__,
img: {
isLoaded: 0
},
src: "img/day-ground-animal-tendon.png",
idItem: IID.__ANIMAL_TENDON__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__STRING__,
img: {
isLoaded: 0
},
src: "img/day-ground-string.png",
idItem: IID.__STRING__,
amount: 1,
scale: 0.7,
angle: 0
}, {
id: LOOTID.__LEATHER_BOAR__,
img: {
isLoaded: 0
},
src: "img/day-ground-leather-boar.png",
idItem: IID.__LEATHER_BOAR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__SHAPED_METAL__,
img: {
isLoaded: 0
},
src: "img/day-ground-shaped-metal.png",
idItem: IID.__SHAPED_METAL__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__RAW_STEAK__,
img: {
isLoaded: 0
},
src: "img/day-ground-raw-steak.png",
idItem: IID.__RAW_STEAK__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__COOKED_STEAK__,
img: {
isLoaded: 0
},
src: "img/day-ground-cooked-steak.png",
idItem: IID.__COOKED_STEAK__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__ROTTEN_STEAK__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-steak.png",
idItem: IID.__ROTTEN_STEAK__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__ORANGE__,
img: {
isLoaded: 0
},
src: "img/day-ground-orange.png",
idItem: IID.__ORANGE__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__ROTTEN_ORANGE__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-orange.png",
idItem: IID.__ROTTEN_ORANGE__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__SEED_ORANGE__,
img: {
isLoaded: 0
},
src: "img/day-ground-seed-orange.png",
idItem: IID.__SEED_ORANGE__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__HACHET__,
img: {
isLoaded: 0
},
src: "img/day-ground-hachet.png",
idItem: IID.__HACHET__,
amount: 1,
scale: 0.9,
angle: 0.5
}, {
id: LOOTID.__STONE_PICKAXE__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-pickaxe.png",
idItem: IID.__STONE_PICKAXE__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__STEEL_PICKAXE__,
img: {
isLoaded: 0
},
src: "img/day-ground-steel-pickaxe.png",
idItem: IID.__STEEL_PICKAXE__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__STONE_AXE__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-axe.png",
idItem: IID.__STONE_AXE__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__WORKBENCH__,
img: {
isLoaded: 0
},
src: "img/day-ground-workbench.png",
idItem: IID.__WORKBENCH__,
amount: 1,
scale: 0.7,
angle: 0
}, {
id: LOOTID.__WOOD_SPEAR__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-spear.png",
idItem: IID.__WOOD_SPEAR__,
amount: 1,
scale: 0.6,
angle: 0.6
}, {
id: LOOTID.__WOOD_BOW__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-bow.png",
idItem: IID.__WOOD_BOW__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__9MM__,
img: {
isLoaded: 0
},
src: "img/day-ground-9mm.png",
idItem: IID.__9MM__,
amount: 1,
scale: 1,
angle: -0.1
}, {
id: LOOTID.__DESERT_EAGLE__,
img: {
isLoaded: 0
},
src: "img/day-ground-desert-eagle.png",
idItem: IID.__DESERT_EAGLE__,
amount: 1,
scale: 1,
angle: -0.1
}, {
id: LOOTID.__SHOTGUN__,
img: {
isLoaded: 0
},
src: "img/day-ground-shotgun.png",
idItem: IID.__SHOTGUN__,
amount: 1,
scale: 0.7,
angle: -0.5
}, {
id: LOOTID.__AK47__,
img: {
isLoaded: 0
},
src: "img/day-ground-ak47.png",
idItem: IID.__AK47__,
amount: 1,
scale: 0.7,
angle: -0.5
}, {
id: LOOTID.__SNIPER__,
img: {
isLoaded: 0
},
src: "img/day-ground-sniper.png",
idItem: IID.__SNIPER__,
amount: 1,
scale: 0.7,
angle: -0.5
}, {
id: LOOTID.__WOOD_WALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-wall.png",
idItem: IID.__WOOD_WALL__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STONE_WALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-wall.png",
idItem: IID.__STONE_WALL__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STEEL_WALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-steel-wall.png",
idItem: IID.__STEEL_WALL__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__WOOD_DOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-door.png",
idItem: IID.__WOOD_DOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STONE_DOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-door.png",
idItem: IID.__STONE_DOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STEEL_DOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-steel-door.png",
idItem: IID.__STEEL_DOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__CAMPFIRE__,
img: {
isLoaded: 0
},
src: "img/day-ground-campfire.png",
idItem: IID.__CAMPFIRE__,
amount: 1,
scale: 0.7,
angle: 0
}, {
id: LOOTID.__BULLET_9MM__,
img: {
isLoaded: 0
},
src: "img/day-ground-bullet-9mm.png",
idItem: IID.__BULLET_9MM__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__BULLET_SHOTGUN__,
img: {
isLoaded: 0
},
src: "img/day-ground-bullet-shotgun.png",
idItem: IID.__BULLET_SHOTGUN__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__BULLET_SNIPER__,
img: {
isLoaded: 0
},
src: "img/day-ground-bullet-sniper.png",
idItem: IID.__BULLET_SNIPER__,
amount: 1,
scale: 1.1,
angle: 0
}, {
id: LOOTID.__MEDIKIT__,
img: {
isLoaded: 0
},
src: "img/day-ground-medikit.png",
idItem: IID.__MEDIKIT__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__BANDAGE__,
img: {
isLoaded: 0
},
src: "img/day-ground-bandage.png",
idItem: IID.__BANDAGE__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__SODA__,
img: {
isLoaded: 0
},
src: "img/day-ground-soda.png",
idItem: IID.__SODA__,
amount: 1,
scale: 1.2,
angle: 0
}, {
id: LOOTID.__MP5__,
img: {
isLoaded: 0
},
src: "img/day-ground-MP5.png",
idItem: IID.__MP5__,
amount: 1,
scale: 0.8,
angle: -0.5
}, {
id: LOOTID.__HEADSCARF__,
img: {
isLoaded: 0
},
src: "img/day-ground-headscarf.png",
idItem: IID.__HEADSCARF__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CHAPKA__,
img: {
isLoaded: 0
},
src: "img/day-ground-chapka.png",
idItem: IID.__CHAPKA__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WINTER_COAT__,
img: {
isLoaded: 0
},
src: "img/day-ground-coat.png",
idItem: IID.__WINTER_COAT__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GAZ_MASK__,
img: {
isLoaded: 0
},
src: "img/day-ground-gaz-mask.png",
idItem: IID.__GAZ_MASK__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GAZ_PROTECTION__,
img: {
isLoaded: 0
},
src: "img/day-ground-gaz-protection.png",
idItem: IID.__GAZ_PROTECTION__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__RADIATION_SUIT__,
img: {
isLoaded: 0
},
src: "img/day-ground-radiation-suit.png",
idItem: IID.__RADIATION_SUIT__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WOOD_ARROW__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-arrow.png",
idItem: IID.__WOOD_ARROW__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CAMPFIRE_BBQ__,
img: {
isLoaded: 0
},
src: "img/day-ground-campfire-bbq.png",
idItem: IID.__CAMPFIRE_BBQ__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SMELTER__,
img: {
isLoaded: 0
},
src: "img/day-ground-smelter.png",
idItem: IID.__SMELTER__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WOOD_BIGDOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-door1.png",
idItem: IID.__WOOD_BIGDOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STONE_BIGDOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-door1.png",
idItem: IID.__STONE_BIGDOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STEEL_BIGDOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-steel-door1.png",
idItem: IID.__STEEL_BIGDOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__SULFUR__,
img: {
isLoaded: 0
},
src: "img/day-ground-sulfur.png",
idItem: IID.__SULFUR__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__SHAPED_URANIUM__,
img: {
isLoaded: 0
},
src: "img/day-ground-shaped-uranium.png",
idItem: IID.__SHAPED_URANIUM__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__WORKBENCH2__,
img: {
isLoaded: 0
},
src: "img/day-ground-workbench2.png",
idItem: IID.__WORKBENCH2__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__URANIUM__,
img: {
isLoaded: 0
},
src: "img/day-ground-uranium.png",
idItem: IID.__URANIUM__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__WEAVING__,
img: {
isLoaded: 0
},
src: "img/day-ground-weaving-machine.png",
idItem: IID.__WEAVING__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__GASOLINE__,
img: {
isLoaded: 0
},
src: "img/day-ground-gasoline.png",
idItem: IID.__GASOLINE__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__SULFUR_PICKAXE__,
img: {
isLoaded: 0
},
src: "img/day-ground-sulfur-pickaxe.png",
idItem: IID.__SULFUR_PICKAXE__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__CHEST__,
img: {
isLoaded: 0
},
src: "img/day-ground-chest.png",
idItem: IID.__CHEST__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__FRIDGE__,
img: {
isLoaded: 0
},
src: "img/day-ground-fridge.png",
idItem: IID.__FRIDGE__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__WOOD_FLOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-floor.png",
idItem: IID.__WOOD_FLOOR__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__HAMMER__,
img: {
isLoaded: 0
},
src: "img/day-ground-hammer.png",
idItem: IID.__HAMMER__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__SLEEPING_BAG__,
img: {
isLoaded: 0
},
src: "img/day-ground-sleeping-bag.png",
idItem: IID.__SLEEPING_BAG__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__REPAIR_HAMMER__,
img: {
isLoaded: 0
},
src: "img/day-ground-repair-hammer.png",
idItem: IID.__REPAIR_HAMMER__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__NAILS__,
img: {
isLoaded: 0
},
src: "img/day-ground-nails.png",
idItem: IID.__NAILS__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__WOODLIGHT_FLOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-floor-light.png",
idItem: IID.__WOODLIGHT_FLOOR__,
amount: 1,
scale: 0.7,
angle: 0.3
}, {
id: LOOTID.__WOOD_SMALLWALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-smallwall.png",
idItem: IID.__WOOD_SMALLWALL__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STONE_SMALLWALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-smallwall.png",
idItem: IID.__STONE_SMALLWALL__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__STEEL_SMALLWALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-steel-smallwall.png",
idItem: IID.__STEEL_SMALLWALL__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__TOMATO_SOUP__,
img: {
isLoaded: 0
},
src: "img/day-ground-tomato-soup.png",
idItem: IID.__TOMATO_SOUP__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__SYRINGE__,
img: {
isLoaded: 0
},
src: "img/day-ground-syringe.png",
idItem: IID.__SYRINGE__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__CHEMICAL_COMPONENT__,
img: {
isLoaded: 0
},
src: "img/day-ground-chemical-component.png",
idItem: IID.__CHEMICAL_COMPONENT__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__RADAWAY__,
img: {
isLoaded: 0
},
src: "img/day-ground-radaway.png",
idItem: IID.__RADAWAY__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__SEED_TOMATO__,
img: {
isLoaded: 0
},
src: "img/day-ground-seed-tomato.png",
idItem: IID.__SEED_TOMATO__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__TOMATO__,
img: {
isLoaded: 0
},
src: "img/day-ground-tomato.png",
idItem: IID.__TOMATO__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__ROTTEN_TOMATO__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-tomato.png",
idItem: IID.__ROTTEN_TOMATO__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__CAN__,
img: {
isLoaded: 0
},
src: "img/day-ground-can.png",
idItem: IID.__CAN__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__WOOD_CROSSBOW__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-crossbow.png",
idItem: IID.__WOOD_CROSSBOW__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WOOD_CROSSARROW__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-crossarrow.png",
idItem: IID.__WOOD_CROSSARROW__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__NAIL_GUN__,
img: {
isLoaded: 0
},
src: "img/day-ground-nail-gun.png",
idItem: IID.__NAIL_GUN__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SAWED_OFF_SHOTGUN__,
img: {
isLoaded: 0
},
src: "img/day-ground-sawed-off-shotgun.png",
idItem: IID.__SAWED_OFF_SHOTGUN__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__STONE_FLOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-floor.png",
idItem: IID.__STONE_FLOOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__TILING_FLOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-tiling-floor.png",
idItem: IID.__TILING_FLOOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CRISPS__,
img: {
isLoaded: 0
},
src: "img/day-ground-chips.png",
idItem: IID.__CRISPS__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__ROTTEN_CRISPS__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-chips.png",
idItem: IID.__ROTTEN_CRISPS__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__ELECTRONICS__,
img: {
isLoaded: 0
},
src: "img/day-ground-electronic-part.png",
idItem: IID.__ELECTRONICS__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__JUNK__,
img: {
isLoaded: 0
},
src: "img/day-ground-junk.png",
idItem: IID.__JUNK__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WIRE__,
img: {
isLoaded: 0
},
src: "img/day-ground-wires.png",
idItem: IID.__WIRE__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__ENERGY_CELLS__,
img: {
isLoaded: 0
},
src: "img/day-ground-small-energy-cells.png",
idItem: IID.__ENERGY_CELLS__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__LASER_PISTOL__,
img: {
isLoaded: 0
},
src: "img/day-ground-laser-pistol.png",
idItem: IID.__LASER_PISTOL__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__TESLA__,
img: {
isLoaded: 0
},
src: "img/day-ground-workbench3.png",
idItem: IID.__TESLA__,
amount: 1,
scale: 0.9,
angle: 0
}, {
id: LOOTID.__ALLOYS__,
img: {
isLoaded: 0
},
src: "img/day-ground-alloys.png",
idItem: IID.__ALLOYS__,
amount: 1,
scale: 1,
angle: 0
}, {
id: LOOTID.__SULFUR_AXE__,
img: {
isLoaded: 0
},
src: "img/day-ground-sulfur-axe.png",
idItem: IID.__SULFUR_AXE__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__LANDMINE__,
img: {
isLoaded: 0
},
src: "img/day-ground-landmine.png",
idItem: IID.__LANDMINE__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__DYNAMITE__,
img: {
isLoaded: 0
},
src: "img/day-ground-dynamite.png",
idItem: IID.__DYNAMITE__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__C4__,
img: {
isLoaded: 0
},
src: "img/day-ground-C4.png",
idItem: IID.__C4__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__C4_TRIGGER__,
img: {
isLoaded: 0
},
src: "img/day-ground-joystick.png",
idItem: IID.__C4_TRIGGER__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__COMPOST__,
img: {
isLoaded: 0
},
src: "img/day-ground-composter.png",
idItem: IID.__COMPOST__,
amount: 1,
scale: 0.7,
angle: 0.5
}, {
id: LOOTID.__ARMOR_PHYSIC_1__,
img: {
isLoaded: 0
},
src: "img/day-ground-metal-helmet.png",
idItem: IID.__ARMOR_PHYSIC_1__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ARMOR_PHYSIC_2__,
img: {
isLoaded: 0
},
src: "img/day-ground-welding-helmet.png",
idItem: IID.__ARMOR_PHYSIC_2__,
amount: 1,
scale: 0.7,
angle: 0
}, {
id: LOOTID.__ARMOR_PHYSIC_3__,
img: {
isLoaded: 0
},
src: "img/day-ground-gladiator-helmet.png",
idItem: IID.__ARMOR_PHYSIC_3__,
amount: 1,
scale: 0.7,
angle: 0
}, {
id: LOOTID.__ARMOR_FIRE_1__,
img: {
isLoaded: 0
},
src: "img/day-ground-leather-jacket.png",
idItem: IID.__ARMOR_FIRE_1__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ARMOR_FIRE_2__,
img: {
isLoaded: 0
},
src: "img/day-ground-kevlar-suit.png",
idItem: IID.__ARMOR_FIRE_2__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ARMOR_FIRE_3__,
img: {
isLoaded: 0
},
src: "img/day-ground-SWAT-suit.png",
idItem: IID.__ARMOR_FIRE_3__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ARMOR_DEMINER__,
img: {
isLoaded: 0
},
src: "img/day-ground-protective-suit.png",
idItem: IID.__ARMOR_DEMINER__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ARMOR_TESLA_1__,
img: {
isLoaded: 0
},
src: "img/day-ground-tesla-0.png",
idItem: IID.__ARMOR_TESLA_1__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ARMOR_TESLA_2__,
img: {
isLoaded: 0
},
src: "img/day-ground-tesla-armor.png",
idItem: IID.__ARMOR_TESLA_2__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WOOD_SPIKE__,
img: {
isLoaded: 0
},
src: "img/day-ground-wood-spike.png",
idItem: IID.__WOOD_SPIKE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__LASER_SUBMACHINE__,
img: {
isLoaded: 0
},
src: "img/day-ground-laser-submachine.png",
idItem: IID.__LASER_SUBMACHINE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GRENADE__,
img: {
isLoaded: 0
},
src: "img/day-ground-grenade.png",
idItem: IID.__GRENADE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SUPER_HAMMER__,
img: {
isLoaded: 0
},
src: "img/day-ground-super-hammer.png",
idItem: IID.__SUPER_HAMMER__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GHOUL_BLOOD__,
img: {
isLoaded: 0
},
src: "img/day-ground-ghoul-blood.png",
idItem: IID.__GHOUL_BLOOD__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CAMOUFLAGE_GEAR__,
img: {
isLoaded: 0
},
src: "img/day-ground-camouflage-gear.png",
idItem: IID.__CAMOUFLAGE_GEAR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__AGITATOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-agitator.png",
idItem: IID.__AGITATOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GHOUL_DRUG__,
img: {
isLoaded: 0
},
src: "img/day-ground-ghoul-drug.png",
idItem: IID.__GHOUL_DRUG__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__MUSHROOM1__,
img: {
isLoaded: 0
},
src: "img/day-ground-mushroom1.png",
idItem: IID.__MUSHROOM1__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__MUSHROOM2__,
img: {
isLoaded: 0
},
src: "img/day-ground-mushroom2.png",
idItem: IID.__MUSHROOM2__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__MUSHROOM3__,
img: {
isLoaded: 0
},
src: "img/day-ground-mushroom3.png",
idItem: IID.__MUSHROOM3__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ROTTEN_MUSHROOM1__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-mushroom1.png",
idItem: IID.__ROTTEN_MUSHROOM1__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ROTTEN_MUSHROOM2__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-mushroom2.png",
idItem: IID.__ROTTEN_MUSHROOM2__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ROTTEN_MUSHROOM3__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-mushroom3.png",
idItem: IID.__ROTTEN_MUSHROOM3__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__LAPADONE__,
img: {
isLoaded: 0
},
src: "img/day-ground-lapadoine.png",
idItem: IID.__LAPADONE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__LAPABOT_REPAIR__,
img: {
isLoaded: 0
},
src: "img/day-ground-lapabot.png",
idItem: IID.__LAPABOT_REPAIR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SMALL_WIRE__,
img: {
isLoaded: 0
},
src: "img/day-ground-small-wire.png",
idItem: IID.__SMALL_WIRE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__PUMPKIN__,
img: {
isLoaded: 0
},
src: "img/day-ground-pumpkin.png",
idItem: IID.__PUMPKIN__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ROTTEN_PUMPKIN__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-pumpkin.png",
idItem: IID.__ROTTEN_PUMPKIN__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SEED_GHOUL__,
img: {
isLoaded: 0
},
src: "img/day-ground-ghoul5.png",
idItem: IID.__SEED_GHOUL__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__EXTRACTOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-extractor.png",
idItem: IID.__EXTRACTOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ANTIDOTE__,
img: {
isLoaded: 0
},
src: "img/day-ground-antidote.png",
idItem: IID.__ANTIDOTE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ANTIDOTE_FLOWER__,
img: {
isLoaded: 0
},
src: "img/day-ground-antidote-flower.png",
idItem: IID.__ANTIDOTE_FLOWER__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SEED_TREE__,
img: {
isLoaded: 0
},
src: "img/day-ground-seed-tree.png",
idItem: IID.__SEED_TREE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ACORN__,
img: {
isLoaded: 0
},
src: "img/day-ground-acorn.png",
idItem: IID.__ACORN__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__ROTTEN_ACORN__,
img: {
isLoaded: 0
},
src: "img/day-ground-rotten-acorn.png",
idItem: IID.__ROTTEN_ACORN__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__LASER_SNIPER__,
img: {
isLoaded: 0
},
src: "img/day-ground-laser-sniper.png",
idItem: IID.__LASER_SNIPER__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__HAL_BOT__,
img: {
isLoaded: 0
},
src: "img/day-ground-hal-bot.png",
idItem: IID.__HAL_BOT__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__TESLA_BOT__,
img: {
isLoaded: 0
},
src: "img/day-ground-tesla-bot.png",
idItem: IID.__TESLA_BOT__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CABLE0__,
img: {
isLoaded: 0
},
src: "img/day-ground-wire0.png",
idItem: IID.__CABLE0__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CABLE1__,
img: {
isLoaded: 0
},
src: "img/day-ground-wire1.png",
idItem: IID.__CABLE1__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CABLE2__,
img: {
isLoaded: 0
},
src: "img/day-ground-wire2.png",
idItem: IID.__CABLE2__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CABLE3__,
img: {
isLoaded: 0
},
src: "img/day-ground-wire3.png",
idItem: IID.__CABLE3__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__SWITCH__,
img: {
isLoaded: 0
},
src: "img/day-ground-switch.png",
idItem: IID.__SWITCH__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GATE_OR__,
img: {
isLoaded: 0
},
src: "img/day-ground-switch-or.png",
idItem: IID.__GATE_OR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GATE_AND__,
img: {
isLoaded: 0
},
src: "img/day-ground-switch-and.png",
idItem: IID.__GATE_AND__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GATE_NOT__,
img: {
isLoaded: 0
},
src: "img/day-ground-switch-reverse.png",
idItem: IID.__GATE_NOT__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__LAMP__,
img: {
isLoaded: 0
},
src: "img/day-ground-lamp-white.png",
idItem: IID.__LAMP__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CABLE_WALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-cable-wall.png",
idItem: IID.__CABLE_WALL__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__AUTOMATIC_DOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-automatic-door.png",
idItem: IID.__AUTOMATIC_DOOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__PLATFORM__,
img: {
isLoaded: 0
},
src: "img/day-ground-platform.png",
idItem: IID.__PLATFORM__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__STONE_CAVE__,
img: {
isLoaded: 0
},
src: "img/day-ground-stone-cave.png",
idItem: IID.__STONE_CAVE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__BUNKER_WALL__,
img: {
isLoaded: 0
},
src: "img/day-ground-bunker-wall.png",
idItem: IID.__BUNKER_WALL__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GOLD_FLOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-mustard-floor.png",
idItem: IID.__GOLD_FLOOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__RED_FLOOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-red-floor.png",
idItem: IID.__RED_FLOOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__WELDING_MACHINE__,
img: {
isLoaded: 0
},
src: "img/day-ground-welding-machine.png",
idItem: IID.__WELDING_MACHINE__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__CABLE4__,
img: {
isLoaded: 0
},
src: "img/day-ground-wire4.png",
idItem: IID.__CABLE4__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GATE_TIMER__,
img: {
isLoaded: 0
},
src: "img/day-ground-timer.png",
idItem: IID.__GATE_TIMER__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__GATE_XOR__,
img: {
isLoaded: 0
},
src: "img/day-ground-xor.png",
idItem: IID.__GATE_XOR__,
amount: 1,
scale: 0.8,
angle: 0
}, {
id: LOOTID.__FEEDER__,
img: {
isLoaded: 0
},
src: "img/day-ground-feeder.png",
idItem: LOOTID.__FEEDER__,
amount: 1,
scale: 0.8,
angle: 0
}];
var COUNTER = 0;
var RESID = {
WOOD: COUNTER++,
STONE: COUNTER++,
STEEL: COUNTER++,
URANIUM: COUNTER++,
SULFUR: COUNTER++,
LEAFTREE: COUNTER++,
ORANGETREE: COUNTER++,
TOMATOTREE: COUNTER++,
BOAR: COUNTER++,
DEER: COUNTER++,
MUSHROOM1: COUNTER++,
MUSHROOM2: COUNTER++,
MUSHROOM3: COUNTER++,
WHITE_FLOWER: COUNTER++
};
var __TOP = 8;
var __DOWN = 9;
var __MID = 10;
var __STOP = 11;
var RESOURCES = [];
RESOURCES[RESID.WOOD] = {
loot: [LOOTID.__BIG_WOOD__, LOOTID.__MEDIUM_WOOD__, LOOTID.__SMALL_WOOD__],
rare: [0.2, 0.4, 1],
tool: [-1, IID.__HACHET__, IID.__STONE_AXE__, IID.__SULFUR_AXE__],
effect: [1, 2, 4, 5],
areaEffect: 0,
type: [{
life: 200,
img: {
img: {
isLoaded: 0
},
src: "img/day-wood1.png"
},
particlesDist: 100,
particle: 5,
units: 0,
unitsMax: 80,
collision: 1,
z: __TOP,
radius: 80
}, {
life: 150,
img: {
img: {
isLoaded: 0
},
src: "img/day-wood0.png"
},
particlesDist: 75,
particle: 5,
units: 0,
unitsMax: 80,
collision: 1,
z: __TOP,
radius: 55
}, {
life: 120,
img: {
img: {
isLoaded: 0
},
src: "img/day-wood2.png"
},
particlesDist: 70,
particle: 5,
units: 0,
unitsMax: 80,
collision: 1,
z: __TOP,
radius: 48
}, {
life: 100,
img: {
img: {
isLoaded: 0
},
src: "img/day-wood3.png"
},
particlesDist: 60,
particle: 5,
units: 0,
unitsMax: 80,
collision: 1,
z: __TOP,
radius: 37
}, {
life: 75,
img: {
img: {
isLoaded: 0
},
src: "img/day-wood4.png"
},
particlesDist: 50,
particle: 5,
units: 0,
unitsMax: 80,
collision: 1,
z: __TOP,
radius: 30
}],
particles: PARTICLESID.__WOOD__,
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
score: 5
};
RESOURCES[RESID.LEAFTREE] = {
loot: [LOOTID.acorn, LOOTID.__BIG_WOOD__, LOOTID.__MEDIUM_WOOD__, LOOTID.__SMALL_WOOD__],
rare: [0.015, 0.2, 0.4, 1],
tool: [-1, IID.__HACHET__, IID.__STONE_AXE__, IID.__SULFUR_AXE__],
effect: [1, 2, 4, 5],
areaEffect: 0,
type: [{
life: 250,
img: {
img: {
isLoaded: 0
},
src: "img/day-tree0.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-treeleaf0.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tree-and-leaf0.png"
},
particlesDist: 145,
particle: 5,
units: 0,
unitsMax: 800,
collision: 1,
z: __STOP,
radius: 70
}, {
life: 250,
img: {
img: {
isLoaded: 0
},
src: "img/day-tree1.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-treeleaf1.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tree-and-leaf1.png"
},
particlesDist: 128,
particle: 5,
units: 0,
unitsMax: 800,
collision: 1,
z: __STOP,
radius: 52
}, {
life: 150,
img: {
img: {
isLoaded: 0
},
src: "img/day-tree2.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-treeleaf2.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tree-and-leaf2.png"
},
particlesDist: 114,
particle: 5,
units: 0,
unitsMax: 800,
collision: 1,
z: __STOP,
radius: 42
}, {
life: 75,
img: {
img: {
isLoaded: 0
},
src: "img/day-tree3.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-treeleaf3.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tree-and-leaf3.png"
},
particlesDist: 90,
particle: 5,
units: 0,
unitsMax: 800,
collision: 1,
z: __STOP,
radius: 34
}, {
life: 250,
img: {
img: {
isLoaded: 0
},
src: "img/day-tree4.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-treeleaf4.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tree-and-leaf4.png"
},
particlesDist: 147,
particle: 5,
units: 0,
unitsMax: 800,
collision: 1,
z: __STOP,
radius: 54
}],
particles: PARTICLESID.__LEAFTREE__,
impact: SOUNDID.__WOOD_IMPACT__,
destroy: SOUNDID.__WOOD_DESTROY__,
score: 5
};
RESOURCES[RESID.STONE] = {
loot: [LOOTID.__BIG_STONE__, LOOTID.__MEDIUM_STONE__, LOOTID.__SMALL_STONE__],
rare: [0.1, 0.3, 1],
tool: [IID.__HACHET__, IID.__STONE_PICKAXE__, IID.__STEEL_PICKAXE__, IID.__SULFUR_PICKAXE__],
effect: [1, 3, 4, 5],
areaEffect: 0,
type: [{
life: 1000,
img: {
img: {
isLoaded: 0
},
src: "img/day-stone0.png"
},
particlesDist: 80,
particle: 5,
units: 0,
unitsMax: 115,
collision: 1,
z: __MID,
radius: 60
}, {
life: 800,
img: {
img: {
isLoaded: 0
},
src: "img/day-stone2.png"
},
particlesDist: 80,
particle: 5,
units: 0,
unitsMax: 115,
collision: 1,
z: __MID,
radius: 58
}, {
life: 600,
img: {
img: {
isLoaded: 0
},
src: "img/day-stone1.png"
},
particlesDist: 74,
particle: 5,
units: 0,
unitsMax: 115,
collision: 1,
z: __MID,
radius: 54
}, {
life: 400,
img: {
img: {
isLoaded: 0
},
src: "img/day-stone3.png"
},
particlesDist: 65,
particle: 5,
units: 0,
unitsMax: 115,
collision: 1,
z: __DOWN,
radius: 45
}, {
life: 200,
img: {
img: {
isLoaded: 0
},
src: "img/day-stone4.png"
},
particlesDist: 63,
particle: 5,
units: 0,
unitsMax: 115,
collision: 1,
z: __DOWN,
radius: 43
}, {
life: 150,
img: {
img: {
isLoaded: 0
},
src: "img/day-stone5.png"
},
particlesDist: 61,
particle: 5,
units: 0,
unitsMax: 115,
collision: 1,
z: __DOWN,
radius: 41
}],
particles: PARTICLESID.__STONE__,
impact: SOUNDID.__STONE_IMPACT_2__,
destroy: SOUNDID.__STONE_DESTROY__,
score: 15
};
RESOURCES[RESID.STEEL] = {
loot: [LOOTID.__STEEL__, LOOTID.__BIG_STONE__, LOOTID.__MEDIUM_STONE__, LOOTID.__SMALL_STONE__],
rare: [0.4, 0.45, 0.6, 1],
tool: [IID.__STONE_PICKAXE__, IID.__STEEL_PICKAXE__, IID.__SULFUR_PICKAXE__],
effect: [1, 2, 3],
areaEffect: 0,
type: [{
life: 1200,
img: {
img: {
isLoaded: 0
},
src: "img/day-steel0.png"
},
particlesDist: 81,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __MID,
radius: 61
}, {
life: 1000,
img: {
img: {
isLoaded: 0
},
src: "img/day-steel1.png"
},
particlesDist: 81,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __MID,
radius: 61
}, {
life: 300,
img: {
img: {
isLoaded: 0
},
src: "img/day-steel2.png"
},
particlesDist: 62,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __DOWN,
radius: 42
}, {
life: 500,
img: {
img: {
isLoaded: 0
},
src: "img/day-steel3.png"
},
particlesDist: 70,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __MID,
radius: 50
}],
particles: PARTICLESID.__STEEL__,
impact: SOUNDID.__STONE_IMPACT_2__,
destroy: SOUNDID.__STONE_DESTROY__,
score: 40
};
RESOURCES[RESID.SULFUR] = {
loot: [LOOTID.sulfur, LOOTID.__BIG_STONE__, LOOTID.__MEDIUM_STONE__, LOOTID.__SMALL_STONE__],
rare: [0.4, 0.45, 0.6, 1],
tool: [IID.__STEEL_PICKAXE__, IID.__SULFUR_PICKAXE__],
effect: [1, 2],
areaEffect: 0,
type: [{
life: 1000,
img: {
img: {
isLoaded: 0
},
src: "img/day-sulfur0.png"
},
particlesDist: 62,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __MID,
radius: 42
}, {
life: 400,
img: {
img: {
isLoaded: 0
},
src: "img/day-sulfur1.png"
},
particlesDist: 70,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __DOWN,
radius: 50
}, {
life: 400,
img: {
img: {
isLoaded: 0
},
src: "img/day-sulfur2.png"
},
particlesDist: 58,
particle: 5,
units: 0,
unitsMax: 22,
collision: 1,
z: __DOWN,
radius: 38
}],
particles: PARTICLESID.__SULFUR__,
impact: SOUNDID.__STONE_IMPACT_2__,
destroy: SOUNDID.__STONE_DESTROY__,
score: 70
};
RESOURCES[RESID.URANIUM] = {
loot: [LOOTID.uranium, LOOTID.__BIG_STONE__, LOOTID.__MEDIUM_STONE__, LOOTID.__SMALL_STONE__],
rare: [0.3, 0.45, 0.6, 1],
tool: [IID.__SULFUR_PICKAXE__],
effect: [1],
areaEffect: __RADIATION__,
type: [{
life: 6000,
img: {
img: {
isLoaded: 0
},
src: "img/day-uranium0.png"
},
particlesDist: 104,
particle: 5,
units: 0,
unitsMax: 5,
collision: 1,
z: __MID,
radius: 75
}, {
life: 4000,
img: {
img: {
isLoaded: 0
},
src: "img/day-uranium1.png"
},
particlesDist: 75,
particle: 5,
units: 0,
unitsMax: 5,
collision: 1,
z: __MID,
radius: 55
}, {
life: 2000,
img: {
img: {
isLoaded: 0
},
src: "img/day-uranium2.png"
},
particlesDist: 62,
particle: 5,
units: 0,
unitsMax: 5,
collision: 1,
z: __DOWN,
radius: 42
}],
particles: PARTICLESID.__URANIUM__,
impact: SOUNDID.__STONE_IMPACT_2__,
destroy: SOUNDID.__STONE_DESTROY__,
score: 140
};
RESOURCES[RESID.ORANGETREE] = {
loot: [LOOTID.seedorange, LOOTID.__ORANGE__],
rare: [0.05, 1],
tool: [-1],
effect: [1],
areaEffect: 0,
type: [{
life: 80,
img: {
img: {
isLoaded: 0
},
src: "img/day-orange-tree-leaf0.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-orange0.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-orange-tree0.png"
},
particlesDist: 68,
particle: 5,
units: 0,
unitsMax: 20,
collision: 1,
z: __DOWN,
radius: 38
}, {
life: 100,
img: {
img: {
isLoaded: 0
},
src: "img/day-orange-tree-leaf1.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-orange1.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-orange-tree1.png"
},
particlesDist: 70,
particle: 5,
units: 0,
unitsMax: 20,
collision: 1,
z: __DOWN,
radius: 37
}, {
life: 120,
img: {
img: {
isLoaded: 0
},
src: "img/day-orange-tree-leaf2.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-orange2.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-orange-tree2.png"
},
particlesDist: 78,
particle: 5,
units: 0,
unitsMax: 20,
collision: 1,
z: __DOWN,
radius: 45
}],
particles: PARTICLESID.__ORANGE__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 50
};
RESOURCES[RESID.TOMATOTREE] = {
loot: [LOOTID.tomatoseed, LOOTID.tomato],
rare: [0.05, 1],
tool: [-1],
effect: [1],
areaEffect: 0,
type: [{
life: 80,
img: {
img: {
isLoaded: 0
},
src: "img/day-tomato-tree-leaf0.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-tomato0.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tomato-tree0.png"
},
particlesDist: 68,
particle: 5,
units: 0,
unitsMax: 16,
collision: 1,
z: __DOWN,
radius: 38
}, {
life: 100,
img: {
img: {
isLoaded: 0
},
src: "img/day-tomato-tree-leaf1.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-tomato1.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tomato-tree1.png"
},
particlesDist: 70,
particle: 5,
units: 0,
unitsMax: 16,
collision: 1,
z: __DOWN,
radius: 37
}, {
life: 120,
img: {
img: {
isLoaded: 0
},
src: "img/day-tomato-tree-leaf2.png"
},
imgTop: {
img: {
isLoaded: 0
},
src: "img/day-tomato2.png"
},
imgFull: {
img: {
isLoaded: 0
},
src: "img/day-tomato-tree2.png"
},
particlesDist: 78,
particle: 5,
units: 0,
unitsMax: 16,
collision: 1,
z: __DOWN,
radius: 45
}],
particles: PARTICLESID.__TOMATO__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 50
};
RESOURCES[RESID.BOAR] = {
loot: [LOOTID.rawsteak, LOOTID.__ANIMAL_FAT__, LOOTID.__LEATHER_BOAR__],
rare: [0.25, 0.85, 1],
tool: [IID.__HACHET__, IID.__STONE_AXE__, IID.__SULFUR_AXE__],
effect: [1, 3, 4],
areaEffect: 0,
type: [{
life: 250,
img: {
img: {
isLoaded: 0
},
src: "img/day-boar-dead.png"
},
particlesDist: 70,
particle: 5,
units: 0,
unitsMax: 18,
collision: 1,
z: __DOWN,
radius: 47
}],
particles: PARTICLESID.__BLOOD__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 40
};
RESOURCES[RESID.DEER] = {
loot: [LOOTID.rawsteak, LOOTID.__ANIMAL_TENDON__, LOOTID.__LEATHER_BOAR__, LOOTID.__ANIMAL_FAT__],
rare: [0.28, 0.7, 0.85, 1],
tool: [IID.__HACHET__, IID.__STONE_AXE__, IID.__SULFUR_AXE__],
effect: [1, 3, 4],
areaEffect: 0,
type: [{
life: 200,
img: {
img: {
isLoaded: 0
},
src: "img/day-deer-dead.png"
},
particlesDist: 73,
particle: 5,
units: 0,
unitsMax: 18,
collision: 1,
z: __DOWN,
radius: 53
}],
particles: PARTICLESID.__BLOOD__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 40
};
RESOURCES[RESID.MUSHROOM1] = {
loot: [LOOTID.mushroom],
rare: [1],
tool: [-1],
effect: [1],
areaEffect: 0,
type: [{
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom1.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 2,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom2.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 2,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom3.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 2,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom4.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 2,
collision: 0,
z: __DOWN,
radius: 32
}],
particles: PARTICLESID.__MUSHROOM1__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 40
};
RESOURCES[RESID.WHITE_FLOWER] = {
loot: [LOOTID.antidoteflower],
rare: [1],
tool: [-1],
effect: [1],
areaEffect: 0,
type: [{
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-antidote-tree.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 1,
collision: 0,
z: __DOWN,
radius: 32
}],
particles: PARTICLESID.flower,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 1000
};
RESOURCES[RESID.MUSHROOM2] = {
loot: [LOOTID.mushroom2],
rare: [1],
tool: [-1],
effect: [1],
areaEffect: 0,
type: [{
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom5.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom6.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom7.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom8.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}],
particles: PARTICLESID.__MUSHROOM2__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 40
};
RESOURCES[RESID.MUSHROOM3] = {
loot: [LOOTID.mushroom3],
rare: [1],
tool: [-1],
effect: [1],
areaEffect: 0,
type: [{
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom9.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom10.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom11.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}, {
life: 1,
img: {
img: {
isLoaded: 0
},
src: "img/day-mushroom12.png"
},
particlesDist: 18,
particle: 2,
units: 0,
unitsMax: 6,
collision: 0,
z: __DOWN,
radius: 32
}],
particles: PARTICLESID.__MUSHROOM3__,
impact: SOUNDID.__NO_SOUND__,
destroy: SOUNDID.__NO_SOUND__,
score: 40
};
var LIGHTFIREX = [-26, 25, -7, 0];
var LIGHTFIREY = [-28, -15, 25, 0];
var LIGHTFIRE = [{
src: "img/day-campfire-light-1.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-campfire-light-2.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-campfire-light-3.png",
img: {
isLoaded: 0
}
}, {
src: "img/day-campfire-light-down.png",
img: {
isLoaded: 0
}
}, {
src: "img/ghoul-hurt.png",
img: {
isLoaded: 0
}
}, {
src: "img/heal-player.png",
img: {
isLoaded: 0
}
}];
var KARMA = [{
src: "img/karma4.png",
img: {
isLoaded: 0
}
}, {
src: "img/karma3.png",
img: {
isLoaded: 0
}
}, {
src: "img/karma2.png",
img: {
isLoaded: 0
}
}, {
src: "img/karma1.png",
img: {
isLoaded: 0
}
}, {
src: "img/karma0.png",
img: {
isLoaded: 0
}
}, {
src: "img/karma5.png",
img: {
isLoaded: 0
}
}];
var COUNTER = 0;
var HOUSEID = {
__HOUSE0__: COUNTER++,
__HOUSE1__: COUNTER++,
__HOUSE2__: COUNTER++,
__HOUSE3__: COUNTER++,
__HOUSE4__: COUNTER++,
__HOUSE5__: COUNTER++,
__HOUSE6__: COUNTER++,
__HOUSE7__: COUNTER++,
__HOUSE8__: COUNTER++,
__HOUSE9__: COUNTER++,
__CITY0__: COUNTER++,
__BUNKER0__: COUNTER++
};
var HOUSE = [];
var P = {};
try {
if (exports !== window.undefined) {
_EMP = {
v: 0,
b: 0,
V: -1,
r: 0
};
_WF = {
v: IID.__WOOD_FLOOR__,
b: 0,
V: -1,
r: 0
};
_LF = {
v: IID.__WOODLIGHT_FLOOR__,
b: 0,
V: -1,
r: 0
};
_SF = {
v: IID.__STONE_FLOOR__,
b: 0,
V: -1,
r: 0
};
_TF = {
v: IID.__TILING_FLOOR__,
b: 0,
V: -1,
r: 0
};
_GF = {
v: IID.__GOLD_FLOOR__,
b: 0,
V: -1,
r: 0
};
_RF = {
v: IID.__RED_FLOOR__,
b: 0,
V: -1,
r: 0
};
_WW = {
v: 0,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_WWWF = {
v: IID.__WOOD_FLOOR__,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_WWLF = {
v: IID.__WOODLIGHT_FLOOR__,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_WWSF = {
v: IID.__STONE_FLOOR__,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_WWTF = {
v: IID.__TILING_FLOOR__,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_WWGF = {
v: IID.__GOLD_FLOOR__,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_WWRF = {
v: IID.__RED_FLOOR__,
b: IID.__WOOD_WALL__,
V: -1,
r: 0
};
_SW = {
v: 0,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_SWWF = {
v: IID.__WOOD_FLOOR__,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_SWLF = {
v: IID.__WOODLIGHT_FLOOR__,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_SWSF = {
v: IID.__STONE_FLOOR__,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_SWTF = {
v: IID.__TILING_FLOOR__,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_SWGF = {
v: IID.__GOLD_FLOOR__,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_SWRF = {
v: IID.__RED_FLOOR__,
b: IID.__STONE_WALL__,
V: -1,
r: 0
};
_MW = {
v: 0,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_MWWF = {
v: IID.__WOOD_FLOOR__,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_MWLF = {
v: IID.__WOODLIGHT_FLOOR__,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_MWSF = {
v: IID.__STONE_FLOOR__,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_MWTF = {
v: IID.__TILING_FLOOR__,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_MWGF = {
v: IID.__GOLD_FLOOR__,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_MWRF = {
v: IID.__RED_FLOOR__,
b: IID.__STEEL_WALL__,
V: -1,
r: 0
};
_SC = {
v: 0,
b: IID.__STONE_CAVE__,
V: -1,
r: 0
};
_SCSF = {
v: IID.__STONE_FLOOR__,
b: IID.__STONE_CAVE__,
V: -1,
r: 0
};
_SCTF = {
v: IID.__TILING_FLOOR__,
b: IID.__STONE_CAVE__,
V: -1,
r: 0
};
_BW = {
v: 0,
b: IID.__BUNKER_WALL__,
V: -1,
r: 0
};
_BWSF = {
v: IID.__STONE_FLOOR__,
b: IID.__BUNKER_WALL__,
V: -1,
r: 0
};
_BWTF = {
v: IID.__TILING_FLOOR__,
b: IID.__BUNKER_WALL__,
V: -1,
r: 0
};
HOUSE[HOUSEID.__HOUSE0__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _WWWF, _WWWF, _WWWF, {
v: 62,
b: 30,
V: -1,
r: 2
}, {
v: 62,
b: 30,
V: -1,
r: 2
}, _WWWF, _WWWF],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 0,
r: 3
}, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 13,
r: 1
}, _WWWF],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 22,
r: 3
}, _WF, _WF, _WF, _WF, {
v: 62,
b: 30,
V: -1,
r: 3
}],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 9,
r: 3
}, {
v: 62,
b: 71,
V: 10,
r: 1
}, _WF, _WF, _WF, {
v: 62,
b: 30,
V: -1,
r: 3
}],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 17,
r: 0
}, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 19,
r: 2
}, _WWWF],
[_EMP, _WWWF, _WWWF, _WWWF, _WWWF, _WWWF, _WWWF, _WWWF]
]
};
HOUSE[HOUSEID.__HOUSE1__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _SWLF, _SWLF, {
v: 67,
b: 69,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF],
[_EMP, {
v: 62,
b: 69,
V: -1,
r: 1
}, _WF, {
v: 62,
b: 71,
V: 23,
r: 0
}, _SWLF, {
v: 67,
b: 71,
V: 28,
r: 3
}, _LF, _LF, {
v: 67,
b: 71,
V: 21,
r: 1
}, _SWLF],
[_EMP, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _SWLF, {
v: 67,
b: 71,
V: 12,
r: 0
}, _LF, {
v: 67,
b: 69,
V: -1,
r: 2
}, {
v: 67,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, {
v: 62,
b: 69,
V: -1,
r: 1
}, _WF, _WF, {
v: 62,
b: 69,
V: -1,
r: 3
}, _LF, _LF, _LF, {
v: 67,
b: 71,
V: 15,
r: 1
}, _SWLF],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 2
}, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 0
}, _SWLF, _LF, {
v: 67,
b: 71,
V: 23,
r: 1
}, _LF, {
v: 67,
b: 71,
V: 5,
r: 1
}, _SWLF],
[_EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _SWWF, _WF, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 31,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, _SWWF],
[_EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, _SWWF, {
v: 62,
b: 71,
V: 23,
r: 2
}, _WF, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 14,
r: 1
}, _SWWF],
[_EMP, _EMP, _SWWF, {
v: 67,
b: 71,
V: 27,
r: 0
}, _LF, _LF, {
v: 62,
b: 71,
V: 8,
r: 3
}, _WF, {
v: 62,
b: 71,
V: 1,
r: 1
}, _SWWF],
[_EMP, _EMP, _SWWF, {
v: 67,
b: 71,
V: 27,
r: 0
}, _LF, {
v: 67,
b: 71,
V: 7,
r: 0
}, {
v: 62,
b: 71,
V: 23,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 2,
r: 1
}, _SWWF],
[_EMP, _EMP, _SWWF, {
v: 67,
b: 71,
V: 20,
r: 0
}, _LF, _LF, _WF, _WF, _WF, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, {
v: 0,
b: 71,
V: 16,
r: 1
}, _SWWF, _SWWF, {
v: 67,
b: 69,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 0
}, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 0
}, _SWWF, _SWWF],
[_EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 16,
r: 2
}, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, {
v: 0,
b: 71,
V: 17,
r: 0
}]
]
};
HOUSE[HOUSEID.__HOUSE2__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _EMP, _EMP, _SWWF, _SWWF, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _SWWF, _SWWF, _SWLF, _SWLF, _SWLF, {
v: 62,
b: 31,
V: -1,
r: 2
}, {
v: 62,
b: 31,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, _EMP, _EMP, _SWWF, {
v: 67,
b: 71,
V: 27,
r: 0
}, _LF, _LF, {
v: 67,
b: 71,
V: 23,
r: 3
}, _SWWF, {
v: 67,
b: 71,
V: 5,
r: 0
}, {
v: 67,
b: 71,
V: 13,
r: 1
}, _SWLF, _WF, _WF, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _SWWF, {
v: 67,
b: 71,
V: 20,
r: 0
}, _LF, {
v: 67,
b: 71,
V: 7,
r: 3
}, {
v: 67,
b: 71,
V: 16,
r: 2
}, _SWWF, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 3
}, _WF, {
v: 62,
b: 71,
V: 23,
r: 1
}, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, _WF, {
v: 62,
b: 71,
V: 2,
r: 1
}, _SWWF, {
v: 67,
b: 71,
V: 11,
r: 3
}, _LF, _LF, _LF, _SWWF, _LF, {
v: 67,
b: 71,
V: 12,
r: 2
}, _SWLF, _SWLF, _SWLF, _SW],
[_EMP, _WF, _WF, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _WF, _WF, {
v: 62,
b: 31,
V: -1,
r: 3
}, _LF, _LF, _SWLF, {
v: 67,
b: 71,
V: 25,
r: 2
}, {
v: 67,
b: 71,
V: 3,
r: 1
}, _SWLF],
[_EMP, _WF, _WF, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _WF, _WF, _SWWF, _LF, _LF, {
v: 67,
b: 51,
V: -1,
r: 1
}, _LF, {
v: 67,
b: 71,
V: 18,
r: 2
}, _SWLF],
[_EMP, _WF, _WF, _SW, {
v: 62,
b: 71,
V: 3,
r: 3
}, _WF, _WF, {
v: 62,
b: 71,
V: 16,
r: 2
}, _SWWF, _SWLF, _SWLF, _SWLF, _SWLF, _SWLF, _SWLF],
[_EMP, _WF, {
v: 62,
b: 71,
V: 26,
r: 0
}, _SWWF, {
v: 0,
b: 71,
V: 4,
r: 3
}, {
v: 62,
b: 71,
V: 22,
r: 1
}, _WF, {
v: 62,
b: 71,
V: 8,
r: 1
}, _SWWF, {
v: 0,
b: 71,
V: 24,
r: 1
}, _EMP, {
v: 0,
b: 71,
V: 17,
r: 0
}],
[_EMP, _WF, {
v: 62,
b: 71,
V: 23,
r: 0
}, _SWWF, {
v: 62,
b: 71,
V: 23,
r: 1
}, _WF, _WF, {
v: 62,
b: 71,
V: 14,
r: 1
}, _SWWF, {
v: 0,
b: 71,
V: 26,
r: 1
}],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, _SWWF, _SWWF, {
v: 62,
b: 69,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 0
}, _SWWF, _SWWF, {
v: 0,
b: 71,
V: 24,
r: 1
}]
]
};
HOUSE[HOUSEID.__HOUSE3__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 31,
V: -1,
r: 2
}, {
v: 0,
b: 31,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF, _SWLF],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 71,
V: 23,
r: 2
}, _EMP, _EMP, _EMP, _EMP, _EMP, _SWLF, {
v: 67,
b: 71,
V: 21,
r: 0
}, {
v: 67,
b: 71,
V: 28,
r: 0
}, _SWLF],
[_EMP, _SWWF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 2
}, {
v: 62,
b: 31,
V: -1,
r: 2
}, _SWWF, _SWWF, _EMP, _SWLF, _LF, _LF, _SWLF],
[_EMP, _SWWF, {
v: 62,
b: 71,
V: 12,
r: 0
}, _WF, _WF, _WF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 2
}, _SWLF, {
v: 67,
b: 31,
V: -1,
r: 0
}, _SWLF, _SWLF],
[_EMP, _SWWF, _WF, {
v: 62,
b: 71,
V: 2,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 14,
r: 1
}, _SWWF, _WF, _WF, _WF, _WF, _SWWF],
[_EMP, _SWWF, {
v: 62,
b: 71,
V: 0,
r: 3
}, {
v: 62,
b: 71,
V: 7,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 8,
r: 1
}, _SWWF, _WF, {
v: 62,
b: 71,
V: 14,
r: 2
}, {
v: 62,
b: 71,
V: 5,
r: 2
}, _WF, _SWWF],
[_EMP, _SWWF, _WF, {
v: 62,
b: 71,
V: 1,
r: 2
}, _WF, _WF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 2
}, _SWWF, _SWWF, _SWWF, _SWWF, _SWLF],
[_EMP, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _WF, _WF, _WF, _WF, _WF, {
v: 62,
b: 31,
V: -1,
r: 3
}, _LF, _LF, _SWLF],
[_EMP, _SWWF, _WF, _WF, _WF, _WF, _WF, _WF, _WF, _SWLF, {
v: 67,
b: 71,
V: 25,
r: 3
}, {
v: 67,
b: 71,
V: 18,
r: 3
}, _SWLF],
[_EMP, _SWWF, _SWWF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 2
}, _SWWF, _SWWF, _SWWF, {
v: 67,
b: 31,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF, _SWLF],
[_EMP, _SWWF, {
v: 62,
b: 71,
V: 20,
r: 1
}, {
v: 62,
b: 71,
V: 11,
r: 0
}, _WF, _WF, _SWWF, {
v: 67,
b: 71,
V: 24,
r: 0
}, _LF, _LF, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 3
}],
[_EMP, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _WF, _WF, _SWWF, {
v: 67,
b: 71,
V: 23,
r: 0
}, _LF, _LF, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 3
}],
[_EMP, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _WF, _WF, _SWWF, _SWWF, _SWWF, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}],
[_EMP, _SWWF, {
v: 62,
b: 71,
V: 14,
r: 2
}, {
v: 62,
b: 71,
V: 13,
r: 3
}, {
v: 62,
b: 71,
V: 12,
r: 3
}, _WF, {
v: 67,
b: 31,
V: -1,
r: 1
}, {
v: 67,
b: 71,
V: 12,
r: 2
}, _SWWF],
[_EMP, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWLF, _SWWF, _SWWF]
]
};
HOUSE[HOUSEID.__HOUSE4__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _SWLF, _SWLF, _SWLF, _SWLF, {
v: 67,
b: 31,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _SW],
[_EMP, _SWLF, {
v: 67,
b: 71,
V: 12,
r: 0
}, _LF, {
v: 67,
b: 71,
V: 5,
r: 0
}, _LF, {
v: 67,
b: 71,
V: 11,
r: 1
}, _SWLF, {
v: 67,
b: 71,
V: 13,
r: 0
}, _LF, _LF, _SWLF],
[_EMP, _SWLF, {
v: 67,
b: 71,
V: 13,
r: 0
}, _LF, _LF, _LF, {
v: 67,
b: 71,
V: 19,
r: 2
}, _SWLF, _LF, _LF, {
v: 67,
b: 71,
V: 21,
r: 1
}, _SWLF],
[_EMP, _SWLF, {
v: 67,
b: 71,
V: 9,
r: 3
}, _LF, {
v: 67,
b: 71,
V: 7,
r: 1
}, _LF, {
v: 67,
b: 71,
V: 26,
r: 3
}, _SWLF, _LF, _LF, {
v: 67,
b: 71,
V: 28,
r: 1
}, _SWLF],
[_EMP, _SWLF, {
v: 67,
b: 71,
V: 13,
r: 0
}, _LF, _LF, _LF, _LF, _SWLF, _LF, _SWLF, _SWLF, _SWLF],
[_EMP, _SWLF, {
v: 67,
b: 71,
V: 9,
r: 3
}, {
v: 67,
b: 71,
V: 10,
r: 1
}, {
v: 67,
b: 71,
V: 12,
r: 3
}, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 1
}, _LF, _LF, {
v: 67,
b: 71,
V: 27,
r: 2
}, _SWLF],
[_EMP, _SWLF, _SWLF, _SWLF, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, _SWLF, _SWLF, {
v: 67,
b: 31,
V: -1,
r: 0
}, _SWLF, _SWLF, _SWLF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 17,
r: 3
}, {
v: 0,
b: 71,
V: 26,
r: 3
}]
]
};
HOUSE[HOUSEID.__HOUSE5__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF],
[_EMP, _SWWF, {
v: 62,
b: 71,
V: 23,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 9,
r: 0
}, {
v: 62,
b: 71,
V: 9,
r: 0
}, {
v: 62,
b: 71,
V: 9,
r: 0
}, {
v: 62,
b: 71,
V: 9,
r: 0
}, _WF, _SWWF, {
v: 62,
b: 71,
V: 23,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 1,
r: 0
}, {
v: 62,
b: 71,
V: 2,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 23,
r: 1
}, _SWWF, {
v: 0,
b: 71,
V: 17,
r: 1
}],
[_EMP, _SWWF, _LF, _LF, {
v: 62,
b: 71,
V: 10,
r: 2
}, {
v: 62,
b: 71,
V: 10,
r: 2
}, {
v: 62,
b: 71,
V: 10,
r: 2
}, {
v: 62,
b: 71,
V: 10,
r: 2
}, _WF, _SWWF, {
v: 62,
b: 71,
V: 39,
r: 0
}, _WF, _WF, _WF, _WF, _WF, _SWWF],
[_EMP, _SWWF, {
v: 67,
b: 71,
V: 39,
r: 3
}, _LF, _LF, _LF, _LF, _LF, _LF, {
v: 62,
b: 150,
V: -1,
r: 3
}, _LF, _LF, _LF, _LF, _LF, _LF, {
v: 67,
b: 51,
V: -1,
r: 1
}],
[_EMP, _SWWF, {
v: 85,
b: 69,
V: -1,
r: 2
}, {
v: 85,
b: 31,
V: -1,
r: 2
}, {
v: 67,
b: 69,
V: -1,
r: 1
}, _LF, _LF, _LF, _LF, {
v: 62,
b: 150,
V: -1,
r: 3
}, _LF, _LF, _LF, _LF, _LF, _LF, {
v: 67,
b: 51,
V: -1,
r: 3
}],
[_EMP, _SWWF, {
v: 85,
b: 71,
V: 28,
r: 3
}, _TF, {
v: 62,
b: 69,
V: -1,
r: 1
}, {
v: 62,
b: 71,
V: 10,
r: 0
}, {
v: 62,
b: 71,
V: 10,
r: 0
}, {
v: 62,
b: 71,
V: 10,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 3
}, {
v: 62,
b: 149,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 31,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 71,
V: 40,
r: 1
}, {
v: 62,
b: 71,
V: 7,
r: 0
}, {
v: 62,
b: 71,
V: 7,
r: 1
}, _SWWF],
[_EMP, _SWWF, {
v: 85,
b: 71,
V: 21,
r: 3
}, _TF, {
v: 62,
b: 69,
V: -1,
r: 1
}, {
v: 62,
b: 71,
V: 9,
r: 2
}, {
v: 62,
b: 71,
V: 9,
r: 2
}, {
v: 62,
b: 71,
V: 9,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 3
}, {
v: 62,
b: 142,
V: -1,
r: 3
}, {
v: 62,
b: 140,
V: -1,
r: 3
}, {
v: 62,
b: 140,
V: -1,
r: 1
}, {
v: 62,
b: 140,
V: -1,
r: 1
}, {
v: 62,
b: 144,
V: -1,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 8,
r: 1
}, _SWWF],
[_EMP, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWTF, {
v: 0,
b: 71,
V: 41,
r: 2
}, _SWTF, _SWTF, _SWTF, _SWWF, _SWWF, _SWWF],
[_EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 3
}, {
v: 0,
b: 71,
V: 16,
r: 3
}, _EMP, _EMP, _EMP, _SWTF, _TF, _TF, {
v: 85,
b: 71,
V: 18,
r: 2
}, _SWTF, {
v: 0,
b: 71,
V: 16,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _SWTF, {
v: 85,
b: 71,
V: 25,
r: 1
}, _TF, {
v: 85,
b: 71,
V: 19,
r: 2
}, _SWTF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _SWTF, _SWTF, _SWTF, _SWTF, _SWTF]
]
};
HOUSE[HOUSEID.__HOUSE6__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _WWWF, _WWWF, _WWWF, {
v: 67,
b: 50,
V: -1,
r: 2
}, _WWWF, _WWWF, _WWWF],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 9,
r: 0
}, {
v: 62,
b: 71,
V: 8,
r: 0
}, _LF, {
v: 62,
b: 71,
V: 13,
r: 1
}, {
v: 62,
b: 71,
V: 6,
r: 0
}, _WWWF],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 10,
r: 2
}, _WF, _LF, _WF, _WF, _WWWF],
[_EMP, {
v: 67,
b: 50,
V: -1,
r: 1
}, _LF, _LF, {
v: 67,
b: 148,
V: -1,
r: 0
}, {
v: 67,
b: 144,
V: -1,
r: 0
}, _LF, {
v: 67,
b: 50,
V: -1,
r: 3
}],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 28,
r: 3
}, _WF, _LF, _WF, {
v: 62,
b: 71,
V: 19,
r: 2
}, _WWWF],
[_EMP, _WWWF, {
v: 62,
b: 71,
V: 21,
r: 3
}, _WF, _LF, _WF, {
v: 62,
b: 71,
V: 26,
r: 2
}, _WWWF],
[_EMP, _WWWF, _WWWF, _WWWF, {
v: 67,
b: 50,
V: -1,
r: 0
}, _WWWF, _WWWF, _WWWF]
]
};
HOUSE[HOUSEID.__HOUSE7__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _SW, _SW, _SW, _SW, _SW, _SW, _SW, _SW],
[_EMP, _SW, {
v: 62,
b: 148,
V: -1,
r: 1
}, _WF, {
v: 62,
b: 71,
V: 16,
r: 1
}, {
v: 62,
b: 71,
V: 39,
r: 1
}, _WF, {
v: 62,
b: 148,
V: -1,
r: 1
}, _SW],
[_EMP, _SW, {
v: 62,
b: 140,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 0
}, {
v: 62,
b: 31,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 0
}, {
v: 62,
b: 140,
V: -1,
r: 0
}, _SW],
[_EMP, _SW, {
v: 62,
b: 140,
V: -1,
r: 0
}, {
v: 84,
b: 69,
V: -1,
r: 1
}, _SF, _SF, {
v: 84,
b: 69,
V: -1,
r: 3
}, {
v: 62,
b: 140,
V: -1,
r: 0
}, _SW],
[_EMP, _SW, {
v: 62,
b: 140,
V: -1,
r: 0
}, {
v: 84,
b: 69,
V: -1,
r: 1
}, _SF, _SF, {
v: 84,
b: 69,
V: -1,
r: 3
}, {
v: 62,
b: 140,
V: -1,
r: 0
}, _SW],
[_EMP, _SW, {
v: 62,
b: 140,
V: -1,
r: 0
}, {
v: 84,
b: 69,
V: -1,
r: 1
}, _SF, _SF, {
v: 84,
b: 69,
V: -1,
r: 3
}, {
v: 62,
b: 140,
V: -1,
r: 0
}, _SW],
[_EMP, _SW, {
v: 62,
b: 140,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 31,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 140,
V: -1,
r: 0
}, _SW],
[_EMP, _SW, {
v: 62,
b: 148,
V: -1,
r: 1
}, {
v: 62,
b: 144,
V: -1,
r: 0
}, _WF, _WF, {
v: 62,
b: 144,
V: -1,
r: 0
}, {
v: 62,
b: 148,
V: -1,
r: 1
}, _SW],
[_EMP, _SW, _SW, _SW, {
v: 84,
b: 31,
V: -1,
r: 2
}, {
v: 84,
b: 31,
V: -1,
r: 2
}, _SW, _SW, _SW, {
v: 0,
b: 71,
V: 17,
r: 1
}],
[_EMP, _SW, {
v: 84,
b: 71,
V: 8,
r: 0
}, {
v: 84,
b: 71,
V: 8,
r: 0
}, _SF, _SF, {
v: 84,
b: 71,
V: 8,
r: 0
}, {
v: 84,
b: 71,
V: 8,
r: 0
}, _SW, {
v: 0,
b: 71,
V: 26,
r: 1
}],
[_EMP, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 31,
V: -1,
r: 2
}, {
v: 0,
b: 31,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}]
]
};
HOUSE[HOUSEID.__HOUSE8__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _LF, {
v: 67,
b: 148,
V: -1,
r: 0
}, _LF, _LF, _LF, {
v: 67,
b: 151,
V: -1,
r: 3
}, {
v: 67,
b: 148,
V: -1,
r: 3
}, _EMP, _EMP, {
v: 0,
b: 71,
V: 16,
r: 0
}, {
v: 0,
b: 71,
V: 26,
r: 3
}, {
v: 0,
b: 71,
V: 26,
r: 3
}],
[_EMP, _MWLF, {
v: 67,
b: 149,
V: -1,
r: 0
}, _MWLF, {
v: 67,
b: 150,
V: -1,
r: 0
}, {
v: 67,
b: 150,
V: -1,
r: 0
}, _MWLF, {
v: 67,
b: 149,
V: -1,
r: 0
}, _MWWF, _MWWF, _MW, _MW, _MW, _MW],
[_EMP, _MW, {
v: 62,
b: 148,
V: -1,
r: 0
}, {
v: 62,
b: 151,
V: -1,
r: 3
}, {
v: 62,
b: 143,
V: -1,
r: 2
}, {
v: 62,
b: 143,
V: -1,
r: 2
}, {
v: 62,
b: 140,
V: -1,
r: 3
}, {
v: 62,
b: 148,
V: -1,
r: 0
}, {
v: 62,
b: 71,
V: 23,
r: 0
}, _MWWF, {
v: 84,
b: 71,
V: 23,
r: 0
}, {
v: 84,
b: 71,
V: 28,
r: 0
}, {
v: 84,
b: 71,
V: 28,
r: 0
}, _MW, {
v: 0,
b: 71,
V: 16,
r: 3
}],
[_EMP, _MW, _WF, _LF, _LF, _LF, _LF, {
v: 62,
b: 142,
V: -1,
r: 3
}, {
v: 62,
b: 146,
V: -1,
r: 3
}, {
v: 62,
b: 32,
V: -1,
r: 3
}, _SF, _SF, _SF, _MW],
[_EMP, _MW, {
v: 62,
b: 71,
V: 4,
r: 3
}, _LF, {
v: 67,
b: 71,
V: 7,
r: 3
}, {
v: 67,
b: 71,
V: 7,
r: 3
}, _LF, {
v: 62,
b: 71,
V: 3,
r: 1
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, _MW, _MW, _TF, _TF, _MW],
[_EMP, _MW, {
v: 62,
b: 71,
V: 3,
r: 3
}, _LF, {
v: 67,
b: 71,
V: 7,
r: 3
}, {
v: 67,
b: 71,
V: 7,
r: 3
}, _LF, {
v: 62,
b: 71,
V: 4,
r: 1
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, {
v: 85,
b: 71,
V: 21,
r: 3
}, {
v: 85,
b: 32,
V: -1,
r: 3
}, _TF, _TF, _MW],
[_EMP, _MW, _WF, _LF, _LF, _LF, _LF, _WF, {
v: 0,
b: 149,
V: -1,
r: 0
}, _MW, _MW, _MW, _MW, _MW],
[_EMP, _MW, {
v: 62,
b: 71,
V: 23,
r: 3
}, _WF, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 23,
r: 3
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, _MW],
[_EMP, _MWLF, _MWLF, _MWLF, {
v: 67,
b: 52,
V: -1,
r: 0
}, {
v: 67,
b: 52,
V: -1,
r: 2
}, _MWLF, _MWLF, {
v: 0,
b: 149,
V: -1,
r: 0
}, _MWLF],
[_EMP, _MWLF, {
v: 67,
b: 71,
V: 27,
r: 1
}, _LF, _LF, _LF, _LF, {
v: 67,
b: 71,
V: 16,
r: 1
}, {
v: 67,
b: 144,
V: -1,
r: 3
}, _MWLF],
[_EMP, {
v: 67,
b: 70,
V: -1,
r: 1
}, _LF, _WF, _WF, _WF, _LF, {
v: 67,
b: 71,
V: 13,
r: 0
}, _LF, _MWLF],
[_EMP, {
v: 67,
b: 70,
V: -1,
r: 1
}, _LF, {
v: 62,
b: 71,
V: 4,
r: 3
}, _WF, _WF, _LF, {
v: 67,
b: 71,
V: 9,
r: 3
}, {
v: 67,
b: 71,
V: 10,
r: 1
}, _MWLF, {
v: 0,
b: 71,
V: 17,
r: 3
}],
[_EMP, _MWLF, {
v: 67,
b: 71,
V: 27,
r: 0
}, _WF, _WF, {
v: 62,
b: 71,
V: 3,
r: 2
}, _LF, _LF, _LF, _MWLF, {
v: 0,
b: 71,
V: 24,
r: 2
}],
[_EMP, _MWLF, {
v: 67,
b: 71,
V: 18,
r: 0
}, _LF, _LF, _LF, _LF, {
v: 67,
b: 71,
V: 23,
r: 0
}, {
v: 67,
b: 71,
V: 12,
r: 3
}, _MWLF],
[_EMP, _MWLF, _MWLF, _MWLF, {
v: 67,
b: 70,
V: -1,
r: 0
}, {
v: 67,
b: 70,
V: -1,
r: 0
}, _MWLF, _MWLF, _MWLF, _MWLF]
]
};
HOUSE[HOUSEID.__HOUSE9__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 151,
V: -1,
r: 0
}, {
v: 0,
b: 148,
V: -1,
r: 0
}, _EMP, {
v: 0,
b: 148,
V: -1,
r: 0
}, {
v: 0,
b: 151,
V: -1,
r: 0
}],
[_EMP, _WW, _WW, {
v: 0,
b: 30,
V: -1,
r: 2
}, {
v: 0,
b: 30,
V: -1,
r: 2
}, _MWTF, _MWTF, {
v: 67,
b: 149,
V: -1,
r: 2
}, {
v: 67,
b: 150,
V: -1,
r: 0
}, {
v: 67,
b: 149,
V: -1,
r: 0
}, _MWTF],
[_EMP, _WW, {
v: 0,
b: 71,
V: 23,
r: 3
}, _EMP, _EMP, _MWTF, {
v: 67,
b: 71,
V: 9,
r: 0
}, {
v: 67,
b: 143,
V: -1,
r: 3
}, {
v: 67,
b: 146,
V: -1,
r: 0
}, {
v: 67,
b: 143,
V: -1,
r: 1
}, _MWTF, {
v: 0,
b: 71,
V: 17,
r: 2
}],
[_EMP, _WW, {
v: 0,
b: 71,
V: 26,
r: 3
}, {
v: 0,
b: 71,
V: 16,
r: 3
}, {
v: 0,
b: 71,
V: 17,
r: 3
}, _MWTF, {
v: 67,
b: 71,
V: 10,
r: 2
}, {
v: 67,
b: 151,
V: -1,
r: 1
}, _LF, {
v: 67,
b: 151,
V: -1,
r: 1
}, _MWTF, _MWTF, _MWTF],
[_EMP, _WW, {
v: 0,
b: 144,
V: -1,
r: 3
}, {
v: 0,
b: 144,
V: -1,
r: 3
}, {
v: 0,
b: 144,
V: -1,
r: 3
}, _MWTF, _LF, _LF, _LF, _LF, {
v: 62,
b: 71,
V: 20,
r: 1
}, {
v: 62,
b: 71,
V: 11,
r: 0
}, {
v: 62,
b: 70,
V: -1,
r: 3
}],
[_EMP, _MWTF, {
v: 85,
b: 149,
V: -1,
r: 0
}, {
v: 85,
b: 149,
V: -1,
r: 0
}, {
v: 85,
b: 149,
V: -1,
r: 0
}, _MWTF, {
v: 62,
b: 32,
V: -1,
r: 2
}, _MWWF, {
v: 67,
b: 71,
V: 8,
r: 0
}, _LF, _WF, _WF, {
v: 62,
b: 70,
V: -1,
r: 3
}],
[_EMP, {
v: 85,
b: 70,
V: -1,
r: 1
}, {
v: 85,
b: 147,
V: -1,
r: 2
}, {
v: 85,
b: 146,
V: -1,
r: 2
}, {
v: 85,
b: 140,
V: -1,
r: 2
}, _MWTF, _WF, {
v: 62,
b: 70,
V: -1,
r: 3
}, _LF, _LF, _WF, _WF, {
v: 62,
b: 70,
V: -1,
r: 3
}],
[_EMP, _MWTF, {
v: 85,
b: 71,
V: 31,
r: 0
}, {
v: 85,
b: 142,
V: -1,
r: 3
}, {
v: 85,
b: 146,
V: -1,
r: 1
}, {
v: 85,
b: 150,
V: -1,
r: 1
}, {
v: 62,
b: 71,
V: 5,
r: 2
}, {
v: 62,
b: 70,
V: -1,
r: 3
}, {
v: 67,
b: 71,
V: 0,
r: 2
}, _LF, {
v: 62,
b: 71,
V: 10,
r: 3
}, {
v: 62,
b: 71,
V: 7,
r: 0
}, {
v: 62,
b: 70,
V: -1,
r: 3
}],
[_EMP, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, {
v: 85,
b: 32,
V: -1,
r: 2
}, _MWTF, _MWTF, _MWTF],
[_EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, {
v: 0,
b: 71,
V: 17,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _MWTF, {
v: 85,
b: 71,
V: 28,
r: 3
}, _TF, _TF, _MWTF, {
v: 0,
b: 71,
V: 24,
r: 0
}, {
v: 0,
b: 71,
V: 26,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWTF, {
v: 85,
b: 71,
V: 21,
r: 3
}, _TF, {
v: 85,
b: 71,
V: 18,
r: 3
}, _MWTF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF]
]
};
HOUSE[HOUSEID.__CITY0__] = {
width: 0,
height: 0,
radiation: __RADIATION__,
building: [
[_EMP],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 111,
V: -1,
r: 3
}, _EMP, _EMP, {
v: 0,
b: 111,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 111,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 111,
V: -1,
r: 3
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 26,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 24,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, {
v: 0,
b: 71,
V: 16,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWTF, {
v: 85,
b: 71,
V: 37,
r: 1
}, {
v: 85,
b: 71,
V: 28,
r: 0
}, _TF, {
v: 85,
b: 71,
V: 31,
r: 1
}, {
v: 85,
b: 71,
V: 32,
r: 1
}, _MWTF, {
v: 85,
b: 71,
V: 37,
r: 1
}, _TF, _TF, _MWTF, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _MWLF, _WF, {
v: 62,
b: 70,
V: -1,
r: 3
}, _LF, _LF, {
v: 62,
b: 71,
V: 13,
r: 2
}, _MWLF, _MWSF, _MWSF, _MWSF, _MWSF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWTF, _TF, _TF, _TF, _TF, _TF, _MWTF, _TF, _TF, {
v: 85,
b: 71,
V: 36,
r: 1
}, _MWTF, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 71,
V: 23,
r: 0
}, _MWLF, _WF, {
v: 62,
b: 71,
V: 40,
r: 2
}, _LF, _LF, {
v: 62,
b: 71,
V: 12,
r: 2
}, _MWLF, {
v: 84,
b: 71,
V: 26,
r: 3
}, {
v: 84,
b: 71,
V: 17,
r: 3
}, _SF, _MWSF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 16,
r: 0
}, _MWSF, _MWSF, {
v: 84,
b: 52,
V: -1,
r: 0
}, _MWSF, _MWSF, _MWTF, _MWTF, _MWSF, {
v: 85,
b: 71,
V: 41,
r: 0
}, _MWSF, {
v: 85,
b: 71,
V: 41,
r: 0
}, _MWTF, _MW, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _MWTF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 151,
V: -1,
r: 1
}, {
v: 67,
b: 150,
V: -1,
r: 1
}, _LF, _LF, _LF, _LF, _WF, _MWLF, _SF, _SF, {
v: 84,
b: 71,
V: 18,
r: 2
}, _MWSF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWSF, _SF, _SF, _SF, _SF, {
v: 84,
b: 71,
V: 35,
r: 2
}, {
v: 84,
b: 71,
V: 35,
r: 2
}, _SF, _SF, _SF, _SF, {
v: 84,
b: 71,
V: 35,
r: 2
}, {
v: 84,
b: 71,
V: 35,
r: 2
}, _SF, _SF, _SF, _SF, {
v: 84,
b: 71,
V: 33,
r: 2
}, _MWTF, {
v: 0,
b: 71,
V: 24,
r: 0
}, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 151,
V: -1,
r: 1
}, {
v: 67,
b: 150,
V: -1,
r: 1
}, _LF, _LF, _LF, _LF, _WF, {
v: 67,
b: 71,
V: 41,
r: 1
}, _SF, _SF, {
v: 84,
b: 71,
V: 18,
r: 2
}, _MWSF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWSF, {
v: 84,
b: 71,
V: 9,
r: 0
}, _SF, _SF, _SF, _SF, _SF, {
v: 84,
b: 151,
V: -1,
r: 1
}, _SF, _SF, {
v: 84,
b: 151,
V: -1,
r: 1
}, _SF, _SF, _SF, _SF, _SF, _SF, {
v: 85,
b: 71,
V: 33,
r: 2
}, _MWTF, {
v: 0,
b: 71,
V: 26,
r: 0
}, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 71,
V: 23,
r: 0
}, _MWLF, {
v: 62,
b: 71,
V: 39,
r: 3
}, {
v: 62,
b: 71,
V: 39,
r: 3
}, {
v: 62,
b: 71,
V: 23,
r: 3
}, _WF, {
v: 62,
b: 71,
V: 23,
r: 2
}, _MWLF, {
v: 84,
b: 71,
V: 26,
r: 2
}, _SF, {
v: 84,
b: 71,
V: 16,
r: 2
}, _MWSF, {
v: 0,
b: 71,
V: 16,
r: 1
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWSF, {
v: 84,
b: 71,
V: 10,
r: 2
}, _SF, _SF, _SF, _MWSF, _MWSF, {
v: 84,
b: 149,
V: -1,
r: 2
}, {
v: 85,
b: 150,
V: -1,
r: 0
}, {
v: 85,
b: 150,
V: -1,
r: 0
}, {
v: 84,
b: 149,
V: -1,
r: 2
}, _MWSF, _MWSF, _SF, _SF, _MWTF, _MWSF, _MWTF, _MWTF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _MWLF, _MWLF, _MWLF, _MWLF, {
v: 0,
b: 52,
V: -1,
r: 0
}, _MWLF, _MWLF, _MWSF, _MWSF, _MWSF, _MWSF],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWSF, _MWSF, _MWSF, {
v: 84,
b: 71,
V: 33,
r: 0
}, _SF, _MWSF, {
v: 84,
b: 71,
V: 32,
r: 0
}, {
v: 84,
b: 142,
V: -1,
r: 3
}, {
v: 84,
b: 140,
V: -1,
r: 1
}, {
v: 85,
b: 146,
V: -1,
r: 0
}, {
v: 84,
b: 142,
V: -1,
r: 2
}, {
v: 84,
b: 151,
V: -1,
r: 2
}, {
v: 84,
b: 150,
V: -1,
r: 1
}, _SF, {
v: 84,
b: 71,
V: 33,
r: 2
}, _MWTF, {
v: 0,
b: 71,
V: 37,
r: 1
}, {
v: 0,
b: 71,
V: 38,
r: 1
}, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, {
v: 0,
b: 71,
V: 26,
r: 0
}, _SF, _SF, {
v: 0,
b: 71,
V: 17,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _MWSF, {
v: 84,
b: 71,
V: 22,
r: 0
}, _SF, _MWSF, _SF, {
v: 84,
b: 71,
V: 34,
r: 3
}, _TF, {
v: 85,
b: 140,
V: -1,
r: 2
}, {
v: 84,
b: 71,
V: 34,
r: 3
}, _SF, _MWSF, _SF, {
v: 84,
b: 71,
V: 38,
r: 0
}, _MWTF, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 32,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 24,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, {
v: 0,
b: 71,
V: 17,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 86,
V: 26,
r: 0
}, {
v: 0,
b: 86,
V: 24,
r: 0
}, _EMP, _MWSF, _MW, {
v: 84,
b: 32,
V: -1,
r: 0
}, _MWSF, {
v: 84,
b: 142,
V: -1,
r: 0
}, {
v: 85,
b: 148,
V: -1,
r: 0
}, {
v: 84,
b: 146,
V: -1,
r: 1
}, {
v: 85,
b: 146,
V: -1,
r: 0
}, {
v: 85,
b: 148,
V: -1,
r: 0
}, {
v: 85,
b: 142,
V: -1,
r: 1
}, _MWSF, {
v: 84,
b: 32,
V: -1,
r: 0
}, _MW, _MWTF, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 35,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 31,
r: 0
}],
[_EMP, _EMP, _EMP, _MWTF, _MWTF, _MWTF, _MWTF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 0,
b: 70,
V: -1,
r: 3
}, _TF, _TF, _MWSF, {
v: 84,
b: 140,
V: -1,
r: 0
}, {
v: 84,
b: 71,
V: 34,
r: 1
}, {
v: 85,
b: 140,
V: -1,
r: 2
}, _TF, {
v: 84,
b: 71,
V: 34,
r: 1
}, {
v: 84,
b: 140,
V: -1,
r: 2
}, _MWSF, _TF, _TF, {
v: 0,
b: 70,
V: -1,
r: 1
}, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 71,
V: 23,
r: 0
}, _EMP, _EMP, _EMP, _WF],
[_EMP, _EMP, _EMP, _MWTF, {
v: 85,
b: 71,
V: 33,
r: 1
}, {
v: 85,
b: 71,
V: 33,
r: 1
}, _MWTF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 70,
V: -1,
r: 3
}, {
v: 85,
b: 70,
V: -1,
r: 2
}, _SF, {
v: 84,
b: 144,
V: -1,
r: 1
}, {
v: 0,
b: 149,
V: -1,
r: 1
}, {
v: 84,
b: 145,
V: -1,
r: 0
}, {
v: 84,
b: 142,
V: -1,
r: 0
}, {
v: 85,
b: 146,
V: -1,
r: 0
}, {
v: 85,
b: 147,
V: -1,
r: 3
}, {
v: 84,
b: 142,
V: -1,
r: 1
}, {
v: 84,
b: 146,
V: -1,
r: 0
}, {
v: 0,
b: 149,
V: -1,
r: 3
}, {
v: 84,
b: 144,
V: -1,
r: 1
}, _SF, {
v: 85,
b: 70,
V: -1,
r: 2
}, {
v: 0,
b: 70,
V: -1,
r: 1
}, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _WWLF, _WWLF, {
v: 67,
b: 30,
V: -1,
r: 2
}, _WWLF, _WWLF, _WF, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}],
[_EMP, _EMP, _EMP, _MWSF, _SF, _SF, _MWSF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 32,
V: -1,
r: 3
}, _TF, _TF, _TF, _MWSF, {
v: 0,
b: 149,
V: -1,
r: 0
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, {
v: 85,
b: 70,
V: -1,
r: 0
}, {
v: 85,
b: 70,
V: -1,
r: 0
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, _MWSF, _TF, _TF, _TF, {
v: 0,
b: 32,
V: -1,
r: 1
}, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 71,
V: 16,
r: 0
}, _WWLF, _LF, _LF, {
v: 67,
b: 71,
V: 6,
r: 1
}, _WWLF, _WF, {
v: 67,
b: 69,
V: -1,
r: 1
}, _LF, _LF, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}],
[_EMP, _EMP, _EMP, {
v: 84,
b: 71,
V: 41,
r: 1
}, _SF, _SF, {
v: 84,
b: 71,
V: 41,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 70,
V: -1,
r: 3
}, {
v: 85,
b: 70,
V: -1,
r: 0
}, _SF, _SF, _SF, {
v: 84,
b: 144,
V: -1,
r: 1
}, {
v: 84,
b: 144,
V: -1,
r: 1
}, _SF, _SF, {
v: 84,
b: 144,
V: -1,
r: 1
}, {
v: 84,
b: 144,
V: -1,
r: 1
}, _SF, _SF, _SF, {
v: 85,
b: 70,
V: -1,
r: 0
}, {
v: 0,
b: 70,
V: -1,
r: 1
}, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 67,
b: 30,
V: -1,
r: 1
}, _LF, _LF, {
v: 67,
b: 71,
V: 19,
r: 2
}, _WWWF, _WF, {
v: 67,
b: 69,
V: -1,
r: 1
}, _LF, _LF, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}],
[_EMP, _EMP, _EMP, _MWTF, {
v: 85,
b: 71,
V: 36,
r: 2
}, {
v: 85,
b: 71,
V: 37,
r: 3
}, _MWTF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 0,
b: 70,
V: -1,
r: 3
}, {
v: 85,
b: 71,
V: 39,
r: 0
}, _TF, _TF, _TF, _TF, _TF, _TF, _TF, _TF, _TF, _TF, {
v: 85,
b: 71,
V: 35,
r: 1
}, {
v: 0,
b: 70,
V: -1,
r: 1
}, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _WWLF, {
v: 67,
b: 71,
V: 8,
r: 3
}, _LF, {
v: 67,
b: 71,
V: 0,
r: 1
}, _WWLF, _WF, {
v: 67,
b: 69,
V: -1,
r: 1
}, {
v: 67,
b: 71,
V: 23,
r: 1
}, {
v: 67,
b: 71,
V: 23,
r: 1
}, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}],
[_EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 1
}, _MWTF, _MWTF, _MWTF, _MWTF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 0,
b: 70,
V: -1,
r: 3
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 32,
V: -1,
r: 0
}, {
v: 84,
b: 32,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 84,
b: 70,
V: -1,
r: 0
}, {
v: 0,
b: 70,
V: -1,
r: 1
}, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 71,
V: 23,
r: 0
}, _WWLF, _WWLF, _WWLF, _WWLF, _WWLF, _WF, _SWLF, _SWLF, _SWLF, _SWLF, _EMP, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _WF, _WF, _WF, _WF, _WF, _WF, _WF, _SWLF, _WF, {
v: 62,
b: 71,
V: 21,
r: 1
}, _SWWF, _LF, _LF, _LF, {
v: 67,
b: 69,
V: -1,
r: 3
}],
[{
v: 0,
b: 86,
V: 26,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 33,
r: 0
}, {
v: 0,
b: 86,
V: 32,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 33,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 32,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 24,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 62,
b: 69,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF, {
v: 62,
b: 31,
V: -1,
r: 0
}, _SWWF, _SWWF, {
v: 67,
b: 51,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF, _SWLF],
[{
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 28,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 62,
b: 71,
V: 23,
r: 0
}, _SWLF, {
v: 67,
b: 71,
V: 13,
r: 1
}, _LF, _LF, {
v: 67,
b: 71,
V: 27,
r: 1
}, _LF, _LF, _SWLF, {
v: 67,
b: 71,
V: 23,
r: 3
}, _LF, {
v: 67,
b: 69,
V: -1,
r: 3
}],
[{
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 27,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, _WF, {
v: 67,
b: 31,
V: -1,
r: 1
}, _LF, _LF, _LF, _LF, _LF, _LF, _SWLF, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 3
}],
[{
v: 0,
b: 86,
V: 30,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 42,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 43,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 34,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 62,
b: 71,
V: 23,
r: 0
}, _SWLF, {
v: 67,
b: 69,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 0
}, _LF, _LF, _SWLF, {
v: 67,
b: 31,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 0
}, _SWLF, {
v: 0,
b: 71,
V: 16,
r: 1
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 7,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 84,
b: 71,
V: 23,
r: 0
}, {
v: 84,
b: 151,
V: -1,
r: 0
}, {
v: 84,
b: 71,
V: 23,
r: 0
}, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 0
}, _SWLF, {
v: 67,
b: 71,
V: 15,
r: 0
}, {
v: 67,
b: 71,
V: 4,
r: 0
}, {
v: 67,
b: 71,
V: 3,
r: 0
}, {
v: 67,
b: 71,
V: 14,
r: 0
}, _LF, _LF, _LF, _LF, _LF, _SWLF, {
v: 0,
b: 71,
V: 26,
r: 1
}],
[_EMP, _EMP, _WWWF, {
v: 62,
b: 71,
V: 26,
r: 1
}, _WF, _WF, _WWWF, {
v: 62,
b: 71,
V: 16,
r: 2
}, _WF, _WF, _WWWF, {
v: 0,
b: 31,
V: -1,
r: 0
}, {
v: 0,
b: 31,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _EMP, {
v: 0,
b: 86,
V: 15,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _MWWF, _MWWF, _MWWF, {
v: 62,
b: 150,
V: -1,
r: 3
}, _MWWF, _MWWF, _MWWF, {
v: 0,
b: 71,
V: 16,
r: 0
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 71,
V: 23,
r: 0
}, _SWLF, {
v: 67,
b: 71,
V: 4,
r: 3
}, {
v: 67,
b: 71,
V: 7,
r: 3
}, {
v: 67,
b: 71,
V: 7,
r: 3
}, {
v: 67,
b: 71,
V: 3,
r: 1
}, _LF, _WF, _WF, _WF, _LF, {
v: 67,
b: 69,
V: -1,
r: 3
}],
[_EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, _WWWF, {
v: 62,
b: 71,
V: 17,
r: 1
}, _WF, {
v: 62,
b: 71,
V: 22,
r: 1
}, _WWWF, {
v: 62,
b: 71,
V: 17,
r: 2
}, _WF, {
v: 62,
b: 71,
V: 15,
r: 1
}, _WWWF, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _MWWF, {
v: 62,
b: 71,
V: 16,
r: 2
}, {
v: 62,
b: 71,
V: 39,
r: 1
}, _WF, _WF, _WF, _MWWF, {
v: 0,
b: 71,
V: 26,
r: 0
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 148,
V: -1,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 3
}, _LF, _LF, _LF, _LF, _LF, _WF, _WF, _WF, _LF, {
v: 67,
b: 69,
V: -1,
r: 3
}],
[_EMP, _EMP, _WWWF, {
v: 62,
b: 71,
V: 10,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 0,
r: 1
}, _WWWF, {
v: 62,
b: 71,
V: 1,
r: 3
}, _WF, {
v: 62,
b: 71,
V: 8,
r: 1
}, _WWWF, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _MW, _MWSF, _MWSF, _MWWF, _WF, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 27,
r: 2
}, _MWWF, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 140,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 67,
b: 71,
V: 23,
r: 0
}, {
v: 67,
b: 71,
V: 27,
r: 3
}, {
v: 67,
b: 71,
V: 8,
r: 2
}, {
v: 67,
b: 71,
V: 27,
r: 3
}, _LF, _LF, _LF, _LF, {
v: 67,
b: 71,
V: 12,
r: 2
}, _SWLF],
[_EMP, {
v: 0,
b: 71,
V: 16,
r: 0
}, _WWWF, {
v: 62,
b: 71,
V: 9,
r: 2
}, _WF, _WF, _WWWF, _WF, _WF, {
v: 62,
b: 71,
V: 12,
r: 2
}, _WW, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 71,
V: 16,
r: 0
}, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 0,
b: 71,
V: 16,
r: 2
}, _MWSF, {
v: 84,
b: 71,
V: 16,
r: 1
}, {
v: 84,
b: 71,
V: 19,
r: 1
}, _MWSF, {
v: 62,
b: 32,
V: -1,
r: 0
}, {
v: 62,
b: 70,
V: -1,
r: 0
}, _WF, _WF, {
v: 62,
b: 71,
V: 39,
r: 2
}, _MWWF, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 148,
V: -1,
r: 0
}, _SWLF, _SWLF, _SWLF, _SWLF, _SWLF, {
v: 67,
b: 31,
V: -1,
r: 0
}, {
v: 67,
b: 31,
V: -1,
r: 0
}, _SWLF, _SWLF, _SWLF, _SWLF, {
v: 0,
b: 71,
V: 24,
r: 1
}],
[_EMP, {
v: 0,
b: 71,
V: 17,
r: 0
}, _WW, _WWWF, _WWWF, _WWWF, _WWWF, _WWWF, _WWWF, _WW, _WW, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 71,
V: 24,
r: 0
}, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 0,
b: 71,
V: 17,
r: 0
}, _MWSF, _SF, _SF, _MWSF, _LF, {
v: 67,
b: 70,
V: -1,
r: 3
}, _WF, _WF, _WF, _MWWF, {
v: 84,
b: 71,
V: 23,
r: 0
}, _SF, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 140,
V: -1,
r: 0
}, _SWLF, {
v: 62,
b: 71,
V: 20,
r: 1
}, _WF, {
v: 62,
b: 71,
V: 28,
r: 0
}, _SWWF, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 20,
r: 1
}, {
v: 62,
b: 71,
V: 13,
r: 1
}, _SWWF],
[_EMP, _EMP, _EMP, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, _WF, _WF, _WF, _WF, {
v: 62,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _MWSF, _SF, _SF, _MWLF, _LF, {
v: 67,
b: 70,
V: -1,
r: 3
}, _WF, _WF, _WF, {
v: 62,
b: 150,
V: -1,
r: 3
}, {
v: 84,
b: 151,
V: -1,
r: 0
}, _SF, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 140,
V: -1,
r: 0
}, {
v: 62,
b: 69,
V: -1,
r: 1
}, _WF, _WF, _WF, {
v: 62,
b: 31,
V: -1,
r: 3
}, _WF, _WF, _WF, _WF, _WF, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, _SWWF, {
v: 62,
b: 71,
V: 6,
r: 0
}, {
v: 62,
b: 71,
V: 14,
r: 0
}, {
v: 62,
b: 71,
V: 15,
r: 0
}, {
v: 62,
b: 71,
V: 5,
r: 0
}, _SWWF, {
v: 62,
b: 71,
V: 23,
r: 2
}, _WF, _WF, _WF, {
v: 62,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 16,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _MWSF, {
v: 84,
b: 71,
V: 18,
r: 3
}, _SF, {
v: 67,
b: 150,
V: -1,
r: 0
}, {
v: 67,
b: 142,
V: -1,
r: 1
}, {
v: 67,
b: 71,
V: 40,
r: 2
}, _WF, _WF, _WF, {
v: 62,
b: 150,
V: -1,
r: 3
}, {
v: 84,
b: 151,
V: -1,
r: 3
}, _SF, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 143,
V: -1,
r: 3
}, {
v: 0,
b: 149,
V: -1,
r: 3
}, {
v: 62,
b: 144,
V: -1,
r: 3
}, _WF, _WF, {
v: 62,
b: 31,
V: -1,
r: 3
}, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 12,
r: 3
}, {
v: 62,
b: 71,
V: 12,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 1
}],
[_EMP, _EMP, _EMP, _SWWF, _WF, _WF, _WF, _WF, _SWWF, _SWLF, {
v: 67,
b: 31,
V: -1,
r: 2
}, {
v: 67,
b: 31,
V: -1,
r: 2
}, _SWLF, _SWLF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 13,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _MWSF, _MWSF, _MWSF, _MWLF, {
v: 67,
b: 144,
V: -1,
r: 0
}, {
v: 67,
b: 70,
V: -1,
r: 3
}, _WF, _WF, {
v: 62,
b: 71,
V: 39,
r: 2
}, _MWWF, {
v: 84,
b: 71,
V: 23,
r: 0
}, _SF, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 140,
V: -1,
r: 0
}, _SWWF, _SWWF, _SWWF, _SWWF, _SWWF, {
v: 67,
b: 31,
V: -1,
r: 2
}, {
v: 67,
b: 31,
V: -1,
r: 2
}, _SWLF, _SWLF, _SWLF, _SWLF, {
v: 0,
b: 71,
V: 26,
r: 1
}],
[_EMP, _EMP, _EMP, _SWWF, {
v: 62,
b: 71,
V: 0,
r: 0
}, {
v: 62,
b: 71,
V: 2,
r: 0
}, _WF, _WF, {
v: 67,
b: 31,
V: -1,
r: 1
}, _LF, _LF, _LF, {
v: 67,
b: 71,
V: 23,
r: 0
}, _SWLF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _MWLF, {
v: 67,
b: 148,
V: -1,
r: 1
}, {
v: 67,
b: 70,
V: -1,
r: 3
}, {
v: 62,
b: 151,
V: -1,
r: 0
}, {
v: 62,
b: 151,
V: -1,
r: 0
}, {
v: 62,
b: 71,
V: 27,
r: 2
}, _MWWF, {
v: 0,
b: 71,
V: 26,
r: 0
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 142,
V: -1,
r: 3
}, {
v: 0,
b: 148,
V: -1,
r: 0
}, {
v: 62,
b: 140,
V: -1,
r: 1
}, {
v: 0,
b: 148,
V: -1,
r: 0
}, _SWLF, {
v: 67,
b: 71,
V: 16,
r: 1
}, _LF, _LF, {
v: 67,
b: 71,
V: 26,
r: 1
}, {
v: 67,
b: 71,
V: 23,
r: 2
}, {
v: 67,
b: 71,
V: 17,
r: 1
}, {
v: 67,
b: 69,
V: -1,
r: 3
}],
[_EMP, _EMP, _EMP, _SWWF, _WF, _WF, _WF, _WF, _SWWF, {
v: 67,
b: 71,
V: 12,
r: 0
}, _LF, _LF, {
v: 67,
b: 71,
V: 12,
r: 2
}, _SWLF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _MWLF, _MWLF, _MWLF, {
v: 62,
b: 150,
V: -1,
r: 3
}, {
v: 62,
b: 150,
V: -1,
r: 3
}, _MWWF, _MWWF, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _WF, _WF, {
v: 67,
b: 31,
V: -1,
r: 1
}, _LF, _LF, _LF, _LF, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 3
}],
[_EMP, _EMP, {
v: 0,
b: 71,
V: 24,
r: 0
}, _SWWF, {
v: 62,
b: 71,
V: 1,
r: 2
}, {
v: 62,
b: 71,
V: 8,
r: 2
}, _WF, {
v: 62,
b: 71,
V: 23,
r: 2
}, _SWWF, {
v: 67,
b: 71,
V: 23,
r: 2
}, _LF, _LF, {
v: 67,
b: 71,
V: 20,
r: 2
}, _SWLF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 84,
b: 71,
V: 23,
r: 0
}, _SF, _SF, {
v: 84,
b: 71,
V: 23,
r: 0
}, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _WF, _WF, {
v: 67,
b: 31,
V: -1,
r: 1
}, _LF, _LF, _LF, _LF, _LF, _LF, {
v: 67,
b: 31,
V: -1,
r: 3
}],
[_EMP, _EMP, _EMP, _SWWF, _SWWF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 0
}, _SWWF, _SWWF, _SWLF, {
v: 67,
b: 69,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 0
}, _SWLF, _SWLF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _SF, _SF, _SF, _SF, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 21,
r: 0
}, {
v: 0,
b: 86,
V: 20,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 15,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 36,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 4,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 45,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 32,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 25,
r: 0
}, {
v: 0,
b: 86,
V: 24,
r: 0
}],
[{
v: 0,
b: 86,
V: 17,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 4,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 5,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 3,
r: 0
}, {
v: 0,
b: 86,
V: 37,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 35,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 29,
r: 0
}, {
v: 0,
b: 86,
V: 31,
r: 0
}],
[{
v: 0,
b: 86,
V: 16,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 11,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 10,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 9,
r: 0
}, {
v: 0,
b: 86,
V: 38,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 1,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 34,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _LF, _LF, _LF, {
v: 67,
b: 151,
V: -1,
r: 1
}, _LF, _LF, _LF],
[{
v: 0,
b: 86,
V: 40,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 0,
r: 0
}, {
v: 0,
b: 86,
V: 39,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, _EMP, _EMP, {
v: 0,
b: 69,
V: -1,
r: 0
}, _SWWF, _SWWF, _SW, {
v: 62,
b: 31,
V: -1,
r: 2
}, _SWWF, _SWWF, _SWWF, {
v: 0,
b: 71,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 67,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 140,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 67,
b: 69,
V: -1,
r: 1
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 26,
r: 1
}, {
v: 0,
b: 71,
V: 26,
r: 1
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 1
}, _LF, _LF, _LF, _SWWF, {
v: 62,
b: 71,
V: 27,
r: 1
}, {
v: 62,
b: 71,
V: 27,
r: 1
}, _WF, _WF, _WF, {
v: 62,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 67,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 111,
V: -1,
r: 1
}, {
v: 0,
b: 140,
V: -1,
r: 2
}, {
v: 0,
b: 111,
V: -1,
r: 1
}, _EMP, {
v: 67,
b: 69,
V: -1,
r: 1
}],
[_EMP, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, _MWLF, _MWWF, _MWWF, _MWWF, _MWWF, _MWWF, _MWWF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 1
}, _LF, _LF, _LF, {
v: 62,
b: 31,
V: -1,
r: 1
}, _WF, _WF, _WF, _WF, _WF, {
v: 62,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 67,
b: 151,
V: -1,
r: 1
}, {
v: 0,
b: 140,
V: -1,
r: 3
}, {
v: 0,
b: 140,
V: -1,
r: 3
}, {
v: 0,
b: 148,
V: -1,
r: 0
}, {
v: 0,
b: 140,
V: -1,
r: 3
}, {
v: 0,
b: 140,
V: -1,
r: 3
}, {
v: 67,
b: 151,
V: -1,
r: 1
}],
[_EMP, _MWLF, {
v: 67,
b: 71,
V: 35,
r: 2
}, _LF, {
v: 67,
b: 142,
V: -1,
r: 0
}, {
v: 67,
b: 146,
V: -1,
r: 1
}, {
v: 67,
b: 146,
V: -1,
r: 1
}, {
v: 67,
b: 140,
V: -1,
r: 1
}, {
v: 67,
b: 140,
V: -1,
r: 1
}, {
v: 62,
b: 150,
V: -1,
r: 1
}, _WF, _WF, {
v: 62,
b: 71,
V: 17,
r: 3
}, {
v: 62,
b: 71,
V: 16,
r: 1
}, _MWWF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 1
}, _LF, _LF, {
v: 67,
b: 71,
V: 3,
r: 1
}, _SWWF, {
v: 62,
b: 71,
V: 22,
r: 2
}, {
v: 62,
b: 71,
V: 20,
r: 3
}, {
v: 62,
b: 71,
V: 11,
r: 2
}, _WF, _SWWF, _SWWF, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 67,
b: 69,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 111,
V: -1,
r: 1
}, {
v: 0,
b: 140,
V: -1,
r: 2
}, {
v: 0,
b: 111,
V: -1,
r: 1
}, _EMP, {
v: 67,
b: 69,
V: -1,
r: 1
}],
[_EMP, _MWLF, _LF, {
v: 67,
b: 70,
V: -1,
r: 3
}, {
v: 0,
b: 149,
V: -1,
r: 0
}, {
v: 0,
b: 149,
V: -1,
r: 2
}, {
v: 0,
b: 149,
V: -1,
r: 2
}, _MW, _MW, _MWWF, _WF, _WF, _WF, _WF, _MWWF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 1
}, {
v: 67,
b: 71,
V: 23,
r: 3
}, _SWLF, _SWLF, _SWWF, _SWWF, _SWWF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 2
}, _SWWF, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, {
v: 67,
b: 69,
V: -1,
r: 3
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 140,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 0
}, {
v: 67,
b: 69,
V: -1,
r: 1
}],
[{
v: 0,
b: 71,
V: 24,
r: 1
}, _MWLF, _LF, {
v: 67,
b: 70,
V: -1,
r: 3
}, {
v: 67,
b: 151,
V: -1,
r: 3
}, {
v: 67,
b: 151,
V: -1,
r: 3
}, {
v: 67,
b: 151,
V: -1,
r: 3
}, {
v: 67,
b: 142,
V: -1,
r: 0
}, {
v: 67,
b: 146,
V: -1,
r: 1
}, {
v: 62,
b: 150,
V: -1,
r: 1
}, _WF, {
v: 62,
b: 71,
V: 10,
r: 3
}, {
v: 62,
b: 71,
V: 7,
r: 3
}, _WF, {
v: 62,
b: 32,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, {
v: 0,
b: 69,
V: -1,
r: 2
}, _SW, {
v: 62,
b: 71,
V: 14,
r: 0
}, {
v: 62,
b: 71,
V: 5,
r: 0
}, _WF, _WF, _WF, _WF, _SWWF, {
v: 0,
b: 71,
V: 16,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}, _EMP, _LF, {
v: 67,
b: 71,
V: 45,
r: 0
}, {
v: 67,
b: 71,
V: 45,
r: 0
}, {
v: 67,
b: 151,
V: -1,
r: 1
}, _LF, _LF, {
v: 67,
b: 71,
V: 24,
r: 1
}],
[_EMP, _MWLF, _LF, {
v: 67,
b: 70,
V: -1,
r: 3
}, {
v: 67,
b: 70,
V: -1,
r: 0
}, {
v: 67,
b: 70,
V: -1,
r: 0
}, {
v: 67,
b: 70,
V: -1,
r: 0
}, {
v: 67,
b: 140,
V: -1,
r: 0
}, {
v: 67,
b: 142,
V: -1,
r: 3
}, {
v: 62,
b: 149,
V: -1,
r: 1
}, {
v: 62,
b: 144,
V: -1,
r: 0
}, _WF, {
v: 62,
b: 71,
V: 7,
r: 3
}, _WF, {
v: 62,
b: 32,
V: -1,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, {
v: 0,
b: 71,
V: 16,
r: 0
}, _SWWF, _WF, _WF, _WF, _WF, _WF, {
v: 62,
b: 71,
V: 13,
r: 2
}, _SWWF, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}],
[{
v: 0,
b: 71,
V: 17,
r: 1
}, _MWLF, _LF, _LF, {
v: 67,
b: 71,
V: 3,
r: 0
}, {
v: 67,
b: 148,
V: -1,
r: 3
}, _MWLF, {
v: 67,
b: 146,
V: -1,
r: 0
}, {
v: 67,
b: 147,
V: -1,
r: 3
}, {
v: 62,
b: 149,
V: -1,
r: 1
}, {
v: 62,
b: 144,
V: -1,
r: 0
}, _WF, _WF, _WF, _MWWF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, {
v: 0,
b: 71,
V: 26,
r: 0
}, _SWWF, {
v: 62,
b: 71,
V: 12,
r: 3
}, {
v: 62,
b: 71,
V: 23,
r: 3
}, _WF, _WF, {
v: 62,
b: 71,
V: 10,
r: 3
}, {
v: 62,
b: 71,
V: 9,
r: 1
}, _SWWF, {
v: 0,
b: 71,
V: 17,
r: 3
}, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}],
[{
v: 0,
b: 71,
V: 26,
r: 1
}, _MWLF, _LF, _WF, _WF, {
v: 67,
b: 146,
V: -1,
r: 0
}, _MWLF, {
v: 67,
b: 142,
V: -1,
r: 3
}, {
v: 67,
b: 142,
V: -1,
r: 1
}, _MW, {
v: 62,
b: 144,
V: -1,
r: 0
}, _WF, {
v: 62,
b: 144,
V: -1,
r: 0
}, {
v: 62,
b: 144,
V: -1,
r: 0
}, _MWWF, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _SWWF, _SWWF, _SWWF, {
v: 62,
b: 31,
V: -1,
r: 0
}, {
v: 62,
b: 31,
V: -1,
r: 0
}, _SWWF, _SWWF, _SWWF, _EMP, _EMP, {
v: 0,
b: 86,
V: 23,
r: 0
}, {
v: 0,
b: 86,
V: 22,
r: 0
}],
[_EMP, _MWLF, _LF, _WF, _WF, {
v: 67,
b: 71,
V: 10,
r: 0
}, _MWLF, {
v: 67,
b: 71,
V: 14,
r: 3
}, {
v: 67,
b: 140,
V: -1,
r: 0
}, _MWWF, {
v: 62,
b: 149,
V: -1,
r: 0
}, _MWWF, {
v: 62,
b: 149,
V: -1,
r: 0
}, {
v: 62,
b: 149,
V: -1,
r: 0
}, _MWWF, {
v: 0,
b: 71,
V: 16,
r: 1
}, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 71,
V: 24,
r: 1
}, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 30,
r: 0
}, {
v: 0,
b: 86,
V: 31,
r: 0
}],
[_EMP, _MWLF, {
v: 67,
b: 71,
V: 36,
r: 2
}, {
v: 67,
b: 151,
V: -1,
r: 0
}, {
v: 67,
b: 71,
V: 12,
r: 3
}, {
v: 67,
b: 71,
V: 9,
r: 2
}, _MWLF, {
v: 67,
b: 71,
V: 16,
r: 2
}, {
v: 67,
b: 140,
V: -1,
r: 2
}, {
v: 67,
b: 71,
V: 17,
r: 3
}, {
v: 67,
b: 147,
V: -1,
r: 2
}, {
v: 67,
b: 142,
V: -1,
r: 0
}, {
v: 67,
b: 146,
V: -1,
r: 3
}, {
v: 67,
b: 142,
V: -1,
r: 2
}, _MW, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}],
[_EMP, _MWLF, _MWLF, {
v: 67,
b: 150,
V: -1,
r: 2
}, _MWLF, _MWLF, _MWLF, {
v: 67,
b: 71,
V: 23,
r: 2
}, {
v: 67,
b: 142,
V: -1,
r: 3
}, {
v: 67,
b: 140,
V: -1,
r: 3
}, {
v: 67,
b: 146,
V: -1,
r: 3
}, {
v: 67,
b: 142,
V: -1,
r: 2
}, _LF, {
v: 67,
b: 71,
V: 23,
r: 2
}, _MW, {
v: 0,
b: 71,
V: 24,
r: 0
}, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}],
[_EMP, _EMP, {
v: 0,
b: 71,
V: 16,
r: 2
}, {
v: 0,
b: 71,
V: 16,
r: 1
}, {
v: 0,
b: 71,
V: 17,
r: 1
}, {
v: 0,
b: 71,
V: 26,
r: 1
}, _MW, _MW, _MW, _MW, _MW, _MW, _MW, _MW, _MW, _EMP, {
v: 0,
b: 86,
V: 14,
r: 0
}, {
v: 0,
b: 86,
V: 12,
r: 0
}, {
v: 0,
b: 86,
V: 6,
r: 0
}],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, {
v: 0,
b: 86,
V: 40,
r: 0
}, {
v: 0,
b: 86,
V: 1,
r: 0
}, {
v: 0,
b: 86,
V: 41,
r: 0
}]
]
};
HOUSE[HOUSEID.__BUNKER0__] = {
width: 0,
height: 0,
radiation: 0,
building: [
[_EMP],
[_EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _SC, _SC, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _EMP, _EMP, _EMP, _EMP, _SC, _BWTF, _BWTF, {
v: 85,
b: 52,
V: -1,
r: 2
}, _BWTF, _BWTF, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _BWTF, _TF, _TF, _TF, _BWTF, _SC, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _SC, _SC, _SC, _SC, _BWTF, _BWTF, _BWTF, _BWTF, _TF, _TF, _TF, _BWTF, _SC, _SC, _EMP, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _SC, _BWTF, {
v: 85,
b: 71,
V: 9,
r: 0
}, {
v: 85,
b: 71,
V: 58,
r: 0
}, _BWTF, {
v: 85,
b: 71,
V: 33,
r: 3
}, _TF, {
v: 85,
b: 71,
V: 33,
r: 3
}, _BWTF, _SC, _SC, _EMP, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _SC, _BWTF, {
v: 85,
b: 71,
V: 10,
r: 2
}, _TF, _BWTF, _BWTF, _SF, _BWSF, _BWSF, _BW, _SC, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _SC, _BWTF, _TF, _TF, _SF, _SF, _SF, _SF, {
v: 84,
b: 71,
V: 51,
r: 1
}, _BWSF, _SC, _SC, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _SF, _SF, _SF, _SF, _BWSF, _BW, _SC, _SC, _EMP, _SC, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, _SF, _SF, _SF, _BWTF, _BWTF, _SF, _SF, _SF, _BWSF, _BWTF, _BWTF, _SC, _EMP, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, _SF, _BWTF, _SF, _SF, _SF, _SF, _BWTF, _TF, _TF, {
v: 85,
b: 71,
V: 55,
r: 2
}, _BWTF, _SC, _EMP, _SC, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, _SF, _BWTF, _BWTF, _BWTF, _BWTF, _SF, _BWTF, {
v: 85,
b: 71,
V: 28,
r: 3
}, _TF, {
v: 85,
b: 71,
V: 21,
r: 1
}, _BWTF, _SC, _EMP, _EMP, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, _TF, {
v: 85,
b: 71,
V: 23,
r: 1
}, {
v: 85,
b: 71,
V: 53,
r: 3
}, {
v: 85,
b: 71,
V: 56,
r: 2
}, _BWTF, _SF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _SC, _EMP, _EMP, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _SC, _SC, _BWTF, _TF, _TF, _TF, {
v: 85,
b: 71,
V: 53,
r: 2
}, _BWTF, _SF, _SF, _TF, {
v: 85,
b: 71,
V: 51,
r: 0
}, {
v: 85,
b: 71,
V: 48,
r: 0
}, _BWTF, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, _TF, _TF, _TF, _TF, _BWTF, _BWTF, _BWTF, _TF, _TF, _TF, _BWTF, _SC, _SC, _SC],
[_EMP, _SC, _SC, _SC, _SC, _BWTF, {
v: 85,
b: 71,
V: 20,
r: 3
}, {
v: 85,
b: 71,
V: 11,
r: 2
}, {
v: 85,
b: 71,
V: 49,
r: 3
}, _TF, {
v: 85,
b: 71,
V: 54,
r: 2
}, _BWTF, _BWTF, {
v: 85,
b: 71,
V: 48,
r: 2
}, {
v: 85,
b: 71,
V: 50,
r: 2
}, {
v: 85,
b: 71,
V: 49,
r: 3
}, _BWTF, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _SC, _SC, _SC, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _BWTF, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC, _SC],
[_EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _EMP, _EMP, _EMP, _EMP, _SC, _SC, _SC, _SC, _SC]
]
};
}
} catch (error) {};
for (var i = 0; i < HOUSE.length; i++) {
var house = HOUSE[i];
var housePlan = HOUSE[i].building;
house.height = housePlan.length;
for (var j = 0; j < housePlan.length; j++)
house.width = window.Math.max(housePlan[j].length, house.width);
}
var AREASTOITEM = [];
AREASTOITEM[AREAS.__FIRE__] = IID.__CAMPFIRE__;
AREASTOITEM[AREAS.__BBQ__] = IID.__CAMPFIRE_BBQ__;
AREASTOITEM[AREAS.__WORKBENCH__] = IID.__WORKBENCH__;
AREASTOITEM[AREAS.__WORKBENCH2__] = IID.__WORKBENCH2__;
AREASTOITEM[AREAS.__TESLA__] = IID.__TESLA__;
AREASTOITEM[AREAS.__SMELTER__] = IID.__SMELTER__;
AREASTOITEM[AREAS.__WEAVING__] = IID.__WEAVING__;
AREASTOITEM[AREAS.__COMPOST__] = IID.__COMPOST__;
AREASTOITEM[AREAS.__AGITATOR__] = IID.__AGITATOR__;
AREASTOITEM[AREAS.__EXTRACTOR__] = IID.__EXTRACTOR__;
AREASTOITEM[AREAS.__FEEDER__] = IID.__FEEDER__;
var INVENTORY2 = null;
var ENTITIES2 = null;
var PARTICLES2 = null;
var LOOT2 = null;
var RESOURCES2 = null;
var LIGHTFIRE2 = null;
var AI2 = null;
var GROUND = "#38513D";
var GROUND2 = "#0B1D23";
var BRKIT = [{
id: IID.__STONE__,
amount: 50,
life: 255
}, {
id: IID.__WOOD__,
amount: 100,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}];
var KIT = [];
COUNTER = 0;
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE__,
amount: 20,
life: 255
}, {
id: IID.__WOOD__,
amount: 40,
life: 255
}, {
id: IID.__ORANGE__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE__,
amount: 20,
life: 255
}, {
id: IID.__WOOD__,
amount: 40,
life: 255
}, {
id: IID.__ORANGE__,
amount: 3,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE__,
amount: 30,
life: 255
}, {
id: IID.__WOOD__,
amount: 50,
life: 255
}, {
id: IID.__CAMPFIRE__,
amount: 1,
life: 255
}, {
id: IID.__ORANGE__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE__,
amount: 30,
life: 255
}, {
id: IID.__WOOD__,
amount: 60,
life: 255
}, {
id: IID.__CAMPFIRE__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__ORANGE__,
amount: 5,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE__,
amount: 40,
life: 255
}, {
id: IID.__WOOD__,
amount: 90,
life: 255
}, {
id: IID.__CAMPFIRE__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE__,
amount: 40,
life: 255
}, {
id: IID.__WOOD__,
amount: 150,
life: 255
}, {
id: IID.__CAMPFIRE__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 2,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE__,
amount: 1,
life: 255
}, {
id: IID.__STEEL__,
amount: 6,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 2,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__WOOD_SPEAR__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 3,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__WOOD_BOW__,
amount: 1,
life: 255
}, {
id: IID.__WOOD_ARROW__,
amount: 20,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__WOOD_WALL__,
amount: 10,
life: 255
}, {
id: IID.__WOOD_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__WOOD_WALL__,
amount: 16,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 2,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 14,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 2,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__LANDMINE__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 14,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 2,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__ARMOR_PHYSIC_1__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 14,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 2,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STONE_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 16,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__CHEST__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 2,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 16,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__CHEST__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH__,
amount: 2,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__HACHET__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 16,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__CHEST__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 16,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 2,
life: 255
}, {
id: IID.__CHEST__,
amount: 1,
life: 255
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 2,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 20,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 4,
life: 255
}, {
id: IID.__CHEST__,
amount: 2,
life: 255
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}, {
id: IID.__RAW_STEAK__,
amount: 4,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__CAMPFIRE_BBQ__,
amount: 2,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 6,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}, {
id: IID.__SEED_ORANGE__,
amount: 8,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__HEADSCARF__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 6,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}, {
id: IID.__SEED_ORANGE__,
amount: 8,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__HEADSCARF__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 6,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__9MM__,
amount: 1,
life: 20
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__HEADSCARF__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__STONE_DOOR__,
amount: 6,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__9MM__,
amount: 1,
life: 20
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__STONE_AXE__,
amount: 1,
life: 255
}, {
id: IID.__HEADSCARF__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__9MM__,
amount: 1,
life: 20
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__SULFUR_AXE__,
amount: 1,
life: 255
}, {
id: IID.__HEADSCARF__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__9MM__,
amount: 1,
life: 20
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__SULFUR_AXE__,
amount: 1,
life: 255
}, {
id: IID.__CHAPKA__,
amount: 1,
life: 255
}, {
id: IID.__STONE_WALL__,
amount: 26,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__9MM__,
amount: 1,
life: 20
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__SULFUR_AXE__,
amount: 1,
life: 255
}, {
id: IID.__CHAPKA__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_WALL__,
amount: 14,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__9MM__,
amount: 1,
life: 20
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__SULFUR_AXE__,
amount: 1,
life: 255
}, {
id: IID.__CHAPKA__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_WALL__,
amount: 14,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__CHEST__,
amount: 3,
life: 255
}, {
id: IID.__DESERT_EAGLE__,
amount: 1,
life: 7
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__SULFUR_AXE__,
amount: 1,
life: 255
}, {
id: IID.__CHAPKA__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_WALL__,
amount: 14,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__DYNAMITE__,
amount: 6,
life: 255
}, {
id: IID.__DESERT_EAGLE__,
amount: 1,
life: 7
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
KIT[COUNTER++] = [{
id: IID.__SULFUR_PICKAXE__,
amount: 1,
life: 255
}, {
id: IID.__SULFUR_AXE__,
amount: 1,
life: 255
}, {
id: IID.__CHAPKA__,
amount: 1,
life: 255
}, {
id: IID.__STEEL_WALL__,
amount: 20,
life: 255
}, {
id: IID.__SMELTER__,
amount: 1,
life: 255
}, {
id: IID.__LANDMINE__,
amount: 6,
life: 255
}, {
id: IID.__DESERT_EAGLE__,
amount: 1,
life: 7
}, {
id: IID.__WORKBENCH2__,
amount: 1,
life: 255
}];
COUNTER = 0;
var MODE_AI = {
__AGGRESSIVE__: COUNTER++,
__REPAIR__: COUNTER++
};
var AI = [];
AI[AIID.__NORMAL_GHOUL__] = {
actionDelay: 700,
actionImpactClient: 550,
baseSpeed: 0.5,
aggressive: 1,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: ((2 * 8) * 60) * 1000,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -50,
src: "img/day-ghoul-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 50,
src: "img/day-ghoul-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-ghoul.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/ghoul-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-ghoul-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 30,
areaEffect: 0,
radius: 38,
life: 160,
speed: [0.12, 0.22],
speedRun: [0.14, 0.25],
loot: [
[IID.__ANIMAL_FAT__, 4, LOOTID.__ANIMAL_FAT__]
],
light: 1,
areaEffect: 0,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [8, 20],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 1200
};
AI[AIID.__FAST_GHOUL__] = {
actionDelay: 300,
actionImpactClient: 150,
baseSpeed: 0.5,
aggressive: 2,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: (((2 * 2) * 8) * 60) * 1000,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -40,
src: "img/day-ghoul3-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 40,
src: "img/day-ghoul3-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-ghoul3.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/ghoul3-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-ghoul3-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 18,
areaEffect: 0,
radius: 38,
life: 100,
speed: [0.18, 0.28],
speedRun: [0.22, 0.38],
loot: [
[IID.__GHOUL_BLOOD__, 4, LOOTID.ghoulblood]
],
light: 1,
areaEffect: 0,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [7, 14],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 1000
};
AI[AIID.__EXPLOSIVE_GHOUL__] = {
actionDelay: 500,
actionImpactClient: 350,
baseSpeed: 0.5,
aggressive: 4,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: (((3 * 2) * 8) * 60) * 1000,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -48,
src: "img/day-ghoul4-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 48,
src: "img/day-ghoul4-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-ghoul4.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/ghoul4-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-ghoul4-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 14,
areaEffect: 0,
radius: 38,
life: 100,
speed: [0.12, 0.23],
speedRun: [0.14, 0.26],
loot: [
[IID.__SULFUR__, 4, LOOTID.sulfur],
[IID.__ANIMAL_FAT__, 4, LOOTID.__ANIMAL_FAT__],
[IID.__JUNK__, 4, LOOTID.junk]
],
light: 1,
areaEffect: 0,
explosion: 1,
damageExplosion: 120,
damageBuilding: 500,
radiusDamage: 40,
distDamage: 50,
damage: [6, 20],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 500
};
AI[AIID.__RADIOACTIVE_GHOUL__] = {
actionDelay: 500,
actionImpactClient: 350,
baseSpeed: 0.5,
aggressive: 8,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: (((4 * 2) * 8) * 60) * 1000,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -40,
src: "img/day-ghoul2-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 40,
src: "img/day-ghoul2-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-ghoul2.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/ghoul2-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-ghoul2-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 10,
areaEffect: 0,
radius: 38,
life: 160,
speed: [0.12, 0.23],
speedRun: [0.14, 0.26],
loot: [
[IID.__URANIUM__, 4, LOOTID.uranium]
],
light: 1,
areaEffect: __RADIATION__,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [5, 15],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 1500
};
AI[AIID.__ARMORED_GHOUL__] = {
actionDelay: 700,
actionImpactClient: 550,
baseSpeed: 0.5,
aggressive: 16,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: (((5 * 2) * 8) * 60) * 1000,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -50,
src: "img/day-ghoul1-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 50,
src: "img/day-ghoul1-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-ghoul1.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/ghoul1-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-ghoul1-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 14,
areaEffect: 0,
radius: 38,
life: 800,
speed: [0.11, 0.21],
speedRun: [0.14, 0.24],
loot: [
[IID.__ALLOYS__, 4, LOOTID.alloys],
[IID.__SHAPED_METAL__, 12, LOOTID.__SHAPED_METAL__]
],
light: 1,
areaEffect: 0,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [20, 50],
knockback: 20,
timelife: ((4 * 8) * 60) * 1000,
score: 5000
};
AI[AIID.__PUMPKIN_GHOUL__] = {
actionDelay: 700,
actionImpactClient: 550,
baseSpeed: 0.5,
aggressive: 32,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: ((2 * 8) * 60) * 1000,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -50,
src: "img/day-ghoul5-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 50,
src: "img/day-ghoul5-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-ghoul5.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/ghoul5-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-ghoul5-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 0,
areaEffect: 0,
radius: 38,
life: 160,
speed: [0.04, 0.04],
loot: [
[IID.__PUMPKIN__, 4, LOOTID.pumpkin]
],
light: 0,
areaEffect: 0,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [20, 30],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 100
};
AI[AIID.__LAPABOT_REPAIR__] = {
actionDelay: 700,
actionImpactClient: 550,
baseSpeed: 0.5,
aggressive: 0,
mode: MODE_AI.__REPAIR__,
timeTrigger: 0,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 28,
y: -50,
src: "img/day-lapabot-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 28,
y: 50,
src: "img/day-lapabot-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-lapabot.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/lapabot-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-lapabot-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 0,
areaEffect: 0,
radius: 38,
life: 600,
speed: [0.08, 0.08],
loot: [
[IID.__SHAPED_METAL__, 4, LOOTID.shapedmetal]
],
light: 0,
areaEffect: 0,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [30, 30],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 100
};
AI[AIID.__HAL_BOT__] = {
actionDelay: 550,
actionImpactClient: 400,
baseSpeed: 0.5,
aggressive: 0,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: 0,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 8,
y: -45,
src: "img/day-hal-bot-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 8,
y: 45,
src: "img/day-hal-bot-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-hal-bot.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/hal-bot-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-hal-bot-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 0,
areaEffect: 0,
radius: 38,
life: 800,
speed: [0.12, 0.12],
loot: [
[IID.__SHAPED_METAL__, 4, LOOTID.shapedmetal]
],
light: 0,
areaEffect: 0,
explosion: 0,
damageExplosion: 0,
damageBuilding: 0,
radiusDamage: 40,
distDamage: 50,
damage: [30, 30],
knockback: 20,
timelife: ((2 * 8) * 60) * 1000,
score: 500
};
AI[AIID.__TESLA_BOT__] = {
actionDelay: 700,
actionImpactClient: 550,
baseSpeed: 0.5,
aggressive: 0,
mode: MODE_AI.__AGGRESSIVE__,
timeTrigger: 0,
draw: Render.ghoul,
breath: 0.05,
armMove: 6,
leftArm: {
angle: 0,
x: 18,
y: -60,
src: "img/day-tesla-bot-left-arm.png",
img: {
isLoaded: 0
}
},
rightArm: {
angle: 0,
x: 18,
y: 60,
src: "img/day-tesla-bot-right-arm.png",
img: {
isLoaded: 0
}
},
head: {
src: "img/day-tesla-bot.png",
img: {
isLoaded: 0
}
},
hurt: {
src: "img/tesla-bot-hurt.png",
img: {
isLoaded: 0
}
},
death: {
src: "img/day-tesla-bot-death.png",
img: {
isLoaded: 0
}
},
units: 0,
unitsMax: 0,
areaEffect: 0,
radius: 38,
life: 3000,
speed: [0.1, 0.1],
loot: [
[IID.__SHAPED_URANIUM__, 4, LOOTID.shapeduranium],
[IID.__ALLOYS__, 4, LOOTID.alloys]
],
light: 0,
areaEffect: 0,
explosion: 1,
damageExplosion: 100,
damageBuilding: 100,
radiusDamage: 40,
distDamage: 50,
damage: [80, 80],
knockback: 40,
timelife: ((2 * 8) * 60) * 1000,
score: 3000
};
try {
if (exports !== window.undefined) {
exports.IID = IID;
exports.FURNITUREID = FURNITUREID;
exports.HOUSE = HOUSE;
exports.HOUSEID = HOUSEID;
exports.INVENTORY = INVENTORY;
exports.LOOT = LOOT;
exports.LOOTID = LOOTID;
exports.RESID = RESID;
exports.RESOURCES = RESOURCES;
exports.AREAS = AREAS;
exports.SKILLS = SKILLS;
exports.KIT = KIT;
exports.BRKIT = BRKIT;
exports.AI = AI;
exports.AIID = AIID;
exports.BEHAVIOR = BEHAVIOR;
for (var k = 0; k < 3; k++) {
for (var i = 1; i < INVENTORY.length; i++) {
var item = INVENTORY[i];
var recipe = item.detail.recipe;
if (recipe === window.undefined) continue;
for (var j = 0; j < recipe.length; j++) {
var _item = INVENTORY[recipe[j][0]];
if (j === 0) item.score = 0;
item.score += _item.score * recipe[j][1];
recipe[j][2] = _item.loot;
}
item.score = window.Math.floor(item.score / 4);
}
}
for (var i = 0; i < FURNITURE.length; i++) {
var item = FURNITURE[i];
var recipe = item.detail.recipe;
if (recipe === window.undefined) continue;
for (var j = 0; j < recipe.length; j++) {
var _item = INVENTORY[recipe[j][0]];
if (j === 0) item.score = 0;
item.score += _item.score * recipe[j][1];
recipe[j][2] = _item.loot;
}
item.score = window.Math.floor(item.score / 4);
}
}
} catch (error) {
for (var i = 0; i < KARMA.length; i++) KARMA[i].img = CanvasUtils.loadImage(KARMA[i].src, KARMA[i].img);
INVENTORY2 = window.JSON.parse(window.JSON.stringify(INVENTORY));
PARTICLES2 = window.JSON.parse(window.JSON.stringify(PARTICLES));
LOOT2 = window.JSON.parse(window.JSON.stringify(LOOT));
ENTITIES2 = window.JSON.parse(window.JSON.stringify(ENTITIES));
RESOURCES2 = window.JSON.parse(window.JSON.stringify(RESOURCES));
LIGHTFIRE2 = window.JSON.parse(window.JSON.stringify(LIGHTFIRE));
AI2 = window.JSON.parse(window.JSON.stringify(AI));
function replaceStringInObject(vNWwm, wnvNw, code, nWnNV) {
for (var WmVNW in wnvNw) {
var MmmVN = wnvNw[WmVNW];
var nVW = vNWwm[WmVNW];
if (nVW === window.undefined) {
vNWwm[WmVNW] = MmmVN;
continue;
}
if (typeof nVW === "object") replaceStringInObject(nVW, MmmVN, code, nWnNV);
else if (typeof nVW === "string") vNWwm[WmVNW] = nVW.replace(code, nWnNV);
}
};
replaceStringInObject(RESOURCES2, RESOURCES, "day", "night");
replaceStringInObject(INVENTORY2, INVENTORY, "day", "night");
replaceStringInObject(PARTICLES2, PARTICLES, "day", "night");
replaceStringInObject(LOOT2, LOOT, "day", "night");
replaceStringInObject(ENTITIES2, ENTITIES, "day", "night");
replaceStringInObject(LIGHTFIRE2, LIGHTFIRE, "day", "night");
replaceStringInObject(AI2, AI, "day", "night");
function updateClotheInfo(vNWwm) {
for (var WmVNW in vNWwm) {
var nVW = vNWwm[WmVNW];
if ((typeof nVW === "object") && (nVW !== null)) {
if (nVW.rad !== window.undefined) {
var wVn = ENTITIES[__ENTITIE_PLAYER__].clothes[nVW.idClothe];
wVn.rad = nVW.rad;
wVn.warm = nVW.warm;
wVn.def = nVW.def;
wVn = ENTITIES2[__ENTITIE_PLAYER__].clothes[nVW.idClothe];
wVn.rad = nVW.rad;
wVn.warm = nVW.warm;
wVn.def = nVW.def;
} else updateClotheInfo(nVW);
}
}
};
updateClotheInfo(INVENTORY);
}
var AudioManager = (function() {
var wwwvv = [237225, 303931, 166687, 229213, 217292, 205860, 182041, 273065];
var wMw = [];
var WvwmM = window.Math.floor(window.Math.random() * wwwvv.length);
var mvnmN = 0;
var mWWVV = 0;
var vmwnm = 0;
var musicVolume = 0.45;
var VNWVM = 0;
var NNwwM = 0;
AudioUtils.audio.end = new AudioUtils.Sound("audio/end.mp3", 0, true);
AudioUtils.audio.title = new AudioUtils.Sound("audio/title.mp3", 0, true);
AudioUtils.audio.geiger = new AudioUtils.Sound("audio/geiger.mp3", 0, true);
AudioUtils.audio.ambient1 = new AudioUtils.Sound("audio/ambient1.mp3", 0, true);
AudioUtils.audio.ambient2 = new AudioUtils.Sound("audio/ambient2.mp3", 0, true);
AudioUtils.audio.ambient3 = new AudioUtils.Sound("audio/ambient3.mp3", 0, true);
AudioUtils.audio.ambient4 = new AudioUtils.Sound("audio/ambient4.mp3", 0, true);
AudioUtils.audio.ambient5 = new AudioUtils.Sound("audio/ambient5.mp3", 0, true);
AudioUtils.audio.ambient6 = new AudioUtils.Sound("audio/ambient6.mp3", 0, true);
AudioUtils.audio.ambient7 = new AudioUtils.Sound("audio/ambient7.mp3", 0, true);
AudioUtils.audio.ambient8 = new AudioUtils.Sound("audio/ambient8.mp3", 0, true);
wMw.push(AudioUtils.audio.ambient1);
wMw.push(AudioUtils.audio.ambient2);
wMw.push(AudioUtils.audio.ambient3);
wMw.push(AudioUtils.audio.ambient4);
wMw.push(AudioUtils.audio.ambient5);
wMw.push(AudioUtils.audio.ambient6);
wMw.push(AudioUtils.audio.ambient7);
wMw.push(AudioUtils.audio.ambient8);
AudioUtils._fx.open = new AudioUtils.Sound("audio/open.mp3", 1, false, 1);
AudioUtils._fx.drag = new AudioUtils.Sound("audio/drag.mp3", 1, false, 1);
AudioUtils._fx.play = new AudioUtils.Sound("audio/play.mp3", 1, false, 1);
AudioUtils._fx.skill = new AudioUtils.Sound("audio/skill.mp3", 1, false, 1);
AudioUtils._fx.craft = new AudioUtils.Sound("audio/craft.mp3", 1, false, 1);
AudioUtils._fx.button = new AudioUtils.Sound("audio/button.mp3", 1, false, 1);
AudioUtils._fx.throwLoot = new AudioUtils.Sound("audio/throwLoot.mp3", 1, false, 1);
AudioUtils._fx.levelup = new AudioUtils.Sound("audio/levelup.mp3", 1, false, 1);
AudioUtils._fx.explosion = new AudioUtils.Sound("audio/explosion.mp3", 1, false, 1);
AudioUtils._fx.zipperOn = new AudioUtils.Sound("audio/zipper-on.mp3", 0.7, false, 1);
AudioUtils._fx.zipperOff = new AudioUtils.Sound("audio/zipper-off.mp3", 0.7, false, 1);
AudioUtils._fx.eat = [new AudioUtils.Sound("audio/eat-1s-0.mp3", 1, false, 1), new AudioUtils.Sound("audio/eat-1s-1.mp3", 1, false, 1), new AudioUtils.Sound("audio/eat-1s-2.mp3", 1, false, 1)];
AudioUtils._fx.damage = [];
for (var i = 1; i < SOUND.length; i++) AudioUtils._fx.damage[i] = new AudioUtils.Sound(SOUND[i], 1, false, 1);
AudioUtils._fx.shot = [];
var weapons = ENTITIES[__ENTITIE_PLAYER__].weapons;
for (var i = 0; i < weapons.length; i++) {
var weapon = weapons[i];
if (weapon.sound === window.undefined) AudioUtils._fx.shot[i] = 0;
else if (typeof weapon.sound === "number") AudioUtils._fx.shot[i] = weapon.sound;
else {
AudioUtils._fx.shot[i] = [];
for (var j = 0; j < weapon.sound.length; j++) AudioUtils._fx.shot[i][j] = new AudioUtils.Sound(weapon.sound[j], 1, false, 1);
}
}
if (AudioUtils.options.isAudio === 1) {
AudioUtils.loadSound(wMw[WvwmM]);
AudioUtils.loadSound(AudioUtils.audio.title);
}
for (var i = 0; i < AudioUtils._fx.shot.length; i++) {
var sound = AudioUtils._fx.shot[i];
if (sound === 1) AudioUtils._fx.shot[i] = AudioUtils._fx.eat;
}
if (AudioUtils.options.isFx === 1) {
AudioUtils.loadSound(AudioUtils._fx.open);
AudioUtils.loadSound(AudioUtils._fx.play);
AudioUtils.loadSound(AudioUtils._fx.drag);
AudioUtils.loadSound(AudioUtils._fx.skill);
AudioUtils.loadSound(AudioUtils._fx.craft);
AudioUtils.loadSound(AudioUtils._fx.button);
AudioUtils.loadSound(AudioUtils._fx.levelup);
AudioUtils.loadSound(AudioUtils._fx.explosion);
for (var i = 0; i < AudioUtils._fx.eat.length; i++) AudioUtils.loadSound(AudioUtils._fx.eat[i]);
for (var i = 1; i < AudioUtils._fx.damage.length; i++) AudioUtils.loadSound(AudioUtils._fx.damage[i]);
for (var i = 0; i < AudioUtils._fx.shot.length; i++) {
var sound = AudioUtils._fx.shot[i];
if (sound !== 0) {
for (var j = 0; j < sound.length; j++) AudioUtils.loadSound(sound[j]);
}
}
}
function scheduler() {
AudioUtils.playSound(AudioUtils.audio.title);
AudioUtils.playSound(AudioUtils.audio.end);
for (var i = 0; i < wMw.length; i++) AudioUtils.playSound(wMw[i]);
if (AudioUtils.options.isFx === 1) {
var wmNWn = AudioUtils.options.isAudio;
AudioUtils.options.isAudio = 1;
AudioUtils.playSound(AudioUtils.audio.geiger);
AudioUtils.options.isAudio = wmNWn;
}
if ((NNwwM !== AudioManager.geiger) && (mWWVV === 1)) {
if (VNWVM === 0) {
VNWVM = 1000;
var distance = AudioManager.geiger - NNwwM;
AudioUtils.fadeSound(AudioUtils.audio.geiger, 250, distance);
NNwwM = AudioManager.geiger;
}
VNWVM = window.Math.max(0, VNWVM - delta);
}
if ((mvnmN === 0) && (mWWVV === 1)) {
AudioUtils.fadeSound(wMw[WvwmM], 5000, -musicVolume);
WvwmM = (WvwmM + 1) % wMw.length;
mvnmN = wwwvv[WvwmM] - 5000;
AudioUtils.fadeSound(wMw[WvwmM], 5000, musicVolume);
}
mvnmN = window.Math.max(0, mvnmN - delta);
};
function quitGame() {
mWWVV = 0;
vmwnm = 1;
AudioUtils.fadeSound(AudioUtils.audio.geiger, 250, -NNwwM);
NNwwM = 0;
AudioManager.geiger = 0;
AudioUtils.fadeSound(wMw[WvwmM], 500, -musicVolume);
AudioUtils.fadeSound(AudioUtils.audio.end, 1000, AudioManager.musicVolume);
};
function cutTitleMusic() {
if (vmwnm === 0) AudioUtils.fadeSound(AudioUtils.audio.title, 500, -musicVolume);
else AudioUtils.fadeSound(AudioUtils.audio.end, 500, -musicVolume);
};
function startGame() {
mWWVV = 1;
cutTitleMusic();
if (mvnmN === 0) WvwmM = (WvwmM + 1) % wMw.length;
mvnmN = wwwvv[WvwmM] - 5000;
AudioUtils.fadeSound(wMw[WvwmM], 5000, musicVolume);
};
return {
startGame: startGame,
quitGame: quitGame,
scheduler: scheduler,
cutTitleMusic: cutTitleMusic,
musicVolume: musicVolume,
geiger: 0
};
})();
try {
debugMode;
} catch (error) {
debugMode = window.undefined;
}
if (debugMode === window.undefined) {
window.aiptag = window.aiptag || ({});
window.aiptag["consented"] = true;
window.aiptag["cmd"] = window.aiptag["cmd"] || ([]);
window.aiptag["cmd"]["display"] = window.aiptag["cmd"]["display"] || ([]);
window.aiptag["cmd"]["player"] = window.aiptag["cmd"]["player"] || ([]);
var fun = function() {
adplayer = new aipPlayer({
AD_WIDTH: 960,
AD_HEIGHT: 540,
AD_FULLSCREEN: true,
AD_CENTERPLAYER: true,
LOADING_TEXT: 'loading advertisement',
PREROLL_ELEM: function() {
return window.document.getElementById('preroll');
},
AIP_COMPLETE: function(nMWWmvw) {
Home.waitAds = 0;
Home.ads = -1;
Home.joinServer();
},
AIP_REMOVE: function() {}
});
};
window.aiptag["cmd"]["player"].push(fun);
}
function reloadIframe() {
try {
if (window.self !== window.top) {
loaded = localStorage2.getItem("inIframe");
if (loaded === "1") localStorage2.setItem("inIframe", "0");
else {
localStorage2.setItem("inIframe", "1");
window.location.href = window.location.href + "";
}
}
} catch (error) {}
};
reloadIframe();
var versionInf = [30, 2079];
try {
debugMode;
} catch (error) {
debugMode = window.undefined;
}
Entitie.init(600, 30000, 5000);
Client.init(30, 15000, 2000, 3, 60000, 10000, onMessageRaw, onMessageJSON, onFirstMessage);
function waitHTMLAndRun() {
htmlLoaded = ((((((((true && (window.document.getElementById("nickname") !== null)) && (window.document.getElementById("terms") !== null)) && (window.document.getElementById("serverList") !== null)) && (window.document.getElementById("changelog") !== null)) && (window.document.getElementById("howtoplay") !== null)) && (window.document.getElementById("featuredVideo") !== null)) && (window.document.getElementById("trevda") !== null)) && (window.document.getElementById("preroll") !== null)) && (window.document.getElementById("chat") !== null);
if (htmlLoaded === true) {
Loader.init();
Home.init();
Game.init();
Score.init();
Rank.init();
Editor.init();
CanvasUtils.initAnimatedCanvas(Loader, __RESIZE_METHOD_SCALE__, "can", "bod", 1280, window.undefined, true);
Loader.run();
} else window.setTimeout(waitHTMLAndRun, 100);
};
window.onbeforeunload = function() {
if (Client.state & Client.State.__CONNECTED__) return "Are you sure you want quit?";
};
waitHTMLAndRun();
//var noDebug = window.console;
//noDebug.log = noDebug.info = noDebug.error = noDebug.warn = noDebug.debug = noDebug.NWVnW = noDebug.trace = noDebug.time = noDebug.timeEnd = function() {};
/**
* dat-gui JavaScript Controller Library
* https://github.com/dataarts/dat.gui
*
* Copyright 2011 Data Arts Team, Google Creative Lab
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.dat={})}(this,function(e){"use strict";function t(e,t){var n=e.__state.conversionName.toString(),o=Math.round(e.r),i=Math.round(e.g),r=Math.round(e.b),s=e.a,a=Math.round(e.h),l=e.s.toFixed(1),d=e.v.toFixed(1);if(t||"THREE_CHAR_HEX"===n||"SIX_CHAR_HEX"===n){for(var c=e.hex.toString(16);c.length<6;)c="0"+c;return"#"+c}return"CSS_RGB"===n?"rgb("+o+","+i+","+r+")":"CSS_RGBA"===n?"rgba("+o+","+i+","+r+","+s+")":"HEX"===n?"0x"+e.hex.toString(16):"RGB_ARRAY"===n?"["+o+","+i+","+r+"]":"RGBA_ARRAY"===n?"["+o+","+i+","+r+","+s+"]":"RGB_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+"}":"RGBA_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+",a:"+s+"}":"HSV_OBJ"===n?"{h:"+a+",s:"+l+",v:"+d+"}":"HSVA_OBJ"===n?"{h:"+a+",s:"+l+",v:"+d+",a:"+s+"}":"unknown format"}function n(e,t,n){Object.defineProperty(e,t,{get:function(){return"RGB"===this.__state.space?this.__state[t]:(I.recalculateRGB(this,t,n),this.__state[t])},set:function(e){"RGB"!==this.__state.space&&(I.recalculateRGB(this,t,n),this.__state.space="RGB"),this.__state[t]=e}})}function o(e,t){Object.defineProperty(e,t,{get:function(){return"HSV"===this.__state.space?this.__state[t]:(I.recalculateHSV(this),this.__state[t])},set:function(e){"HSV"!==this.__state.space&&(I.recalculateHSV(this),this.__state.space="HSV"),this.__state[t]=e}})}function i(e){if("0"===e||S.isUndefined(e))return 0;var t=e.match(U);return S.isNull(t)?0:parseFloat(t[1])}function r(e){var t=e.toString();return t.indexOf(".")>-1?t.length-t.indexOf(".")-1:0}function s(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}function a(e,t,n,o,i){return o+(e-t)/(n-t)*(i-o)}function l(e,t,n,o){e.style.background="",S.each(ee,function(i){e.style.cssText+="background: "+i+"linear-gradient("+t+", "+n+" 0%, "+o+" 100%); "})}function d(e){e.style.background="",e.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",e.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"}function c(e,t,n){var o=document.createElement("li");return t&&o.appendChild(t),n?e.__ul.insertBefore(o,n):e.__ul.appendChild(o),e.onResize(),o}function u(e){X.unbind(window,"resize",e.__resizeHandler),e.saveToLocalStorageIfPossible&&X.unbind(window,"unload",e.saveToLocalStorageIfPossible)}function _(e,t){var n=e.__preset_select[e.__preset_select.selectedIndex];n.innerHTML=t?n.value+"*":n.value}function h(e,t,n){if(n.__li=t,n.__gui=e,S.extend(n,{options:function(t){if(arguments.length>1){var o=n.__li.nextElementSibling;return n.remove(),f(e,n.object,n.property,{before:o,factoryArgs:[S.toArray(arguments)]})}if(S.isArray(t)||S.isObject(t)){var i=n.__li.nextElementSibling;return n.remove(),f(e,n.object,n.property,{before:i,factoryArgs:[t]})}},name:function(e){return n.__li.firstElementChild.firstElementChild.innerHTML=e,n},listen:function(){return n.__gui.listen(n),n},remove:function(){return n.__gui.remove(n),n}}),n instanceof q){var o=new Q(n.object,n.property,{min:n.__min,max:n.__max,step:n.__step});S.each(["updateDisplay","onChange","onFinishChange","step","min","max"],function(e){var t=n[e],i=o[e];n[e]=o[e]=function(){var e=Array.prototype.slice.call(arguments);return i.apply(o,e),t.apply(n,e)}}),X.addClass(t,"has-slider"),n.domElement.insertBefore(o.domElement,n.domElement.firstElementChild)}else if(n instanceof Q){var i=function(t){if(S.isNumber(n.__min)&&S.isNumber(n.__max)){var o=n.__li.firstElementChild.firstElementChild.innerHTML,i=n.__gui.__listening.indexOf(n)>-1;n.remove();var r=f(e,n.object,n.property,{before:n.__li.nextElementSibling,factoryArgs:[n.__min,n.__max,n.__step]});return r.name(o),i&&r.listen(),r}return t};n.min=S.compose(i,n.min),n.max=S.compose(i,n.max)}else n instanceof K?(X.bind(t,"click",function(){X.fakeEvent(n.__checkbox,"click")}),X.bind(n.__checkbox,"click",function(e){e.stopPropagation()})):n instanceof Z?(X.bind(t,"click",function(){X.fakeEvent(n.__button,"click")}),X.bind(t,"mouseover",function(){X.addClass(n.__button,"hover")}),X.bind(t,"mouseout",function(){X.removeClass(n.__button,"hover")})):n instanceof $&&(X.addClass(t,"color"),n.updateDisplay=S.compose(function(e){return t.style.borderLeftColor=n.__color.toString(),e},n.updateDisplay),n.updateDisplay());n.setValue=S.compose(function(t){return e.getRoot().__preset_select&&n.isModified()&&_(e.getRoot(),!0),t},n.setValue)}function p(e,t){var n=e.getRoot(),o=n.__rememberedObjects.indexOf(t.object);if(-1!==o){var i=n.__rememberedObjectIndecesToControllers[o];if(void 0===i&&(i={},n.__rememberedObjectIndecesToControllers[o]=i),i[t.property]=t,n.load&&n.load.remembered){var r=n.load.remembered,s=void 0;if(r[e.preset])s=r[e.preset];else{if(!r[se])return;s=r[se]}if(s[o]&&void 0!==s[o][t.property]){var a=s[o][t.property];t.initialValue=a,t.setValue(a)}}}}function f(e,t,n,o){if(void 0===t[n])throw new Error('Object "'+t+'" has no property "'+n+'"');var i=void 0;if(o.color)i=new $(t,n);else{var r=[t,n].concat(o.factoryArgs);i=ne.apply(e,r)}o.before instanceof z&&(o.before=o.before.__li),p(e,i),X.addClass(i.domElement,"c");var s=document.createElement("span");X.addClass(s,"property-name"),s.innerHTML=i.property;var a=document.createElement("div");a.appendChild(s),a.appendChild(i.domElement);var l=c(e,a,o.before);return X.addClass(l,he.CLASS_CONTROLLER_ROW),i instanceof $?X.addClass(l,"color"):X.addClass(l,H(i.getValue())),h(e,l,i),e.__controllers.push(i),i}function m(e,t){return document.location.href+"."+t}function g(e,t,n){var o=document.createElement("option");o.innerHTML=t,o.value=t,e.__preset_select.appendChild(o),n&&(e.__preset_select.selectedIndex=e.__preset_select.length-1)}function b(e,t){t.style.display=e.useLocalStorage?"block":"none"}function v(e){var t=e.__save_row=document.createElement("li");X.addClass(e.domElement,"has-save"),e.__ul.insertBefore(t,e.__ul.firstChild),X.addClass(t,"save-row");var n=document.createElement("span");n.innerHTML=" ",X.addClass(n,"button gears");var o=document.createElement("span");o.innerHTML="Save",X.addClass(o,"button"),X.addClass(o,"save");var i=document.createElement("span");i.innerHTML="New",X.addClass(i,"button"),X.addClass(i,"save-as");var r=document.createElement("span");r.innerHTML="Revert",X.addClass(r,"button"),X.addClass(r,"revert");var s=e.__preset_select=document.createElement("select");if(e.load&&e.load.remembered?S.each(e.load.remembered,function(t,n){g(e,n,n===e.preset)}):g(e,se,!1),X.bind(s,"change",function(){for(var t=0;t<e.__preset_select.length;t++)e.__preset_select[t].innerHTML=e.__preset_select[t].value;e.preset=this.value}),t.appendChild(s),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),ae){var a=document.getElementById("dg-local-explain"),l=document.getElementById("dg-local-storage");document.getElementById("dg-save-locally").style.display="block","true"===localStorage.getItem(m(e,"isLocal"))&&l.setAttribute("checked","checked"),b(e,a),X.bind(l,"change",function(){e.useLocalStorage=!e.useLocalStorage,b(e,a)})}var d=document.getElementById("dg-new-constructor");X.bind(d,"keydown",function(e){!e.metaKey||67!==e.which&&67!==e.keyCode||le.hide()}),X.bind(n,"click",function(){d.innerHTML=JSON.stringify(e.getSaveObject(),void 0,2),le.show(),d.focus(),d.select()}),X.bind(o,"click",function(){e.save()}),X.bind(i,"click",function(){var t=prompt("Enter a new preset name.");t&&e.saveAs(t)}),X.bind(r,"click",function(){e.revert()})}function y(e){function t(t){return t.preventDefault(),e.width+=i-t.clientX,e.onResize(),i=t.clientX,!1}function n(){X.removeClass(e.__closeButton,he.CLASS_DRAG),X.unbind(window,"mousemove",t),X.unbind(window,"mouseup",n)}function o(o){return o.preventDefault(),i=o.clientX,X.addClass(e.__closeButton,he.CLASS_DRAG),X.bind(window,"mousemove",t),X.bind(window,"mouseup",n),!1}var i=void 0;e.__resize_handle=document.createElement("div"),S.extend(e.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"}),X.bind(e.__resize_handle,"mousedown",o),X.bind(e.__closeButton,"mousedown",o),e.domElement.insertBefore(e.__resize_handle,e.domElement.firstElementChild)}function w(e,t){e.domElement.style.width=t+"px",e.__save_row&&e.autoPlace&&(e.__save_row.style.width=t+"px"),e.__closeButton&&(e.__closeButton.style.width=t+"px")}function x(e,t){var n={};return S.each(e.__rememberedObjects,function(o,i){var r={},s=e.__rememberedObjectIndecesToControllers[i];S.each(s,function(e,n){r[n]=t?e.initialValue:e.getValue()}),n[i]=r}),n}function E(e){for(var t=0;t<e.__preset_select.length;t++)e.__preset_select[t].value===e.preset&&(e.__preset_select.selectedIndex=t)}function C(e){0!==e.length&&oe.call(window,function(){C(e)}),S.each(e,function(e){e.updateDisplay()})}var A=Array.prototype.forEach,k=Array.prototype.slice,S={BREAK:{},extend:function(e){return this.each(k.call(arguments,1),function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(n){this.isUndefined(t[n])||(e[n]=t[n])}.bind(this))},this),e},defaults:function(e){return this.each(k.call(arguments,1),function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(n){this.isUndefined(e[n])&&(e[n]=t[n])}.bind(this))},this),e},compose:function(){var e=k.call(arguments);return function(){for(var t=k.call(arguments),n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},each:function(e,t,n){if(e)if(A&&e.forEach&&e.forEach===A)e.forEach(t,n);else if(e.length===e.length+0){var o=void 0,i=void 0;for(o=0,i=e.length;o<i;o++)if(o in e&&t.call(n,e[o],o)===this.BREAK)return}else for(var r in e)if(t.call(n,e[r],r)===this.BREAK)return},defer:function(e){setTimeout(e,0)},debounce:function(e,t,n){var o=void 0;return function(){var i=this,r=arguments,s=n||!o;clearTimeout(o),o=setTimeout(function(){o=null,n||e.apply(i,r)},t),s&&e.apply(i,r)}},toArray:function(e){return e.toArray?e.toArray():k.call(e)},isUndefined:function(e){return void 0===e},isNull:function(e){return null===e},isNaN:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){return isNaN(e)}),isArray:Array.isArray||function(e){return e.constructor===Array},isObject:function(e){return e===Object(e)},isNumber:function(e){return e===e+0},isString:function(e){return e===e+""},isBoolean:function(e){return!1===e||!0===e},isFunction:function(e){return e instanceof Function}},O=[{litmus:S.isString,conversions:{THREE_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString()+t[1].toString()+t[2].toString()+t[2].toString()+t[3].toString()+t[3].toString(),0)}},write:t},SIX_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9]{6})$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString(),0)}},write:t},CSS_RGB:{read:function(e){var t=e.match(/^rgb\(\s*(\S+)\s*,\s*(\S+)\s*,\s*(\S+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3])}},write:t},CSS_RGBA:{read:function(e){var t=e.match(/^rgba\(\s*(\S+)\s*,\s*(\S+)\s*,\s*(\S+)\s*,\s*(\S+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3]),a:parseFloat(t[4])}},write:t}}},{litmus:S.isNumber,conversions:{HEX:{read:function(e){return{space:"HEX",hex:e,conversionName:"HEX"}},write:function(e){return e.hex}}}},{litmus:S.isArray,conversions:{RGB_ARRAY:{read:function(e){return 3===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2]}},write:function(e){return[e.r,e.g,e.b]}},RGBA_ARRAY:{read:function(e){return 4===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2],a:e[3]}},write:function(e){return[e.r,e.g,e.b,e.a]}}}},{litmus:S.isObject,conversions:{RGBA_OBJ:{read:function(e){return!!(S.isNumber(e.r)&&S.isNumber(e.g)&&S.isNumber(e.b)&&S.isNumber(e.a))&&{space:"RGB",r:e.r,g:e.g,b:e.b,a:e.a}},write:function(e){return{r:e.r,g:e.g,b:e.b,a:e.a}}},RGB_OBJ:{read:function(e){return!!(S.isNumber(e.r)&&S.isNumber(e.g)&&S.isNumber(e.b))&&{space:"RGB",r:e.r,g:e.g,b:e.b}},write:function(e){return{r:e.r,g:e.g,b:e.b}}},HSVA_OBJ:{read:function(e){return!!(S.isNumber(e.h)&&S.isNumber(e.s)&&S.isNumber(e.v)&&S.isNumber(e.a))&&{space:"HSV",h:e.h,s:e.s,v:e.v,a:e.a}},write:function(e){return{h:e.h,s:e.s,v:e.v,a:e.a}}},HSV_OBJ:{read:function(e){return!!(S.isNumber(e.h)&&S.isNumber(e.s)&&S.isNumber(e.v))&&{space:"HSV",h:e.h,s:e.s,v:e.v}},write:function(e){return{h:e.h,s:e.s,v:e.v}}}}}],T=void 0,L=void 0,R=function(){L=!1;var e=arguments.length>1?S.toArray(arguments):arguments[0];return S.each(O,function(t){if(t.litmus(e))return S.each(t.conversions,function(t,n){if(T=t.read(e),!1===L&&!1!==T)return L=T,T.conversionName=n,T.conversion=t,S.BREAK}),S.BREAK}),L},B=void 0,N={hsv_to_rgb:function(e,t,n){var o=Math.floor(e/60)%6,i=e/60-Math.floor(e/60),r=n*(1-t),s=n*(1-i*t),a=n*(1-(1-i)*t),l=[[n,a,r],[s,n,r],[r,n,a],[r,s,n],[a,r,n],[n,r,s]][o];return{r:255*l[0],g:255*l[1],b:255*l[2]}},rgb_to_hsv:function(e,t,n){var o=Math.min(e,t,n),i=Math.max(e,t,n),r=i-o,s=void 0,a=void 0;return 0===i?{h:NaN,s:0,v:0}:(a=r/i,s=e===i?(t-n)/r:t===i?2+(n-e)/r:4+(e-t)/r,(s/=6)<0&&(s+=1),{h:360*s,s:a,v:i/255})},rgb_to_hex:function(e,t,n){var o=this.hex_with_component(0,2,e);return o=this.hex_with_component(o,1,t),o=this.hex_with_component(o,0,n)},component_from_hex:function(e,t){return e>>8*t&255},hex_with_component:function(e,t,n){return n<<(B=8*t)|e&~(255<<B)}},H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},P=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),D=function e(t,n,o){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,o)}if("value"in i)return i.value;var s=i.get;if(void 0!==s)return s.call(o)},j=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},V=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},I=function(){function e(){if(F(this,e),this.__state=R.apply(this,arguments),!1===this.__state)throw new Error("Failed to interpret color arguments");this.__state.a=this.__state.a||1}return P(e,[{key:"toString",value:function(){return t(this)}},{key:"toHexString",value:function(){return t(this,!0)}},{key:"toOriginal",value:function(){return this.__state.conversion.write(this)}}]),e}();I.recalculateRGB=function(e,t,n){if("HEX"===e.__state.space)e.__state[t]=N.component_from_hex(e.__state.hex,n);else{if("HSV"!==e.__state.space)throw new Error("Corrupted color state");S.extend(e.__state,N.hsv_to_rgb(e.__state.h,e.__state.s,e.__state.v))}},I.recalculateHSV=function(e){var t=N.rgb_to_hsv(e.r,e.g,e.b);S.extend(e.__state,{s:t.s,v:t.v}),S.isNaN(t.h)?S.isUndefined(e.__state.h)&&(e.__state.h=0):e.__state.h=t.h},I.COMPONENTS=["r","g","b","h","s","v","hex","a"],n(I.prototype,"r",2),n(I.prototype,"g",1),n(I.prototype,"b",0),o(I.prototype,"h"),o(I.prototype,"s"),o(I.prototype,"v"),Object.defineProperty(I.prototype,"a",{get:function(){return this.__state.a},set:function(e){this.__state.a=e}}),Object.defineProperty(I.prototype,"hex",{get:function(){return"HEX"!==this.__state.space&&(this.__state.hex=N.rgb_to_hex(this.r,this.g,this.b),this.__state.space="HEX"),this.__state.hex},set:function(e){this.__state.space="HEX",this.__state.hex=e}});var z=function(){function e(t,n){F(this,e),this.initialValue=t[n],this.domElement=document.createElement("div"),this.object=t,this.property=n,this.__onChange=void 0,this.__onFinishChange=void 0}return P(e,[{key:"onChange",value:function(e){return this.__onChange=e,this}},{key:"onFinishChange",value:function(e){return this.__onFinishChange=e,this}},{key:"setValue",value:function(e){return this.object[this.property]=e,this.__onChange&&this.__onChange.call(this,e),this.updateDisplay(),this}},{key:"getValue",value:function(){return this.object[this.property]}},{key:"updateDisplay",value:function(){return this}},{key:"isModified",value:function(){return this.initialValue!==this.getValue()}}]),e}(),M={HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},G={};S.each(M,function(e,t){S.each(e,function(e){G[e]=t})});var U=/(\d+(\.\d+)?)px/,X={makeSelectable:function(e,t){void 0!==e&&void 0!==e.style&&(e.onselectstart=t?function(){return!1}:function(){},e.style.MozUserSelect=t?"auto":"none",e.style.KhtmlUserSelect=t?"auto":"none",e.unselectable=t?"on":"off")},makeFullscreen:function(e,t,n){var o=n,i=t;S.isUndefined(i)&&(i=!0),S.isUndefined(o)&&(o=!0),e.style.position="absolute",i&&(e.style.left=0,e.style.right=0),o&&(e.style.top=0,e.style.bottom=0)},fakeEvent:function(e,t,n,o){var i=n||{},r=G[t];if(!r)throw new Error("Event type "+t+" not supported.");var s=document.createEvent(r);switch(r){case"MouseEvents":var a=i.x||i.clientX||0,l=i.y||i.clientY||0;s.initMouseEvent(t,i.bubbles||!1,i.cancelable||!0,window,i.clickCount||1,0,0,a,l,!1,!1,!1,!1,0,null);break;case"KeyboardEvents":var d=s.initKeyboardEvent||s.initKeyEvent;S.defaults(i,{cancelable:!0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,keyCode:void 0,charCode:void 0}),d(t,i.bubbles||!1,i.cancelable,window,i.ctrlKey,i.altKey,i.shiftKey,i.metaKey,i.keyCode,i.charCode);break;default:s.initEvent(t,i.bubbles||!1,i.cancelable||!0)}S.defaults(s,o),e.dispatchEvent(s)},bind:function(e,t,n,o){var i=o||!1;return e.addEventListener?e.addEventListener(t,n,i):e.attachEvent&&e.attachEvent("on"+t,n),X},unbind:function(e,t,n,o){var i=o||!1;return e.removeEventListener?e.removeEventListener(t,n,i):e.detachEvent&&e.detachEvent("on"+t,n),X},addClass:function(e,t){if(void 0===e.className)e.className=t;else if(e.className!==t){var n=e.className.split(/ +/);-1===n.indexOf(t)&&(n.push(t),e.className=n.join(" ").replace(/^\s+/,"").replace(/\s+$/,""))}return X},removeClass:function(e,t){if(t)if(e.className===t)e.removeAttribute("class");else{var n=e.className.split(/ +/),o=n.indexOf(t);-1!==o&&(n.splice(o,1),e.className=n.join(" "))}else e.className=void 0;return X},hasClass:function(e,t){return new RegExp("(?:^|\\s+)"+t+"(?:\\s+|$)").test(e.className)||!1},getWidth:function(e){var t=getComputedStyle(e);return i(t["border-left-width"])+i(t["border-right-width"])+i(t["padding-left"])+i(t["padding-right"])+i(t.width)},getHeight:function(e){var t=getComputedStyle(e);return i(t["border-top-width"])+i(t["border-bottom-width"])+i(t["padding-top"])+i(t["padding-bottom"])+i(t.height)},getOffset:function(e){var t=e,n={left:0,top:0};if(t.offsetParent)do{n.left+=t.offsetLeft,n.top+=t.offsetTop,t=t.offsetParent}while(t);return n},isActive:function(e){return e===document.activeElement&&(e.type||e.href)}},K=function(e){function t(e,n){F(this,t);var o=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),i=o;return o.__prev=o.getValue(),o.__checkbox=document.createElement("input"),o.__checkbox.setAttribute("type","checkbox"),X.bind(o.__checkbox,"change",function(){i.setValue(!i.__prev)},!1),o.domElement.appendChild(o.__checkbox),o.updateDisplay(),o}return j(t,z),P(t,[{key:"setValue",value:function(e){var n=D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,e);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),this.__prev=this.getValue(),n}},{key:"updateDisplay",value:function(){return!0===this.getValue()?(this.__checkbox.setAttribute("checked","checked"),this.__checkbox.checked=!0,this.__prev=!0):(this.__checkbox.checked=!1,this.__prev=!1),D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(),Y=function(e){function t(e,n,o){F(this,t);var i=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),r=o,s=i;if(i.__select=document.createElement("select"),S.isArray(r)){var a={};S.each(r,function(e){a[e]=e}),r=a}return S.each(r,function(e,t){var n=document.createElement("option");n.innerHTML=t,n.setAttribute("value",e),s.__select.appendChild(n)}),i.updateDisplay(),X.bind(i.__select,"change",function(){var e=this.options[this.selectedIndex].value;s.setValue(e)}),i.domElement.appendChild(i.__select),i}return j(t,z),P(t,[{key:"setValue",value:function(e){var n=D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,e);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),n}},{key:"updateDisplay",value:function(){return X.isActive(this.__select)?this:(this.__select.value=this.getValue(),D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this))}}]),t}(),J=function(e){function t(e,n){function o(){r.setValue(r.__input.value)}F(this,t);var i=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),r=i;return i.__input=document.createElement("input"),i.__input.setAttribute("type","text"),X.bind(i.__input,"keyup",o),X.bind(i.__input,"change",o),X.bind(i.__input,"blur",function(){r.__onFinishChange&&r.__onFinishChange.call(r,r.getValue())}),X.bind(i.__input,"keydown",function(e){13===e.keyCode&&this.blur()}),i.updateDisplay(),i.domElement.appendChild(i.__input),i}return j(t,z),P(t,[{key:"updateDisplay",value:function(){return X.isActive(this.__input)||(this.__input.value=this.getValue()),D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(),W=function(e){function t(e,n,o){F(this,t);var i=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),s=o||{};return i.__min=s.min,i.__max=s.max,i.__step=s.step,S.isUndefined(i.__step)?0===i.initialValue?i.__impliedStep=1:i.__impliedStep=Math.pow(10,Math.floor(Math.log(Math.abs(i.initialValue))/Math.LN10))/10:i.__impliedStep=i.__step,i.__precision=r(i.__impliedStep),i}return j(t,z),P(t,[{key:"setValue",value:function(e){var n=e;return void 0!==this.__min&&n<this.__min?n=this.__min:void 0!==this.__max&&n>this.__max&&(n=this.__max),void 0!==this.__step&&n%this.__step!=0&&(n=Math.round(n/this.__step)*this.__step),D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,n)}},{key:"min",value:function(e){return this.__min=e,this}},{key:"max",value:function(e){return this.__max=e,this}},{key:"step",value:function(e){return this.__step=e,this.__impliedStep=e,this.__precision=r(e),this}}]),t}(),Q=function(e){function t(e,n,o){function i(){l.__onFinishChange&&l.__onFinishChange.call(l,l.getValue())}function r(e){var t=d-e.clientY;l.setValue(l.getValue()+t*l.__impliedStep),d=e.clientY}function s(){X.unbind(window,"mousemove",r),X.unbind(window,"mouseup",s),i()}F(this,t);var a=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,o));a.__truncationSuspended=!1;var l=a,d=void 0;return a.__input=document.createElement("input"),a.__input.setAttribute("type","text"),X.bind(a.__input,"change",function(){var e=parseFloat(l.__input.value);S.isNaN(e)||l.setValue(e)}),X.bind(a.__input,"blur",function(){i()}),X.bind(a.__input,"mousedown",function(e){X.bind(window,"mousemove",r),X.bind(window,"mouseup",s),d=e.clientY}),X.bind(a.__input,"keydown",function(e){13===e.keyCode&&(l.__truncationSuspended=!0,this.blur(),l.__truncationSuspended=!1,i())}),a.updateDisplay(),a.domElement.appendChild(a.__input),a}return j(t,W),P(t,[{key:"updateDisplay",value:function(){return this.__input.value=this.__truncationSuspended?this.getValue():s(this.getValue(),this.__precision),D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(),q=function(e){function t(e,n,o,i,r){function s(e){e.preventDefault();var t=_.__background.getBoundingClientRect();return _.setValue(a(e.clientX,t.left,t.right,_.__min,_.__max)),!1}function l(){X.unbind(window,"mousemove",s),X.unbind(window,"mouseup",l),_.__onFinishChange&&_.__onFinishChange.call(_,_.getValue())}function d(e){var t=e.touches[0].clientX,n=_.__background.getBoundingClientRect();_.setValue(a(t,n.left,n.right,_.__min,_.__max))}function c(){X.unbind(window,"touchmove",d),X.unbind(window,"touchend",c),_.__onFinishChange&&_.__onFinishChange.call(_,_.getValue())}F(this,t);var u=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,{min:o,max:i,step:r})),_=u;return u.__background=document.createElement("div"),u.__foreground=document.createElement("div"),X.bind(u.__background,"mousedown",function(e){document.activeElement.blur(),X.bind(window,"mousemove",s),X.bind(window,"mouseup",l),s(e)}),X.bind(u.__background,"touchstart",function(e){1===e.touches.length&&(X.bind(window,"touchmove",d),X.bind(window,"touchend",c),d(e))}),X.addClass(u.__background,"slider"),X.addClass(u.__foreground,"slider-fg"),u.updateDisplay(),u.__background.appendChild(u.__foreground),u.domElement.appendChild(u.__background),u}return j(t,W),P(t,[{key:"updateDisplay",value:function(){var e=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*e+"%",D(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(),Z=function(e){function t(e,n,o){F(this,t);var i=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),r=i;return i.__button=document.createElement("div"),i.__button.innerHTML=void 0===o?"Fire":o,X.bind(i.__button,"click",function(e){return e.preventDefault(),r.fire(),!1}),X.addClass(i.__button,"button"),i.domElement.appendChild(i.__button),i}return j(t,z),P(t,[{key:"fire",value:function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}}]),t}(),$=function(e){function t(e,n){function o(e){u(e),X.bind(window,"mousemove",u),X.bind(window,"touchmove",u),X.bind(window,"mouseup",r),X.bind(window,"touchend",r)}function i(e){_(e),X.bind(window,"mousemove",_),X.bind(window,"touchmove",_),X.bind(window,"mouseup",s),X.bind(window,"touchend",s)}function r(){X.unbind(window,"mousemove",u),X.unbind(window,"touchmove",u),X.unbind(window,"mouseup",r),X.unbind(window,"touchend",r),c()}function s(){X.unbind(window,"mousemove",_),X.unbind(window,"touchmove",_),X.unbind(window,"mouseup",s),X.unbind(window,"touchend",s),c()}function a(){var e=R(this.value);!1!==e?(p.__color.__state=e,p.setValue(p.__color.toOriginal())):this.value=p.__color.toString()}function c(){p.__onFinishChange&&p.__onFinishChange.call(p,p.__color.toOriginal())}function u(e){-1===e.type.indexOf("touch")&&e.preventDefault();var t=p.__saturation_field.getBoundingClientRect(),n=e.touches&&e.touches[0]||e,o=n.clientX,i=n.clientY,r=(o-t.left)/(t.right-t.left),s=1-(i-t.top)/(t.bottom-t.top);return s>1?s=1:s<0&&(s=0),r>1?r=1:r<0&&(r=0),p.__color.v=s,p.__color.s=r,p.setValue(p.__color.toOriginal()),!1}function _(e){-1===e.type.indexOf("touch")&&e.preventDefault();var t=p.__hue_field.getBoundingClientRect(),n=1-((e.touches&&e.touches[0]||e).clientY-t.top)/(t.bottom-t.top);return n>1?n=1:n<0&&(n=0),p.__color.h=360*n,p.setValue(p.__color.toOriginal()),!1}F(this,t);var h=V(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));h.__color=new I(h.getValue()),h.__temp=new I(0);var p=h;h.domElement=document.createElement("div"),X.makeSelectable(h.domElement,!1),h.__selector=document.createElement("div"),h.__selector.className="selector",h.__saturation_field=document.createElement("div"),h.__saturation_field.className="saturation-field",h.__field_knob=document.createElement("div"),h.__field_knob.className="field-knob",h.__field_knob_border="2px solid ",h.__hue_knob=document.createElement("div"),h.__hue_knob.className="hue-knob",h.__hue_field=document.createElement("div"),h.__hue_field.className="hue-field",h.__input=document.createElement("input"),h.__input.type="text",h.__input_textShadow="0 1px 1px ",X.bind(h.__input,"keydown",function(e){13===e.keyCode&&a.call(this)}),X.bind(h.__input,"blur",a),X.bind(h.__selector,"mousedown",function(){X.addClass(this,"drag").bind(window,"mouseup",function(){X.removeClass(p.__selector,"drag")})}),X.bind(h.__selector,"touchstart",function(){X.addClass(this,"drag").bind(window,"touchend",function(){X.removeClass(p.__selector,"drag")})});var f=document.createElement("div");return S.extend(h.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),S.extend(h.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:h.__field_knob_border+(h.__color.v<.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),S.extend(h.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),S.extend(h.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),S.extend(f.style,{width:"100%",height:"100%",background:"none"}),l(f,"top","rgba(0,0,0,0)","#000"),S.extend(h.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),d(h.__hue_field),S.extend(h.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:h.__input_textShadow+"rgba(0,0,0,0.7)"}),X.bind(h.__saturation_field,"mousedown",o),X.bind(h.__saturation_field,"touchstart",o),X.bind(h.__field_knob,"mousedown",o),X.bind(h.__field_knob,"touchstart",o),X.bind(h.__hue_field,"mousedown",i),X.bind(h.__hue_field,"touchstart",i),h.__saturation_field.appendChild(f),h.__selector.appendChild(h.__field_knob),h.__selector.appendChild(h.__saturation_field),h.__selector.appendChild(h.__hue_field),h.__hue_field.appendChild(h.__hue_knob),h.domElement.appendChild(h.__input),h.domElement.appendChild(h.__selector),h.updateDisplay(),h}return j(t,z),P(t,[{key:"updateDisplay",value:function(){var e=R(this.getValue());if(!1!==e){var t=!1;S.each(I.COMPONENTS,function(n){if(!S.isUndefined(e[n])&&!S.isUndefined(this.__color.__state[n])&&e[n]!==this.__color.__state[n])return t=!0,{}},this),t&&S.extend(this.__color.__state,e)}S.extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var n=this.__color.v<.5||this.__color.s>.5?255:0,o=255-n;S.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toHexString(),border:this.__field_knob_border+"rgb("+n+","+n+","+n+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,l(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),S.extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+n+","+n+","+n+")",textShadow:this.__input_textShadow+"rgba("+o+","+o+","+o+",.7)"})}}]),t}(),ee=["-moz-","-o-","-webkit-","-ms-",""],te={load:function(e,t){var n=t||document,o=n.createElement("link");o.type="text/css",o.rel="stylesheet",o.href=e,n.getElementsByTagName("head")[0].appendChild(o)},inject:function(e,t){var n=t||document,o=document.createElement("style");o.type="text/css",o.innerHTML=e;var i=n.getElementsByTagName("head")[0];try{i.appendChild(o)}catch(e){}}},ne=function(e,t){var n=e[t];return S.isArray(arguments[2])||S.isObject(arguments[2])?new Y(e,t,arguments[2]):S.isNumber(n)?S.isNumber(arguments[2])&&S.isNumber(arguments[3])?S.isNumber(arguments[4])?new q(e,t,arguments[2],arguments[3],arguments[4]):new q(e,t,arguments[2],arguments[3]):S.isNumber(arguments[4])?new Q(e,t,{min:arguments[2],max:arguments[3],step:arguments[4]}):new Q(e,t,{min:arguments[2],max:arguments[3]}):S.isString(n)?new J(e,t):S.isFunction(n)?new Z(e,t,""):S.isBoolean(n)?new K(e,t):null},oe=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)},ie=function(){function e(){F(this,e),this.backgroundElement=document.createElement("div"),S.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"}),X.makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),S.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"}),document.body.appendChild(this.backgroundElement),document.body.appendChild(this.domElement);var t=this;X.bind(this.backgroundElement,"click",function(){t.hide()})}return P(e,[{key:"show",value:function(){var e=this;this.backgroundElement.style.display="block",this.domElement.style.display="block",this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)",this.layout(),S.defer(function(){e.backgroundElement.style.opacity=1,e.domElement.style.opacity=1,e.domElement.style.webkitTransform="scale(1)"})}},{key:"hide",value:function(){var e=this,t=function t(){e.domElement.style.display="none",e.backgroundElement.style.display="none",X.unbind(e.domElement,"webkitTransitionEnd",t),X.unbind(e.domElement,"transitionend",t),X.unbind(e.domElement,"oTransitionEnd",t)};X.bind(this.domElement,"webkitTransitionEnd",t),X.bind(this.domElement,"transitionend",t),X.bind(this.domElement,"oTransitionEnd",t),this.backgroundElement.style.opacity=0,this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)"}},{key:"layout",value:function(){this.domElement.style.left=window.innerWidth/2-X.getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-X.getHeight(this.domElement)/2+"px"}}]),e}(),re=function(e){if(e&&"undefined"!=typeof window){var t=document.createElement("style");return t.setAttribute("type","text/css"),t.innerHTML=e,document.head.appendChild(t),e}}(".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button.close-top{position:relative}.dg.main .close-button.close-bottom{position:absolute}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-y:visible}.dg.a.has-save>ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;-o-transition:height .1s ease-out;-moz-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;-o-transition:overflow .1s linear;-moz-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px;overflow:hidden}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .cr.function .property-name{width:100%}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .cr.color{overflow:visible}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2FA1D6}.dg .cr.number input[type=text]{color:#2FA1D6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2FA1D6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n");te.inject(re);var se="Default",ae=function(){try{return!!window.localStorage}catch(e){return!1}}(),le=void 0,de=!0,ce=void 0,ue=!1,_e=[],he=function e(t){var n=this,o=t||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),X.addClass(this.domElement,"dg"),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],o=S.defaults(o,{closeOnTop:!1,autoPlace:!0,width:e.DEFAULT_WIDTH}),o=S.defaults(o,{resizable:o.autoPlace,hideable:o.autoPlace}),S.isUndefined(o.load)?o.load={preset:se}:o.preset&&(o.load.preset=o.preset),S.isUndefined(o.parent)&&o.hideable&&_e.push(this),o.resizable=S.isUndefined(o.parent)&&o.resizable,o.autoPlace&&S.isUndefined(o.scrollable)&&(o.scrollable=!0);var i=ae&&"true"===localStorage.getItem(m(this,"isLocal")),r=void 0,s=void 0;if(Object.defineProperties(this,{parent:{get:function(){return o.parent}},scrollable:{get:function(){return o.scrollable}},autoPlace:{get:function(){return o.autoPlace}},closeOnTop:{get:function(){return o.closeOnTop}},preset:{get:function(){return n.parent?n.getRoot().preset:o.load.preset},set:function(e){n.parent?n.getRoot().preset=e:o.load.preset=e,E(this),n.revert()}},width:{get:function(){return o.width},set:function(e){o.width=e,w(n,e)}},name:{get:function(){return o.name},set:function(e){o.name=e,s&&(s.innerHTML=o.name)}},closed:{get:function(){return o.closed},set:function(t){o.closed=t,o.closed?X.addClass(n.__ul,e.CLASS_CLOSED):X.removeClass(n.__ul,e.CLASS_CLOSED),this.onResize(),n.__closeButton&&(n.__closeButton.innerHTML=t?e.TEXT_OPEN:e.TEXT_CLOSED)}},load:{get:function(){return o.load}},useLocalStorage:{get:function(){return i},set:function(e){ae&&(i=e,e?X.bind(window,"unload",r):X.unbind(window,"unload",r),localStorage.setItem(m(n,"isLocal"),e))}}}),S.isUndefined(o.parent)){if(this.closed=o.closed||!1,X.addClass(this.domElement,e.CLASS_MAIN),X.makeSelectable(this.domElement,!1),ae&&i){n.useLocalStorage=!0;var a=localStorage.getItem(m(this,"gui"));a&&(o.load=JSON.parse(a))}this.__closeButton=document.createElement("div"),this.__closeButton.innerHTML=e.TEXT_CLOSED,X.addClass(this.__closeButton,e.CLASS_CLOSE_BUTTON),o.closeOnTop?(X.addClass(this.__closeButton,e.CLASS_CLOSE_TOP),this.domElement.insertBefore(this.__closeButton,this.domElement.childNodes[0])):(X.addClass(this.__closeButton,e.CLASS_CLOSE_BOTTOM),this.domElement.appendChild(this.__closeButton)),X.bind(this.__closeButton,"click",function(){n.closed=!n.closed})}else{void 0===o.closed&&(o.closed=!0);var l=document.createTextNode(o.name);X.addClass(l,"controller-name"),s=c(n,l);X.addClass(this.__ul,e.CLASS_CLOSED),X.addClass(s,"title"),X.bind(s,"click",function(e){return e.preventDefault(),n.closed=!n.closed,!1}),o.closed||(this.closed=!1)}o.autoPlace&&(S.isUndefined(o.parent)&&(de&&(ce=document.createElement("div"),X.addClass(ce,"dg"),X.addClass(ce,e.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(ce),de=!1),ce.appendChild(this.domElement),X.addClass(this.domElement,e.CLASS_AUTO_PLACE)),this.parent||w(n,o.width)),this.__resizeHandler=function(){n.onResizeDebounced()},X.bind(window,"resize",this.__resizeHandler),X.bind(this.__ul,"webkitTransitionEnd",this.__resizeHandler),X.bind(this.__ul,"transitionend",this.__resizeHandler),X.bind(this.__ul,"oTransitionEnd",this.__resizeHandler),this.onResize(),o.resizable&&y(this),r=function(){ae&&"true"===localStorage.getItem(m(n,"isLocal"))&&localStorage.setItem(m(n,"gui"),JSON.stringify(n.getSaveObject()))},this.saveToLocalStorageIfPossible=r,o.parent||function(){var e=n.getRoot();e.width+=1,S.defer(function(){e.width-=1})}()};he.toggleHide=function(){ue=!ue,S.each(_e,function(e){e.domElement.style.display=ue?"none":""})},he.CLASS_AUTO_PLACE="a",he.CLASS_AUTO_PLACE_CONTAINER="ac",he.CLASS_MAIN="main",he.CLASS_CONTROLLER_ROW="cr",he.CLASS_TOO_TALL="taller-than-window",he.CLASS_CLOSED="closed",he.CLASS_CLOSE_BUTTON="close-button",he.CLASS_CLOSE_TOP="close-top",he.CLASS_CLOSE_BOTTOM="close-bottom",he.CLASS_DRAG="drag",he.DEFAULT_WIDTH=245,he.TEXT_CLOSED="Close Controls",he.TEXT_OPEN="Open Controls",he._keydownHandler=function(e){"text"===document.activeElement.type||72!==e.which&&72!==e.keyCode||he.toggleHide()},X.bind(window,"keydown",he._keydownHandler,!1),S.extend(he.prototype,{add:function(e,t){return f(this,e,t,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(e,t){return f(this,e,t,{color:!0})},remove:function(e){this.__ul.removeChild(e.__li),this.__controllers.splice(this.__controllers.indexOf(e),1);var t=this;S.defer(function(){t.onResize()})},destroy:function(){if(this.parent)throw new Error("Only the root GUI should be removed with .destroy(). For subfolders, use gui.removeFolder(folder) instead.");this.autoPlace&&ce.removeChild(this.domElement);var e=this;S.each(this.__folders,function(t){e.removeFolder(t)}),X.unbind(window,"keydown",he._keydownHandler,!1),u(this)},addFolder:function(e){if(void 0!==this.__folders[e])throw new Error('You already have a folder in this GUI by the name "'+e+'"');var t={name:e,parent:this};t.autoPlace=this.autoPlace,this.load&&this.load.folders&&this.load.folders[e]&&(t.closed=this.load.folders[e].closed,t.load=this.load.folders[e]);var n=new he(t);this.__folders[e]=n;var o=c(this,n.domElement);return X.addClass(o,"folder"),n},removeFolder:function(e){this.__ul.removeChild(e.domElement.parentElement),delete this.__folders[e.name],this.load&&this.load.folders&&this.load.folders[e.name]&&delete this.load.folders[e.name],u(e);var t=this;S.each(e.__folders,function(t){e.removeFolder(t)}),S.defer(function(){t.onResize()})},open:function(){this.closed=!1},close:function(){this.closed=!0},hide:function(){this.domElement.style.display="none"},show:function(){this.domElement.style.display=""},onResize:function(){var e=this.getRoot();if(e.scrollable){var t=X.getOffset(e.__ul).top,n=0;S.each(e.__ul.childNodes,function(t){e.autoPlace&&t===e.__save_row||(n+=X.getHeight(t))}),window.innerHeight-t-20<n?(X.addClass(e.domElement,he.CLASS_TOO_TALL),e.__ul.style.height=window.innerHeight-t-20+"px"):(X.removeClass(e.domElement,he.CLASS_TOO_TALL),e.__ul.style.height="auto")}e.__resize_handle&&S.defer(function(){e.__resize_handle.style.height=e.__ul.offsetHeight+"px"}),e.__closeButton&&(e.__closeButton.style.width=e.width+"px")},onResizeDebounced:S.debounce(function(){this.onResize()},50),remember:function(){if(S.isUndefined(le)&&((le=new ie).domElement.innerHTML='<div id="dg-save" class="dg dialogue">\n\n Here\'s the new load parameter for your <code>GUI</code>\'s constructor:\n\n <textarea id="dg-new-constructor"></textarea>\n\n <div id="dg-save-locally">\n\n <input id="dg-local-storage" type="checkbox"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id="dg-local-explain">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>\'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n\n </div>\n\n </div>\n\n</div>'),this.parent)throw new Error("You can only call remember on a top level GUI.");var e=this;S.each(Array.prototype.slice.call(arguments),function(t){0===e.__rememberedObjects.length&&v(e),-1===e.__rememberedObjects.indexOf(t)&&e.__rememberedObjects.push(t)}),this.autoPlace&&w(this,this.width)},getRoot:function(){for(var e=this;e.parent;)e=e.parent;return e},getSaveObject:function(){var e=this.load;return e.closed=this.closed,this.__rememberedObjects.length>0&&(e.preset=this.preset,e.remembered||(e.remembered={}),e.remembered[this.preset]=x(this)),e.folders={},S.each(this.__folders,function(t,n){e.folders[n]=t.getSaveObject()}),e},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=x(this),_(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(e){this.load.remembered||(this.load.remembered={},this.load.remembered[se]=x(this,!0)),this.load.remembered[e]=x(this),this.preset=e,g(this,e,!0),this.saveToLocalStorageIfPossible()},revert:function(e){S.each(this.__controllers,function(t){this.getRoot().load.remembered?p(e||this.getRoot(),t):t.setValue(t.initialValue),t.__onFinishChange&&t.__onFinishChange.call(t,t.getValue())},this),S.each(this.__folders,function(e){e.revert(e)}),e||_(this.getRoot(),!1)},listen:function(e){var t=0===this.__listening.length;this.__listening.push(e),t&&C(this.__listening)},updateDisplay:function(){S.each(this.__controllers,function(e){e.updateDisplay()}),S.each(this.__folders,function(e){e.updateDisplay()})}});var pe={Color:I,math:N,interpret:R},fe={Controller:z,BooleanController:K,OptionController:Y,StringController:J,NumberController:W,NumberControllerBox:Q,NumberControllerSlider:q,FunctionController:Z,ColorController:$},me={dom:X},ge={GUI:he},be=he,ve={color:pe,controllers:fe,dom:me,gui:ge,GUI:be};e.color=pe,e.controllers=fe,e.dom=me,e.gui=ge,e.GUI=be,e.default=ve,Object.defineProperty(e,"__esModule",{value:!0})});