Greasy Fork is available in English.
Cool. Check greasyfork description.
- // ==UserScript==// @name Zombs.io Script// @namespace -// @version v1// @description Cool. Check greasyfork description.// @author Nudo#3310// @match *://zombs.io/*// @require http://code.jquery.com/jquery-3.3.1.min.js// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js// @grant none// ==/UserScript==//let cvs = document.querySelector('canvas')/*let elm = document.getElementsByTagName('*')for(let i = 0; i < elm.length; ++i) {elm[i].oncontextmenu = null}*/let openMenu = `<div class="hud-spell-icon" data-type="SettingsHack"></div><div class="hack-info-holder"><div class="hack-inner"><div><h4>Settings</h4><h5>Hack</h5></div><div><p>Here you can enable hacks ;3</p></div><div><p style="color: #8ecc51">Click</p></div></div></div><style>.hack-inner h4 {display: block;margin: 0;color: #d0d0d0;}.hack-inner p {margin: 10px 0 0;color: #eeeeee;white-space: nowrap;font-size: 14px;}.hack-inner h5 {display: block;margin: 0;color: rgba(255, 255, 255, 0.6);}.hack-inner {display: flex;flex-direction: column;background: rgba(0, 0, 0, 0.4);padding: 10px;border-radius: 4px;}.hack-inner::after {content: ' ';display: block;position: absolute;top: 50%;right: 100%;margin-top: -6px;border-top: 6px solid transparent;border-bottom: 6px solid transparent;border-right: 6px solid rgba(0, 0, 0, 0.4);}.hack-info-holder {display: none;position: absolute;left: 76px;top: -25px;}.hud-spell-icons .hud-spell-icon[data-type=SettingsHack]::before {background-image: url(https://media.discordapp.net/attachments/776127909651808276/945227208602046524/settings-ico.png);}</style>`$("#hud-spell-icons").prepend(openMenu)$('[data-type="SettingsHack"]').hover(() => {$('.hack-info-holder').css("display", "block")}, () => {$('.hack-info-holder').css("display", "none")})let menu = `<div class="menu-holder"><div class="menu-wrapper"><div class="menu-title"><h3>Settings</h3><a class="menu-close" id="closeSettings"></a></div><div class="menu-navbar"><div class="nav-btns"><div id="mainBtn" style="background: rgba(0, 0, 0, 0.4); color: rgba(255, 255, 255, 0.4)">Main</div><div id="miscBtn">Misc</div><div id="sellBtn">Sell</div><div id="botsBtn">Bots</div><div id="upgradesBtn">Upgrades</div><div id="autobaseBtn">AutoBase</div></div></div><div class="menu-content" id="main" style="display: block;"></div><div class="menu-content" id="misc"></div><div class="menu-content" id="bots"></div><div class="menu-content" id="sell"></div><div class="menu-content" id="upgrades"></div><div class="menu-content" id="autobase" style="width: 530px"></div><div class="menu-footer"><span>Made by Nudo#3310</span></div></div></div><style>.toggler-mark {display: none;width: 6px;height: 12px;border: solid #777;border-width: 0 3px 3px 0;transform: rotate(45deg);border-radius: 2px;margin-left: 4.2px;}.toggler-checkbox {margin-right: 10px;margin-top: 2px;background: rgba(0, 0, 0, .4);width: 15px;border-radius: 2px;height: 15px;}.toggler-action {color: rgba(255, 255, 255, 0.4);font-size: 14px;}.toggler-active {display: block;}.toggler-display {margin-top: 5px;padding: 10px;background: #444;border-radius: 4px;height: 35px;display: flex;cursor: pointer;align-items: center;justify-content: space-between;}.toggler-info {display: flex;flex-direction: column;}.toggler-info #toggler-name {font-weight: 1000;color: #eee;font-size: 16px;}.toggler-info #toggler-desc {color: rgba(255, 255, 255, 0.4);font-size: 14px;}.toggler-container {width: -webkit-fill-available;padding: 10px;margin: 2px;background: rgba(255, 255, 255, 0.1);border-radius: 3px;color: #eee;display: flex;justify-content: space-between;}.toggler-display {transition: all 0.15s ease-in-out;}.toggler-display:hover {background-color: #555;color: #fff;}/*.menu-navbar #autobaseBtn::after {content: 'BETA';display: inline-block;vertical-align: middle;height: 16px;line-height: 16px;margin: 0 0 0 6px;padding: 0 4px;font-size: 10px;background: #c9523c;color: #eee;text-shadow: 0 1px 3px rgb(0 0 0 / 20%);border-radius: 2px;}*/.menu-content {display: none;flex-direction: column;height: 300px;padding: 10px;background: rgba(0, 0, 0, 0.2);overflow-y: auto;border-radius: 0 3px 3px 3px;}.menu-footer {position: relative;bottom: -5px;}.menu-footer span {font-weight: 1000;font-size: 18px;color: #d0d0d0;}.menu-navbar {width: 100%;}.nav-btns {display: flex;}.nav-btns div {cursor: pointer;display: flex;padding: 0 14px;margin: 0 1px 0 0;font-size: 14px;background: rgba(0, 0, 0, 0.4);color: rgba(255, 255, 255, 0.4);transition: all 0.15s ease-in-out;justify-content: center;align-items: center;width: 75px;height: 35px;}.nav-btns div:first-child {border-radius: 3px 0 0;}.nav-btns div:last-child {border-radius: 0 3px 0 0;}/*.nav-btns div:active, .nav-btns div:hover {background: rgba(0, 0, 0, 0.2);color: #eee;}*/.menu-title {width: 100%;height: auto;display: flex;justify-content: space-between;}.menu-wrapper h3 {display: block;margin: 0;line-height: 20px;}.menu-close::after {transform: rotate( 320deg);}.menu-close {cursor: pointer;width: 30px;height: 30px;opacity: 0.2;transition: all 0.15s ease-in-out;}.menu-close::before {transform: rotate(45deg);}.menu-close::before, .menu-close::after {content: ' ';position: absolute;height: 30px;width: 2px;background: #eee;}.menu-close:hover, .menu-close:active {opacity: 0.4;}.menu-wrapper {width: 600px;height: 420px;padding: 20px;background: rgba(0, 0, 0, 0.6);color: #eee;border-radius: 4px;z-index: 15;}.menu-holder {display: none;position: absolute;width: 100%;top: 0;height: 100%;align-items: center;justify-content: center;}</style>`$("#hud").append(menu)$('[data-type="SettingsHack"]').click(() => {cvs.style.filter = "blur(8px)"$(".menu-holder").css(`display`, `flex`)})$("#closeSettings").click(() => {cvs.style.filter = "none"$(".menu-holder").css(`display`, `none`)})$(document).mouseup((e) => {if ($(".menu-holder").has(e.target).length === 0){$(".menu-holder").hide()cvs.style.filter = "none"}})let btns = ["mainBtn", "miscBtn", "autobaseBtn", "sellBtn", "upgradesBtn", "botsBtn"]$(`#${btns[0]}`).css({"background": "rgba(0, 0, 0, 0.2)", "color": "#eee"})function activeButton(e) {for (let i = 0; i < btns.length; i++) {if (e.target.id == btns[i]) $(`#${btns[i]}`).css({"background": "rgba(0, 0, 0, 0.2)", "color": "#eee"})else $(`#${btns[i]}`).css({"background": "rgba(0, 0, 0, 0.4)", "color": "rgba(255, 255, 255, 0.4)"})}}$("#mainBtn").click((e) => {activeButton(e)$("#main").css("display", "flex")$("#misc").css("display", "none")$("#upgrades").css("display", "none")$("#sell").css("display", "none")$("#autobase").css("display", "none")$("#bots").css("display", "none")})$("#miscBtn").click((e) => {activeButton(e)$("#misc").css("display", "flex")$("#main").css("display", "none")$("#upgrades").css("display", "none")$("#sell").css("display", "none")$("#autobase").css("display", "none")$("#bots").css("display", "none")})$("#autobaseBtn").click((e) => {activeButton(e)$("#autobase").css("display", "flex")$("#main").css("display", "none")$("#misc").css("display", "none")$("#upgrades").css("display", "none")$("#sell").css("display", "none")$("#bots").css("display", "none")})$("#sellBtn").click((e) => {activeButton(e)$("#sell").css("display", "flex")$("#main").css("display", "none")$("#misc").css("display", "none")$("#autobase").css("display", "none")$("#upgrades").css("display", "none")$("#bots").css("display", "none")})$("#upgradesBtn").click((e) => {activeButton(e)$("#upgrades").css("display", "flex")$("#main").css("display", "none")$("#misc").css("display", "none")$("#autobase").css("display", "none")$("#sell").css("display", "none")$("#bots").css("display", "none")})$("#botsBtn").click((e) => {activeButton(e)$("#bots").css("display", "flex")$("#upgrades").css("display", "none")$("#main").css("display", "none")$("#misc").css("display", "none")$("#autobase").css("display", "none")$("#sell").css("display", "none")})let packets = {0: "PACKET_ENTITY_UPDATE",1: "PACKET_PLAYER_COUNTER_UPDATE",2: "PACKET_SET_WORLD_DIMENSIONS",3: "PACKET_INPUT",4: "PACKET_ENTER_WORLD",7: "PACKET_PING",9: "PACKET_RPC",PACKET_ENTER_WORLD: 4,PACKET_ENTITY_UPDATE: 0,PACKET_INPUT: 3,PACKET_PING: 7,PACKET_PLAYER_COUNTER_UPDATE: 1,PACKET_RPC: 9,PACKET_SET_WORLD_DIMENSIONS: 2}let ar = [null, Infinity];class Handler {constructor() {this.msg = nullthis.uid = nullthis.players = {}this.buildings = {}this.entities = {}this.myPlayer = nullthis.myPet = nullthis.alive = falsethis.visibleModel = nullthis.myStash = nullthis.uaDate = Date.now()this.myPartyKey = nullthis.bossWaves = [9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 121]this.proc = {health: {player: 100,pet: 100}}}updateUid() {if (this.msg.uid) {this.uid = this.msg.uidthis.players = {}this.buildings = {}this.entities = {}window.msg = 0}}buyItem(e) {Game.currentGame.network.sendRpc({"name": "BuyItem","itemName": e,"tier": 1})}equipItem(e) {Game.currentGame.network.sendRpc({"name": "EquipItem","itemName": e,"tier": 1})}useItem(e) {this.buyItem(e)this.equipItem(e)}entitiesAction(model, action) {this.entities = Game.currentGame.world.entitiesfor (let ind in this.entities) {if (!this.entities.hasOwnProperty(ind)) continuelet obj = this.entities[ind]action(obj, model)}}updateMyStash() {this.entitiesAction("GoldStash", (e, m) => {if (e.fromTick.model == m) {this.myStash = e}})}upgradeAll() {this.entitiesAction("GoldStash", (e, m) => {if (e.fromTick.model != m) {Game.currentGame.network.sendRpc({name: "UpgradeBuilding",uid: e.fromTick.uid})}})}/*revivePets() {for(let idn in game.world.entities) {if(game.world.entities[idn].fromTick.model == "PetCARL" || game.world.entities[idn].fromTick.model == "PetMiner") {Game.currentGame.network.sendRpc({name: "purchaseItem",itemName: "PetRevive",uid: game.world.entities[idn].fromTick.uid});}}}*/sellPets() {for(let idn in game.world.entities) {if(game.world.entities[idn].fromTick.model == "PetCARL" || game.world.entities[idn].fromTick.model == "PetMiner") {Game.currentGame.network.sendRpc({name: "DeleteBuilding",uid: game.world.entities[idn].fromTick.uid});}}}delAction(model) {this.entities = Game.currentGame.world.entitiesfor (let ind in this.entities) {if (!this.entities.hasOwnProperty(ind)) continue;if (this.entities[ind].fromTick.model == model) {Game.currentGame.network.sendRpc({name: "DeleteBuilding",uid: this.entities[ind].fromTick.uid});}}}sellBuilding(model, {verify, content}) {if (verify) {Game.currentGame.ui.getComponent("PopupOverlay").showConfirmation(content, 1e4, () => {this.delAction(model)})} else {this.delAction(model)}}sellAll() {Game.currentGame.ui.getComponent("PopupOverlay").showConfirmation("Are you sure?", 1e4, () => {this.entities = Game.currentGame.world.entitiesfor (let ind in this.entities) {if (!this.entities.hasOwnProperty(ind)) continue;if (this.entities[ind].fromTick.model != "GoldStash") {Game.currentGame.network.sendRpc({name: "DeleteBuilding",uid: this.entities[ind].fromTick.uid});}}})}ahrc() {let depTier = [0.07, 0.11, 0.17, 0.22, 0.25, 0.28, 0.42, 0.65]this.entitiesAction("Harvester", (e) => {if (e.fromTick.deposit > 0) {Game.currentGame.network.sendRpc({name: "CollectHarvester",uid: e.fromTick.uid});}for (let i = 0; i < depTier.length; i++) {let tc = i + 1if (e.fromTick.tier == tc) {if (e.fromTick.deposit <= 0) {Game.currentGame.network.sendRpc({name: "AddDepositToHarvester",uid: e.fromTick.uid,deposit: depTier[i]});}}}})}heal(type) {switch (type) {case "proc":if (this.myPlayer) {this.proc.health.player = (this.myPlayer.health / this.myPlayer.maxHealth) * 100if (this.myPet) {this.proc.health.pet = (this.myPet.health / this.myPet.maxHealth) * 100}}window.proc = this.procbreakcase "player":if (this.myPlayer) {if (this.proc.health.player <= 35) {this.useItem("HealthPotion")}}breakcase "pet":if (this.myPet) {if (this.proc.health.pet <= 35) {this.useItem("PetHealthPotion")}}break}}waveInfo() {if ($("#hud-day-night-overlay").css("opacity") < 0.5) {if (!scoreLog.n || Date.now() - scoreLog.n >= 1000) {if ($("#hud-day-night-overlay").css("opacity") < 0.5) {scoreLog.night = truescoreLog.day = false}scoreLog.n = Date.now()}}if ($("#hud-day-night-overlay").css("opacity") > 0.5) {if (!scoreLog.d || Date.now() - scoreLog.d >= 1000) {if ($("#hud-day-night-overlay").css("opacity") > 0.5) {scoreLog.night = falsescoreLog.day = true}scoreLog.d = Date.now()}}if (scoreLog.timer.enabled) {if (!scoreLog.timer.dateS || Date.now() - scoreLog.timer.dateS >= 1000) {scoreLog.timer.sec -= 1scoreLog.timer.dateS = Date.now()}$("#wave-timer").text(scoreLog.timer.sec + "s")document.getElementById("waveBarInner").style.width = 100 * (scoreLog.timer.sec / scoreLog.timer.max) + "%"}}autoRespawn() {if (document.querySelector('.hud-respawn').style.display == "none") returngame.inputPacketScheduler.scheduleInput({respawn: 1})document.querySelector('.hud-respawn').style.display = "none"}clickImitation(e) {switch (e) {case "space":game.network.sendInput({space: 0})game.network.sendInput({space: 1})breakcase "up":Game.currentGame.network.sendInput({up: 1})breakcase "down":Game.currentGame.network.sendInput({down: 1})breakcase "left":Game.currentGame.network.sendInput({left: 1})breakcase "right":Game.currentGame.network.sendInput({right: 1})break}}putBuilding(x, y, model, yaw = 180) {Game.currentGame.network.sendRpc({name: "MakeBuilding",x: x,y: y,type: model,yaw: yaw})}findNearPlayer(ourUID, ourX, ourY) {ar[0] = null;ar[1] = Infinity;for(let key in Game.currentGame.world.entities) {const entity = Game.currentGame.world.entities[key];if(!entity || entity.targetTick.uid == ourUID || !entity.targetTick || entity.entityClass !== "PlayerEntity" || game.world.localPlayer.entity.targetTick.partyId == entity.targetTick.partyId) continue;const position = entity.targetTick.position;const dist = (ourX - position.x) ** 2 + (ourY - position.y) ** 2;if(dist < ar[1]){ar[1] = dist;ar[0] = entity;}}return ar;}setMouseMoved(e) {game.network.sendInput({mouseMoved: e})}lookYaw({x1, x2}, {y1, y2}) {return game.inputPacketCreator.screenToYaw((-x1 + x2) * 100, (-y1 + y2) * 100)}autoAim() {if (this.players.uid) {const [target, distSqrd] = this.findNearPlayer(game.world.localPlayer.entity.targetTick.uid,game.world.localPlayer.entity.targetTick.position.x,game.world.localPlayer.entity.targetTick.position.y);if (target) {this.setMouseMoved(this.lookYaw({x1: game.world.localPlayer.entity.targetTick.position.x,x2: target.targetTick.position.x}, {y1: game.world.localPlayer.entity.targetTick.position.y,y2: target.targetTick.position.y}))console.log(target.targetTick)document.querySelector(".player-info-holder").innerHTML += `<div class="box"><div id="name" style="color: #cc5151">Aim at: ${target.targetTick.name}</div></div>`}}}buySpear() {let getTierText = $("[data-item='Spear'] > .hud-shop-item-tier").text()let getTier = getTierText.split(" ")[1]if (getTier == 1 && this.myPlayer.gold > 1400) {this.useItem("Spear")}}update() {if (tgl.autorespawn) this.autoRespawn()this.waveInfo()this.updateUid()this.alive = game.world.inWorldif (this.msg.entities) {if (window.msg == 0) {game.world.replicator.onEntityUpdate(this.msg);}if (this.msg.entities[this.uid].name) {this.myPlayer = this.msg.entities[this.uid];}for (let ind in this.myPlayer) {if (this.myPlayer[ind] !== this.msg.entities[this.uid][ind] && this.msg.entities[this.uid][ind] !== undefined) {this.myPlayer[ind] = this.msg.entities[this.uid][ind];}}if (this.myPlayer.petUid) {if (this.msg.entities[this.myPlayer.petUid]) {if (this.msg.entities[this.myPlayer.petUid].model) {this.myPet = this.msg.entities[this.myPlayer.petUid];}}for (let ind in this.myPet) {if (this.msg.entities[this.myPlayer.petUid]) {if (this.myPet[ind] !== this.msg.entities[this.myPlayer.petUid][ind] && this.msg.entities[this.myPlayer.petUid][ind] !== undefined) {this.myPet[ind] = this.msg.entities[this.myPlayer.petUid][ind]}}}}}if (this.alive) {//this.revivePets()updatePlayerInfo()this.updateMyStash()this.myPartyKey = Game.currentGame.ui.getPlayerPartyShareKey()this.heal("proc")if (tgl.autoaim) {this.autoAim()}if (tgl.autobuyspear) {this.buySpear()}if (lockYaw.active) {this.setMouseMoved(lockYaw.yaw)}if (tgl.autospacebar) {this.clickImitation("space")}if (tgl.autoheal) {this.heal("player")}if (tgl.petheal) {this.heal("pet")}if (tgl.ahrc) {this.ahrc()}if (tgl.upgradesall) {// Anti lag nightif (scoreLog.night) {if (!this.uaDate || Date.now() - this.uaDate >= 1000) {this.upgradeAll()this.uaDate = Date.now()}} else {this.upgradeAll()}}if (tgl.bsbase) {BSBase()}}}}let handler = new Handler()game.network.addPacketHandler = (e, cb) => {game.network.emitter.on(packets[e], cb)}game.network.emitter.removeListener('PACKET_ENTITY_UPDATE', game.network.emitter._events.PACKET_ENTITY_UPDATE)game.network.addPacketHandler(0, e => {handler.msg = ehandler.update()})for (let i = 0; i < 10; i++) {game.network.addPacketHandler(i, function(e) {handler.msg = ehandler.update()})}window.sendBot = () => {console.log("Send bot")// connect(game.options.servers[game.options.serverId].hostname, "8000")}let playerInfo = `<div class="player-info-holder"></div><style>.box {font-weight: 1000;color: white;display: flex;foxt-size: 14px;}.box #name {color: #a79aef;text-shadow: 0px 0px 5px blue, 0px 0px 5px blue;}.player-info-holder {pointer-events: none;position: absolute;display: flex;flex-direction: column;top: 290px;left: 76px;}</style>`$("#hud").append(playerInfo)function addPlayer(name, res, party) {document.querySelector(".player-info-holder").innerHTML += `<div class="box"><div id="name" style="color: ${handler.myPlayer.partyId == party ? "#8ecc51" : "#a79aef"}">${name} </div><div id="res">[${res}]</div></div>`}function updatePlayerInfo() {document.querySelector(".player-info-holder").innerHTML = ""Object.entries(Game.currentGame.world.entities).forEach((stuff => {if (stuff[1].targetTick.entityClass == "PlayerEntity" && ((stuff[1].targetTick.uid !== Game.currentGame.world.entities[Game.currentGame.world.getMyUid()].targetTick.uid) || window.useSamePI)) {let rr = Game.currentGame.world.entities[stuff[1].targetTick.uid].targetTickhandler.players = rrlet hp = (rr.health / rr.maxHealth) * 100let res = `Gold: ${rr.gold},Wood: ${rr.wood},Stone: ${rr.stone},Hp: ${~~(hp)}%`addPlayer(stuff[1].targetTick.name, res, rr.partyId)}}))}let dimension = 1;const onWindowResize = () => {const renderer = Game.currentGame.renderer;let canvasWidth = window.innerWidth * window.devicePixelRatio;let canvasHeight = window.innerHeight * window.devicePixelRatio;let ratio = Math.max(canvasWidth / (1920 * dimension), canvasHeight / (1080 * dimension));renderer.scale = ratio;renderer.entities.setScale(ratio);renderer.ui.setScale(ratio);renderer.renderer.resize(canvasWidth, canvasHeight);renderer.viewport.width = renderer.renderer.width / renderer.scale + 2 * renderer.viewportPadding;renderer.viewport.height = renderer.renderer.height / renderer.scale + 2 * renderer.viewportPadding;}onWindowResize()window.addEventListener("resize", () => {onWindowResize()})window.dpr = (e) => {window.devicePixelRatio = eonWindowResize()}function disableEvent() {let els = [".menu-holder", "#hud-menu-party", "#hud-menu-shop", "#hud-menu-settings"]for (let i = 0; i < els.length; i++) {if ($(els[i]).css("display") != "none") {return true}return false}}window.addEventListener("wheel", function(e, t = 1.003) {if (disableEvent() || !tgl.wheelzoom || $("#hud-chat").hasClass("is-focused")) returnif (e.deltaY > 0) {for(let i = 0; i < 50; i++) {setTimeout(() => {dimension = dimension * tonWindowResize()}, i * 5)};} else if(e.deltaY <= 1){for(let i = 0; i < 50; i++) {setTimeout(() => {dimension = dimension / tonWindowResize()}, i * 5)};}});let lockYaw = {active: false,yaw: 0}let clearChat = {cmd: "!clear",active: false}function checkChat() {if ($(".hud-chat-input").val() == clearChat.cmd) {clearChat.active = true}}document.addEventListener("keydown", e => {if (e.code == "Enter") {checkChat()if (clearChat.active) {document.querySelector(".hud-chat-messages").innerHTML = ""clearChat.active = falsesetTimeout(() => {document.querySelector(".hud-chat-messages").innerHTML = ""}, 500)}}if (e.code == "KeyX") {lockYaw.active = !lockYaw.activeif (lockYaw.active) {lockYaw.yaw = game.world.localPlayer.entity.targetTick.yaw} else {lockYaw.yaw = null}}})let dni = `<div class="dni-holder"><div id="lastscore">Score for last night: 0</div><div class="waveBar"><div class="timer-holder"><span id="wave-timer">0s</span></div><div id="waveBarInner"></div></div></div><style>.timer-holder {position: absolute;width: 200px;height: 30px;display: flex;margin-left: -3px;margin-top: -3px;justify-content: center;align-items: center;}.timer-holder span {font-size: 20px;font-weight: 1000;color: #2d2d2d;}#waveBarInner {width: 0%;height: 100%;background: rgba(255, 255, 255, 0.4);border-radius: 6px;}.waveBar {margin: 5px;padding: 3px;width: 200px;height: 30px;background: rgb(0 0 0 / 20%);border-radius: 6px;}#lastscore {font-weight: 1000;font-size: 25px;color: #d0d0d0;}.dni-holder {position: absolute;top: 0;left: 0;width: 100%;display: flex;justify-content: center;align-items: center;flex-direction: column;}</style>`$("#hud").append(dni)let scoreLog = {night: false,day: false,d: Date.now(),n: Date.now(),new: null,old: null,last: null,date: Date.now(),timer: {sec: 0,dateS: Date.now(),enabled: false,max: 59}}Game.currentGame.network.addRpcHandler("DayCycle", () => {if (scoreLog.night) {scoreLog.timer.sec = scoreLog.timer.maxdocument.getElementById("waveBarInner").style.width = "100%"scoreLog.timer.enabled = truescoreLog.old = Game.currentGame.ui.playerTick.score$("#lastscore").text(`Score for last night: ...`)}if (scoreLog.day) {document.getElementById("waveBarInner").style.background = "rgba(255, 255, 255, 0.4)"$("#wave-timer").text("0s")document.getElementById("waveBarInner").style.width = "0%"scoreLog.timer.enabled = falsescoreLog.new = Game.currentGame.ui.playerTick.scorescoreLog.last = (scoreLog.new - scoreLog.old)$("#lastscore").text(`Score for last night: ${scoreLog.last}`)}})let checkbMAIN = [{name: "AutoPlayerHeal",desc: "Auto uses heal potion",id: "autoheal",action: "Enabled",active: true,button: false},{name: "AutoPetHeal",desc: "Auto uses pet heal potion",id: "petheal",action: "Enabled",active: true,button: false},{name: "AHRC",desc: "Auto collect resources from harvester",id: "ahrc",action: "Disabled",active: false,button: false},{name: "AutoSpear",desc: "Auto buy spear [tier: 1]",id: "autobuyspear",action: "Disabled",active: false,button: false},{name: "AutoSpaceBar",desc: "Automatically clicks on the space bar",id: "autospacebar",action: "Disabled",active: false,button: false},{name: "AutoAim",desc: "you will look at the enemy, but you will not turn around",id: "autoaim",action: "Disabled",active: false,button: false}]let checkbMISC = [{name: "WheelZoom",desc: "Changes the visible part of the game",id: "wheelzoom",action: "Enabled",active: true,button: false},{name: "LeaveFromClan",desc: "You will leave the clan you are in",id: "leaveclan",action: "Leave",button: true},{name: "AutoRespawn",desc: "Respawn you after death",id: "autorespawn",action: "Enabled",active: true,button: false}]let checkbSELL = [{name: "SellPets",desc: "Remove your pet",id: "sellpets",action: "Sell",button: true},{name: "All",desc: "Sell everything",id: "sellall",action: "Sell",button: true},{name: "Walls",desc: "Sell walls",id: "sellwalls",action: "Sell",button: true},{name: "Doors",desc: "Sell doors",id: "selldoors",action: "Sell",button: true},{name: "Traps",desc: "Sell traps",id: "selltraps",action: "Sell",button: true},{name: "ArrowTowers",desc: "Sell arrow towers",id: "sellarrows",action: "Sell",button: true},{name: "CannonTowers",desc: "Sell cannon towers",id: "sellcannons",action: "Sell",button: true},{name: "MeleeTowers",desc: "Sell melee towers",id: "sellmelees",action: "Sell",button: true},{name: "BombTowers",desc: "Sell bomb towers",id: "sellbombs",action: "Sell",button: true},{name: "MageTowers",desc: "Sell mage towers",id: "sellmages",action: "Sell",button: true},{name: "GoldMines",desc: "Sell gold mines",id: "sellgoldmines",action: "Sell",button: true},{name: "Harvesters",desc: "Sell harvesters",id: "sellharvesters",action: "Sell",button: true},{name: "GoldStash",desc: "Sell gold stash",id: "sellgoldstash",action: "Sell",button: true}]let checkbBOTS = [{name: "SendBot",desc: "Send one bot",id: "sendbot",action: "Send",button: true}]let checkbUPGRADES = [{name: "UpgradesAll",desc: "Improves all buildings",id: "upgradesall",action: "Disabled",active: false,button: false}]let checkbAUTOBASE = [{name: "BSBase",desc: "[BryanSmithBase] Hack will create a base for you by itself",id: "bsbase",action: "Disabled",active: false,button: false}]let tgl = {autoheal: true,petheal: true,ahrc: false,wheelzoom: true,upgradesall: false,autorespawn: true,autospacebar: false,autoaim: false,bsbase: false,autobuyspear: false}function addTogglerHTML(loc, button, name, desc, id, action, active) {if (!button) {document.getElementById(loc).innerHTML += `<div class="toggler-container"><div class="toggler-info"><div id="toggler-name">${name}</div><div id="toggler-desc">${desc}</div></div><div class="toggler-display" id="${id}"><span class="toggler-checkbox"><span class="toggler-mark ${active ? "toggler-active" : ""}" id="${id}-checkbox"></span></span><span class="toggler-action" id="${id}-action">${action}</span></div></div>`} else {document.getElementById(loc).innerHTML += `<div class="toggler-container"><div class="toggler-info"><div id="toggler-name">${name}</div><div id="toggler-desc">${desc}</div></div><div class="toggler-display" id="${id}"><span class="toggler-action">${action}</span></div></div>`}}function checkboxGenerator() {for (let i = 0; i < checkbMAIN.length; i++) {if (checkbMAIN[i].name) addTogglerHTML("main", checkbMAIN[i].button, checkbMAIN[i].name, checkbMAIN[i].desc, checkbMAIN[i].id, checkbMAIN[i].action || null, checkbMAIN[i].active || null)}for (let i = 0; i < checkbMISC.length; i++) {if (checkbMISC[i].name) addTogglerHTML("misc", checkbMISC[i].button, checkbMISC[i].name, checkbMISC[i].desc, checkbMISC[i].id, checkbMISC[i].action || null, checkbMISC[i].active || null)}for (let i = 0; i < checkbSELL.length; i++) {if (checkbSELL[i].name) addTogglerHTML("sell", checkbSELL[i].button, checkbSELL[i].name, checkbSELL[i].desc, checkbSELL[i].id, checkbSELL[i].action || null, checkbSELL[i].active || null)}for (let i = 0; i < checkbBOTS.length; i++) {if (checkbBOTS[i].name) addTogglerHTML("bots", checkbBOTS[i].button, checkbBOTS[i].name, checkbBOTS[i].desc, checkbBOTS[i].id, checkbBOTS[i].action, checkbBOTS[i].active)}for (let i = 0; i < checkbUPGRADES.length; i++) {if (checkbUPGRADES[i].name) addTogglerHTML("upgrades", checkbUPGRADES[i].button, checkbUPGRADES[i].name, checkbUPGRADES[i].desc, checkbUPGRADES[i].id, checkbUPGRADES[i].action || null, checkbUPGRADES[i].active || null)}for (let i = 0; i < checkbAUTOBASE.length; i++) {if (checkbAUTOBASE[i].name) addTogglerHTML("autobase", checkbAUTOBASE[i].button, checkbAUTOBASE[i].name, checkbAUTOBASE[i].desc, checkbAUTOBASE[i].id, checkbAUTOBASE[i].action || null, checkbAUTOBASE[i].active || null)}}checkboxGenerator()function updateCheckBox(n, e) {if (e) {$(`#${n}-action`).text("Enabled")$(`#${n}-checkbox`).addClass("toggler-active")} else {$(`#${n}-action`).text("Disabled")$(`#${n}-checkbox`).removeClass("toggler-active")}}$("#autoheal").click(() => (tgl.autoheal = !tgl.autoheal, updateCheckBox("autoheal", tgl.autoheal)))$("#petheal").click(() => (tgl.petheal = !tgl.petheal, updateCheckBox("petheal", tgl.petheal)))$("#ahrc").click(() => (tgl.ahrc = !tgl.ahrc, updateCheckBox("ahrc", tgl.ahrc)))$("#wheelzoom").click(() => (tgl.wheelzoom = !tgl.wheelzoom, updateCheckBox("wheelzoom", tgl.wheelzoom)))$("#leaveclan").click(() => Game.currentGame.network.sendRpc({name: "LeaveParty"}))$("#upgradesall").click(() => (tgl.upgradesall = !tgl.upgradesall, updateCheckBox("upgradesall", tgl.upgradesall)))$("#sendbot").click(() => window.sendBot())$("#autorespawn").click(() => (tgl.autorespawn = !tgl.autorespawn, updateCheckBox("autorespawn", tgl.autorespawn)))$("#autospacebar").click(() => (tgl.autospacebar = !tgl.autospacebar, updateCheckBox("autospacebar", tgl.autospacebar)))$("#autoaim").click(() => (tgl.autoaim = !tgl.autoaim, updateCheckBox("autoaim", tgl.autoaim)))$("#sellpets").click(() => handler.sellPets())$("#bsbase").click(() => (tgl.bsbase = !tgl.bsbase, updateCheckBox("bsbase", tgl.bsbase)))$("#autobuyspear").click(() => (tgl.autobuyspear = !tgl.autobuyspear, updateCheckBox("autobuyspear", tgl.autobuyspear)))$("#sellall").click(() => handler.sellAll())$("#sellwalls").click(() => handler.sellBuilding("Wall", {verify: false, content: ""}))$("#selldoors").click(() => handler.sellBuilding("Door", {verify: false, content: ""}))$("#selltraps").click(() => handler.sellBuilding("SlowTrap", {verify: false, content: ""}))$("#sellarrows").click(() => handler.sellBuilding("ArrowTower", {verify: false, content: ""}))$("#sellcannons").click(() => handler.sellBuilding("ConnonTower", {verify: false, content: ""}))$("#sellmelees").click(() => handler.sellBuilding("MeleeTower", {verify: false, content: ""}))$("#sellbombs").click(() => handler.sellBuilding("BombTower", {verify: false, content: ""}))$("#sellmages").click(() => handler.sellBuilding("MageTower", {verify: false, content: ""}))$("#sellgoldmines").click(() => handler.sellBuilding("GoldMine", {verify: false, content: ""}))$("#sellharvesters").click(() => handler.sellBuilding("Harvester", {verify: false, content: ""}))$("#sellgoldstash").click(() => handler.sellBuilding("GoldStash", {verify: true, content: "Are you sure?"}))function OWBase() {if (!handler.myStash.targetTick) returnlet stash = handler.myStash.targetTicklet stashPosition = {x: stash.position.x,y: stash.position.y}}function BSBase() {if (!handler.myStash.targetTick) returnlet stash = handler.myStash.targetTicklet stashPosition = {x: stash.position.x,y: stash.position.y}handler.putBuilding(stashPosition.x + 0, stashPosition.y + 0, 'GoldStash', 0);handler.putBuilding(stashPosition.x + -192, stashPosition.y + -48, 'GoldMine', 0);handler.putBuilding(stashPosition.x + -192, stashPosition.y + 48, 'GoldMine', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + -192, 'GoldMine', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + -192, 'GoldMine', 0);handler.putBuilding(stashPosition.x + 192, stashPosition.y + -48, 'GoldMine', 0);handler.putBuilding(stashPosition.x + 192, stashPosition.y + 48, 'GoldMine', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + 192, 'GoldMine', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + 192, 'GoldMine', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + 288, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + 288, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + 288, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + 288, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -288, stashPosition.y + -48, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -288, stashPosition.y + 48, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -288, stashPosition.y + 144, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + -288, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + -288, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 288, stashPosition.y + -144, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 288, stashPosition.y + -48, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 288, stashPosition.y + 48, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 288, stashPosition.y + 144, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 384, stashPosition.y + 144, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 480, stashPosition.y + 144, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 336, stashPosition.y + 240, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 432, stashPosition.y + 240, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 384, stashPosition.y + 336, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + 384, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + 480, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + 576, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + 240, stashPosition.y + 432, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -288, stashPosition.y + -144, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -384, stashPosition.y + -144, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -480, stashPosition.y + -144, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -432, stashPosition.y + -240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -336, stashPosition.y + -240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -336, stashPosition.y + 240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + 384, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -240, stashPosition.y + 432, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + -288, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + -384, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + -480, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -240, stashPosition.y + -432, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -336, stashPosition.y + -384, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + -288, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + -384, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + -480, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 240, stashPosition.y + -432, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 336, stashPosition.y + -384, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 336, stashPosition.y + -240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 432, stashPosition.y + -240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 528, stashPosition.y + -240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 480, stashPosition.y + -144, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 576, stashPosition.y + -144, 'CannonTower', 0);handler.putBuilding(stashPosition.x + 384, stashPosition.y + -144, 'BombTower', 0);handler.putBuilding(stashPosition.x + 384, stashPosition.y + -48, 'BombTower', 0);handler.putBuilding(stashPosition.x + 384, stashPosition.y + 48, 'BombTower', 0);handler.putBuilding(stashPosition.x + 480, stashPosition.y + -48, 'BombTower', 0);handler.putBuilding(stashPosition.x + 480, stashPosition.y + 48, 'BombTower', 0);handler.putBuilding(stashPosition.x + 576, stashPosition.y + -48, 'BombTower', 0);handler.putBuilding(stashPosition.x + 576, stashPosition.y + 48, 'BombTower', 0);handler.putBuilding(stashPosition.x + 528, stashPosition.y + 240, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 480, stashPosition.y + 336, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 240, stashPosition.y + 528, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + 576, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + 384, 'BombTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + 384, 'BombTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + 480, 'BombTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + 480, 'BombTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + 576, 'BombTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + 480, 'BombTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + 576, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -240, stashPosition.y + 528, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -336, stashPosition.y + 480, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -384, stashPosition.y + -48, 'BombTower', 0);handler.putBuilding(stashPosition.x + -384, stashPosition.y + 48, 'BombTower', 0);handler.putBuilding(stashPosition.x + -384, stashPosition.y + 144, 'BombTower', 0);handler.putBuilding(stashPosition.x + -480, stashPosition.y + -48, 'BombTower', 0);handler.putBuilding(stashPosition.x + -480, stashPosition.y + 48, 'BombTower', 0);handler.putBuilding(stashPosition.x + -480, stashPosition.y + 144, 'BombTower', 0);handler.putBuilding(stashPosition.x + -432, stashPosition.y + 240, 'CannonTower', 0);handler.putBuilding(stashPosition.x + -384, stashPosition.y + 336, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 336, stashPosition.y + 480, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -480, stashPosition.y + 336, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -528, stashPosition.y + 240, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 480, stashPosition.y + -336, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + -480, 'BombTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + -384, 'BombTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + -384, 'BombTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + -480, 'BombTower', 0);handler.putBuilding(stashPosition.x + 48, stashPosition.y + -576, 'BombTower', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + -576, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 240, stashPosition.y + -528, 'MagicTower', 0);handler.putBuilding(stashPosition.x + 336, stashPosition.y + -480, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -48, stashPosition.y + -576, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + -576, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -240, stashPosition.y + -528, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -336, stashPosition.y + -480, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -576, stashPosition.y + 48, 'ArrowTower', 0);handler.putBuilding(stashPosition.x + -576, stashPosition.y + 144, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -576, stashPosition.y + -48, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -576, stashPosition.y + -144, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -528, stashPosition.y + -240, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -480, stashPosition.y + -336, 'MagicTower', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + -192, 'Harvester', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + -192, 'Harvester', 0);handler.putBuilding(stashPosition.x + 144, stashPosition.y + 192, 'Harvester', 0);handler.putBuilding(stashPosition.x + -144, stashPosition.y + 192, 'Harvester', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + -168, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + -120, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + -72, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + -24, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + 24, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + 72, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + 120, 'Wall', 0);handler.putBuilding(stashPosition.x + -648, stashPosition.y + 168, 'Wall', 0);handler.putBuilding(stashPosition.x + -696, stashPosition.y + -120, 'Wall', 0);handler.putBuilding(stashPosition.x + -696, stashPosition.y + -72, 'Wall', 0);handler.putBuilding(stashPosition.x + -696, stashPosition.y + -24, 'Wall', 0);handler.putBuilding(stashPosition.x + -696, stashPosition.y + 24, 'Wall', 0);handler.putBuilding(stashPosition.x + -696, stashPosition.y + 72, 'Wall', 0);handler.putBuilding(stashPosition.x + -696, stashPosition.y + 120, 'Wall', 0);handler.putBuilding(stashPosition.x + 600, stashPosition.y + 120, 'Door', 0);handler.putBuilding(stashPosition.x + 552, stashPosition.y + 120, 'Door', 0);handler.putBuilding(stashPosition.x + 552, stashPosition.y + 168, 'Door', 0);handler.putBuilding(stashPosition.x + 600, stashPosition.y + 168, 'Door', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + -168, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + -120, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + -72, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + -24, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + 24, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + 72, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + 120, 'Wall', 0);handler.putBuilding(stashPosition.x + 648, stashPosition.y + 168, 'Wall', 0);handler.putBuilding(stashPosition.x + 696, stashPosition.y + -120, 'Wall', 0);handler.putBuilding(stashPosition.x + 696, stashPosition.y + -72, 'Wall', 0);handler.putBuilding(stashPosition.x + 696, stashPosition.y + -24, 'Wall', 0);handler.putBuilding(stashPosition.x + 696, stashPosition.y + 24, 'Wall', 0);handler.putBuilding(stashPosition.x + 696, stashPosition.y + 72, 'Wall', 0);handler.putBuilding(stashPosition.x + 696, stashPosition.y + 120, 'Wall', 0);handler.putBuilding(stashPosition.x + -168, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + -120, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + -72, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + -24, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + 24, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + 72, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + 120, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + 168, stashPosition.y + -648, 'Wall', 0);handler.putBuilding(stashPosition.x + -120, stashPosition.y + -696, 'Wall', 0);handler.putBuilding(stashPosition.x + -72, stashPosition.y + -696, 'Wall', 0);handler.putBuilding(stashPosition.x + -24, stashPosition.y + -696, 'Wall', 0);handler.putBuilding(stashPosition.x + 24, stashPosition.y + -696, 'Wall', 0);handler.putBuilding(stashPosition.x + 72, stashPosition.y + -696, 'Wall', 0);handler.putBuilding(stashPosition.x + 120, stashPosition.y + -696, 'Wall', 0);handler.putBuilding(stashPosition.x + -168, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + -120, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + -72, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + -24, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + 24, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + 72, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + 120, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + 168, stashPosition.y + 648, 'Wall', 0);handler.putBuilding(stashPosition.x + -120, stashPosition.y + 696, 'Wall', 0);handler.putBuilding(stashPosition.x + -72, stashPosition.y + 696, 'Wall', 0);handler.putBuilding(stashPosition.x + -24, stashPosition.y + 696, 'Wall', 0);handler.putBuilding(stashPosition.x + 24, stashPosition.y + 696, 'Wall', 0);handler.putBuilding(stashPosition.x + 72, stashPosition.y + 696, 'Wall', 0);handler.putBuilding(stashPosition.x + 120, stashPosition.y + 696, 'Wall', 0);handler.putBuilding(stashPosition.x + 216, stashPosition.y + 312, 'Door', 0);handler.putBuilding(stashPosition.x + 216, stashPosition.y + 360, 'Door', 0);handler.putBuilding(stashPosition.x + 264, stashPosition.y + 360, 'Door', 0);handler.putBuilding(stashPosition.x + 216, stashPosition.y + -120, 'Door', 0);handler.putBuilding(stashPosition.x + -216, stashPosition.y + -120, 'Door', 0);handler.putBuilding(stashPosition.x + -216, stashPosition.y + 120, 'Door', 0);handler.putBuilding(stashPosition.x + 216, stashPosition.y + 120, 'Door', 0);handler.putBuilding(stashPosition.x + 216, stashPosition.y + -312, 'Door', 0);handler.putBuilding(stashPosition.x + 216, stashPosition.y + -360, 'Door', 0);handler.putBuilding(stashPosition.x + 264, stashPosition.y + -360, 'Door', 0);handler.putBuilding(stashPosition.x + -216, stashPosition.y + -360, 'Door', 0);handler.putBuilding(stashPosition.x + -216, stashPosition.y + -312, 'Door', 0);handler.putBuilding(stashPosition.x + -264, stashPosition.y + -360, 'Door', 0);handler.putBuilding(stashPosition.x + -216, stashPosition.y + 312, 'Door', 0);handler.putBuilding(stashPosition.x + -216, stashPosition.y + 360, 'Door', 0);handler.putBuilding(stashPosition.x + -264, stashPosition.y + 360, 'Door', 0);}