// ==UserScript==
// @name Zones Only
// @description made with much love
// @version 0.0.1
// @author Cazka#1820
// @match *://diep.io/*
// @grant none
// @require http://greasyfork.icu/scripts/433681-diepapi/code/diepAPI.js?version=977858
// @namespace http://greasyfork.icu/users/541070
// ==/UserScript==
'use strict';
function drawZones() {
ctx.save();
ctx.globalAlpha = 0.08;
if (localStorage.gamemode === '4teams') {
let center;
let radius;
//blue
center = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675));
radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675 + 5250)).y - center.y;
ctx.fillStyle = '#006480';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675 + 3800)).y - center.y;
ctx.fillStyle = '#ff6480';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
//purple
center = arenaScaling.toScreenPos(new Vector(11150 - 1675, -11150 + 1675));
radius = arenaScaling.toScreenPos(new Vector(11150 - 1675, -11150 + 1675 + 5250)).y - center.y;
ctx.fillStyle = '#644280';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675 + 3800)).y - center.y;
ctx.fillStyle = '#ff4280';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
//green
center = arenaScaling.toScreenPos(new Vector(-11150 + 1675, 11150 - 1675));
radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, 11150 - 1675 + 5250)).y - center.y;
ctx.fillStyle = '#00803e';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, 11150 - 1675 + 3800)).y - center.y;
ctx.fillStyle = '#ff803e';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
//red
center = arenaScaling.toScreenPos(new Vector(11150 - 1675, 11150 - 1675));
radius = arenaScaling.toScreenPos(new Vector(11150 - 1675, 11150 - 1675 + 5250)).y - center.y;
ctx.fillStyle = '#963033';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
radius = arenaScaling.toScreenPos(new Vector(11150 - 1675, 11150 - 1675 + 3800)).y - center.y;
ctx.fillStyle = '#ff3033';
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI);
ctx.fill();
} else if (localStorage.gamemode === 'teams') {
let coords1;
let coords2;
//blue
coords1 = arenaScaling.toScreenPos(new Vector(-11150, -11150));
coords2 = arenaScaling.toScreenPos(new Vector(-11150 + 5500, 11150));
ctx.fillStyle = '#006480';
ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y);
coords2 = arenaScaling.toScreenPos(new Vector(-11150 + 4150, 11150));
ctx.fillStyle = '#ff6480';
ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y);
//red
coords1 = arenaScaling.toScreenPos(new Vector(11150, -11150));
coords2 = arenaScaling.toScreenPos(new Vector(11150 - 5500, 11150));
ctx.fillStyle = '#963033';
ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y);
coords2 = arenaScaling.toScreenPos(new Vector(11150 - 4150, 11150));
ctx.fillStyle = '#ff3033';
ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y);
}
//pentagon nest
let coords1;
let coords2;
coords1 = arenaScaling.toScreenPos(new Vector(-1115, -1115));
coords2 = arenaScaling.toScreenPos(new Vector(1115, 1115));
ctx.fillStyle = '#8aff69';
ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y);
ctx.restore();
}
const { Vector, arenaScaling, player, game } = window.diepAPI;
const ctx = document.getElementById('canvas').getContext('2d');
let isAlive = false;
player.on('dead', () => (isAlive = false));
player.on('spawn', () => (isAlive = true));
game.once('ready', () => {
game.on('frame', () => {
if(isAlive) drawZones();
});
});