Colorblind Mode

Surviv.io options for Colorblind Persons

As of 23.01.2020. See ბოლო ვერსია.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Colorblind Mode
// @version      v.1
// @icon         https://surviv.io/img/emotes/rainbow.svg
// @description  Surviv.io options for Colorblind Persons
// @author       Filip K Zhõng
// @namespace    SurvivColorBlind
// <========== MATCH ==========> \\
// @match        http://surviv.io/*
// @match        https://surviv.io/*
// @match        http://surviv.io/?region=na&zone=sfo
// @match        http://surviv.io/?region=na&zone=mia
// @match        http://surviv.io/?region=na&zone=nyc
// @match        http://surviv.io/?region=na&zone=chi
// @match        http://surviv.io/?region=sa&zone=sao
// @match        http://surviv.io/?region=eu&zone=fra
// @match        http://surviv.io/?region=eu&zone=waw
// @match        http://surviv.io/?region=as&zone=sgp
// @match        http://surviv.io/?region=as&zone=nrt
// @match        http://surviv.io/?region=as&zone=hkg
// @match        http://surviv.io/?region=kr&zone=sel
// @match        https://surviv.io/?region=na&zone=sfo
// @match        https://surviv.io/?region=na&zone=mia
// @match        https://surviv.io/?region=na&zone=nyc
// @match        https://surviv.io/?region=na&zone=chi
// @match        https://surviv.io/?region=sa&zone=sao
// @match        https://surviv.io/?region=eu&zone=fra
// @match        https://surviv.io/?region=eu&zone=waw
// @match        https://surviv.io/?region=as&zone=sgp
// @match        https://surviv.io/?region=as&zone=nrt
// @match        https://surviv.io/?region=as&zone=hkg
// @match        https://surviv.io/?region=kr&zone=sel
// @match        http://surviv2.io*
// @match        https://surviv2.io*
// @match        http://2dbattleroyale.com*
// @match        https://2dbattleroyale.com*
// @match        http://2dbattleroyale.org*
// @match        https://2dbattleroyale.org*
// @match        http://piearesquared.info*
// @match        https://piearesquared.info*
// @match        http://thecircleisclosing.com*
// @match        https://thecircleisclosing.com*
// @match        http://archimedesofsyracuse.info*
// @match        https://archimedesofsyracuse.info*
// @match        http://secantsecant.com*
// @match        https://secantsecant.com*
// @match        http://parmainitiative.com*
// @match        https://parmainitiative.com*
// @match        http://nevelskoygroup.com*
// @match        https://nevelskoygroup.com*
// @match        http://kugahi.com*
// @match        https://kugahi.com*
// @match        http://chandlertallowmd.com*
// @match        https://chandlertallowmd.com*
// @match        http://ot38.club*
// @match        https://ot38.club*
// @match        http://kugaheavyindustry.com*
// @match        https://kugaheavyindustry.com*
// @match        http://rarepotato.com*
// @match        https://rarepotato.com*
// @match        http://twitch.tv/popout/survivio/extensions/c79geyxwmp1zpas3qxbddzrtytffta/panel*
// @match        https://twitch.tv/popout/survivio/extensions/c79geyxwmp1zpas3qxbddzrtytffta/panel*
// @match        http://c79geyxwmp1zpas3qxbddzrtytffta.ext-twitch.tv/c79geyxwmp1zpas3qxbddzrtytffta/1.0.2/ce940530af57d2615ac39c266fe9679d/index_twitch.html?anchor=panel&language=en&mode=viewer&state=released&platform=web&popout=true*
// @match        https://c79geyxwmp1zpas3qxbddzrtytffta.ext-twitch.tv/c79geyxwmp1zpas3qxbddzrtytffta/1.0.2/ce940530af57d2615ac39c266fe9679d/index_twitch.html?anchor=panel&language=en&mode=viewer&state=released&platform=web&popout=true*

// @grant        none

// ==/UserScript==
// ----------Menu---------- \\
(function() {
    var Default = 'background: #83AF50; border-bottom: #141414; box-shadow: 0 0;'
    var BlueTeams = 'background: #50AFAB; border-bottom: #141414; box-shadow: 0 0;'
    var BlueOptions = 'background: #1E90FF; border-bottom: #141414; box-shadow: 0 0;'
    var NewsYellow = 'background: #FFD700; border-bottom: #141414; box-shadow: 0 0;'
    var CarbonBlack = 'background: #272727; border-bottom: #141414; box-shadow: 0 0;'
    var ShuttleGrey = 'background: #696B6F; border-bottom: #141414; box-shadow: 0 0;'
    var WoodsMode = 'background: #9D9A20; border-bottom: #141414; box-shadow: 0 0;'
    var SnowMode = 'background: #8FACBB; border-bottom: #141414; box-shadow: 0 0;'
    var ModeStyle = ShuttleGrey
    document.querySelector('#btn-join-team').style.cssText = ModeStyle; //Join Team
    document.querySelector('#btn-create-team').style.cssText = ModeStyle; //Create Team
    document.querySelector('#btn-start-mode-0').style.cssText = ModeStyle; //Play Solo
    document.querySelector('#btn-team-leave').style.cssText = ModeStyle; //Leave Team
    document.querySelector('#btn-start-team').style.cssText = ModeStyle; //Start Lobby
    document.querySelector('#btn-customize').style.backgroundColor = ModeStyle; //Customize Icon [Next to Name]
    document.querySelector('#btn-customize').style.cssText = 'border-bottom: #696B6F; box-shadow: 0 0;'; //Customize Icon [Next to Name]
    document.querySelector('#background').style.cssText = 'background-image: url(https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/main_splash_grey.png)'
    let duo = document.getElementById('btn-start-mode-1'); //Play Duo
    duo.parentNode.removeChild(duo);
    let squad = document.getElementById('btn-start-mode-2'); //Play Squad
    squad.parentNode.removeChild(squad);
    let ad = document.getElementById('surviv-io_300x250'); //Ad
    ad.parentNode.removeChild(ad);
    let social = document.getElementById('social-share-block'); //Social Share
    social.parentNode.removeChild(social);
    let gameapp = document.getElementById('start-bottom-left'); //Download Game
    gameapp.parentNode.removeChild(gameapp);
    let streams = document.getElementById('start-top-left-desktop'); //Featured
    streams.parentNode.removeChild(streams);
    let help = document.getElementById('btn-help'); //How To Play
    help.parentNode.removeChild(help);
})();
// <==========CUSTOMX==========> \\
(function () {
    'use strict';
    // <----------Container---------->
    //<---Notes--->
    // Map Thumbnails is 80×80
    // Skin Thumbnails is 80×80
    // Skin Patterns [In game] is 136×136
    // Tree [In game] is 310×310
    // <---Container--->
    var left = document.querySelector('#ad-block-left');
    left.innerHTML = `<div class="contents">
<div class="tabs">
<div class="tab" data-text="Tab 1">Select Skin</div>
<div class="tab" data-text="Tab 2">Select Map</div>
</div>
<div class="container content">
<div class="skins">
<div class="skin-item" id="outfitDefault">
<img src="https://raw.githubusercontent.com/FilipZhong/assets/master/outfit/Basicoutfit.png" class="skin-img" />
<h4 class="skin-name">Default Skin</h4>
</div>
<div class="skin-item" id="outfitBlind">
<img src="https://raw.githubusercontent.com/FilipZhong/assets/master/outfit/outfitNA.png" class="skin-img" />
<h4 class="skin-name">Colorblind Skin</h4>
</div>
<!---Test--->
<div class="skin-item" id="outfitCustom01">
<img src="https://i.imgur.com/oLQAsEv.png" class="skin-img" />
<h4 class="skin-name">The Script Test Skin</h4>
</div>
</div>
</div>
<!-- Maps -->
<div class="container content">
<div class="maps">
<div class="map-item normalMode">
<img src="https://i.imgur.com/xB2vbaR.png" alt="" class="map-img" />
<h4 class="map-name">Normal Map</h4>
</div>
<div class="map-item greyMode">
<img src="https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/mapNotAvailable.png" alt="" class="map-img" />
<h4 class="map-name">Grey Map</h4>
</div>
<div class="map-item redbMode">
<img src="https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/mapNotAvailable.png" alt="" class="map-img" />
<h4 class="map-name">Protanopia</h4>
</div>
<div class="map-item greenbMode">
<img src="https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/mapNotAvailable.png" alt="" class="map-img" />
<h4 class="map-name">Deuteranopia</h4>
</div>
<div class="map-item bluebMode">
<img src="https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/mapNotAvailable.png" alt="" class="map-img" />
<h4 class="map-name">Tritanopia</h4>
</div>
</div>
</div>
<div class="footer">
<p>MADE BY <a href="https://www.youtube.com/c/FilipKZ?sub_confirmation=1" target="_blank">FILIP K ZHÕNG</a>.</p>
</div>
`;
    // <----------Misc---------->
    var skinItem = document.querySelectorAll('.skin-item');
    var mapItem = document.querySelectorAll('.map-item');
    function addStyleString(str) {
        var node = document.createElement('style');
        node.innerHTML = str;
        document.body.appendChild(node);
    }
    addStyleString(`.active { color: green; border: 2px solid #668e38;} .content {display: none;}; .skin-name {margin: 10px;} .tab {display: flex !important;} .active-tab {display: block !important} .contents {display: flex; flex-direction: column; width: 100%; overflow-y: scroll; height: 100%;text-align: center; box-sizing: border-box;} .container {width: 100%; flex: 1 0 auto;} .skins {display: flex; box-sizing: border-box; flex-wrap: wrap} .maps {display: flex; box-sizing: border-box; flex-wrap: wrap} .skin-item, .map-item {flex-grow: 1; flex-basis: 33.3333%; cursor: pointer; box-sizing: border-box; padding: 10px 0;} .tabs {display: flex !important;} .tab {display: inline-block !important; flex-grow: 1; padding: 10px; background: rgba(0, 0, 0, 0.28); cursor: pointer; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;} #ad-block-left {height: 325px;} #social-share-block-wrapper {display: none;} .tab.active-tab {background: #000;} .footer {background-color: #000; padding: 10px; border-top: 1px solid #ddd; flex-shrink: 0;} .footer p {margin:0;} .tab.icon { padding: 0; display: flex !important; justify-content: center; align-items: center;}
.svg-icon { width: 1.5em; height: 1.5em; } .svg-icon path, .svg-icon polygon, .svg-icon rect { fill: #ffffff; } .svg-icon circle { stroke: #ffffff; stroke-width: 1;}`);

    let tabLinks = document.querySelectorAll(".tab");
    let tabContents = document.querySelectorAll(".content");
    tabLinks[0].classList.add("active-tab");
    tabContents[0].classList.add("active-tab");
    tabLinks.forEach((tabLink, i) => {
        tabLink.addEventListener("click", () => {
            tabLinks.forEach(tabLink => tabLink.classList.remove("active-tab"));
            tabContents.forEach(tabContent => tabContent.classList.remove("active-tab"));
            tabLink.classList.add("active-tab");
            tabContents[i].classList.add("active-tab");
        });
    });
    // <----------SkinRules---------->
    var SkinRules = {};
    var skinOutfit = webpackJsonp([], null, ["63d67e9d"]);
    var skinInfo = webpackJsonp([], null, ["63d67e9d"]);
    var skinLoot = webpackJsonp([], null, ["63d67e9d"]);

    SkinRules.outfitDefault=function (){
        skinInfo.outfitBase.name = "Basic Outfit";
        skinInfo.outfitBase.rarity = 0;
        skinInfo.outfitBase.lore = "Pure and simple.";
        // --------------------------------------------------
        skinOutfit.outfitBase.skinImg.baseTint = 16303476;
        skinOutfit.outfitBase.skinImg.baseSprite = "player-base-01.img";
        skinOutfit.outfitBase.skinImg.handTint = 16303476;
        skinOutfit.outfitBase.skinImg.handSprite = "player-hands-01.img";
        skinOutfit.outfitBase.skinImg.footTint = 16303476;
        skinOutfit.outfitBase.skinImg.footSprite = "player-feet-01.img";
        skinOutfit.outfitBase.skinImg.backpackTint = 8480055;
        skinOutfit.outfitBase.skinImg.backpackSprite = "player-circle-base-01.img";
        skinOutfit.outfitBase.ghillie = false;
        // --------------------------------------------------
        skinLoot.outfitBase.lootImg.sprite = "loot-shirt-01.img";
        skinLoot.outfitBase.lootImg.tint = 16777215;
        skinLoot.outfitBase.lootImg.border = "loot-circle-outer-01.img";
        skinLoot.outfitBase.lootImg.borderTint = 0;
        skinLoot.outfitBase.lootImg.scale = 0.2;
    };
    // --------------------------------------------------
    SkinRules.outfitBlind=function (){
        skinInfo.outfitBase.name = "Basic Outfit";
        skinInfo.outfitBase.rarity = 0;
        skinInfo.outfitBase.lore = "Pure and simple.";
        // --------------------------------------------------
        skinOutfit.outfitBase.skinImg.baseTint = 0xFFD7AE;
        skinOutfit.outfitBase.skinImg.baseSprite = "player-base-01.img";
        skinOutfit.outfitBase.skinImg.handTint = 0xffdbb6;
        skinOutfit.outfitBase.skinImg.handSprite = "player-hands-01.img";
        skinOutfit.outfitBase.skinImg.footTint = 0xffdbb6;
        skinOutfit.outfitBase.skinImg.footSprite = "player-feet-01.img";
        skinOutfit.outfitBase.skinImg.backpackTint = 0x665646;
        skinOutfit.outfitBase.skinImg.backpackSprite = "player-circle-base-01.img";
        skinOutfit.outfitBase.ghillie = false;
        // --------------------------------------------------
        skinLoot.outfitBase.lootImg.sprite = "loot-shirt-01.img";
        skinLoot.outfitBase.lootImg.tint = 16777215;
        skinLoot.outfitBase.lootImg.border = "loot-circle-outer-01.img";
        skinLoot.outfitBase.lootImg.borderTint = 0;
        skinLoot.outfitBase.lootImg.scale = 0.2;
    };
    // --------------------------------------------------
    SkinRules.outfitCustom01 = function () {
        skinInfo.outfitBase.name = "Custom01";
        skinInfo.outfitBase.rarity = 5;
        skinInfo.outfitBase.lore = "To the honor of the very first custom skin in this script.";
        // --------------------------------------------------
        skinOutfit.outfitBase.skinImg.baseSprite = "player-base-02.img";
        skinOutfit.outfitBase.skinImg.baseTint = 0x45364b;
        skinOutfit.outfitBase.skinImg.handSprite = "player-hands-02.img";
        skinOutfit.outfitBase.skinImg.handTint = 0x996888;
        skinOutfit.outfitBase.skinImg.backpackSprite = "player-circle-base-02.img";
        skinOutfit.outfitBase.skinImg.backpackTint = 0xb5c2b7;
        skinOutfit.outfitBase.skinImg.footSprite = "player-feet-02.img";
        skinOutfit.outfitBase.skinImg.footTint = 0x996888;
        skinOutfit.outfitBase.ghillie = false;
        // --------------------------------------------------
        skinLoot.outfitBase.lootImg.sprite = "loot-shirt-01.img";
        skinLoot.outfitBase.lootImg.tint = 16777215;
        skinLoot.outfitBase.lootImg.border = "loot-circle-outer-01.img";
        skinLoot.outfitBase.lootImg.borderTint = 0;
        skinLoot.outfitBase.lootImg.scale = 0.2;
    };
    // --------------------------------------------------
    // <----------SkinRemoveBorder---------->
    function skinRemoveBorder() {
        skinItem.forEach(item => { item.classList.remove('active') })
    }
    // <----------SkinForEach---------->
    skinItem.forEach(function (item) {
        item.addEventListener('click', function () {
            if(SkinRules.hasOwnProperty(item.id)) {
                SkinRules[item.id]();
                skinRemoveBorder();
                item.className += " active";
            } else {
                /*console.error(item.id);
          	  	console.trace();
          	    alert('oh shit, skinrule not defined');*/
            }
        });
    });
    // <----------MapRules---------->
    var MapRules = {};
    // --------------------------------------------------
    var normalEvent = webpackJsonp([], null, ["d5ec3c16"]);
//     var springEvent = webpackJsonp([], null, ["6afea591"]);
//     var summerEvent = webpackJsonp([], null, ["0444401b"]);
//     var desertEvent = webpackJsonp([], null, ["d5ec3c16"]);
//     var factionEvent = webpackJsonp([], null, ["903f46c9"]);
//     var halloweenEvent = webpackJsonp([], null, ["9d3c0d8b"]);
//     var potatoEvent = webpackJsonp([], null, ["fc096113"]);
//     var springPotatoEvent = webpackJsonp([], null, ["fea0a94e"]);
//     var iceEvent = webpackJsonp([], null, ["4e269062"]);
//     var snowEvent = webpackJsonp([], null, ["4e269062"]);
//     var woodEvent = webpackJsonp([], null, ["45f86a38"]);
//     var snowWoodEvent = webpackJsonp([], null, ["0354ead9"]);
//     var springWoodEvent = webpackJsonp([], null, ["b895abfa"]);
//     var summerWoodEvent = webpackJsonp([], null, ["d0dd0bd7"]);
//     var savannahEvent = webpackJsonp([], null, ["6a4e7802"]);
//     var cobaltEvent = webpackJsonp([], null, ["6df31f9c"]);
//     var turkeyEvent = webpackJsonp([], null, ["c1e88d07"]);
//     var Event = webpackJsonp([], null, ["d5ec3c16"]);
    // --------------------------------------------------
    var obstacles = webpackJsonp([],null, ["03f4982a"]);
    // --------------------------------------------------
    var allGreenBtns = document.querySelectorAll('.btn-green ');
    allGreenBtns.forEach(btn => {
        if (btn.classList.contains('btn-custom-mode-main') == false) {
            btn.dataset.mode = "normal";
        }
    })
    var normalBtns = document.querySelectorAll('[data-mode]');
    // --------------------------------------------------
    MapRules.normalMode = function() { //MapID: 0
        normalBtns.forEach(btn => {
            btn.className = "btn-green btn-darken menu-option";
            btn.setAttribute("style", '');
        })
        // --------------------------------------------------
        normalEvent.biome.particles.camera = ""
        normalEvent.biome.colors.background= 2118510 ;
        normalEvent.biome.colors.water= 3310251 ;
        normalEvent.biome.colors.waterRipple= 11792639 ;
        normalEvent.biome.colors.beach= 13480795 ;
        normalEvent.biome.colors.riverbank= 9461284 ;
        normalEvent.biome.colors.grass= 8433481 ;
        normalEvent.biome.colors.underground= 1772803 ;
        normalEvent.biome.colors.playerSubmerge= 2854052 ;
        normalEvent.biome.colors.playerGhillie= 8630096 ;
        // --------------------------------------------------
        obstacles.tree_03.img.sprite = "https://surviv.io/img/map/map-tree-03.svg"
        obstacles.stone_01.img.sprite = "https://surviv.io/img/map/map-stone-01.svg"
        obstacles.stone_03.img.sprite = "https://surviv.io/img/map/map-stone-03.svg"
        obstacles.stone_04.img.sprite = "https://surviv.io/img/map/map-stone-04.svg"
        obstacles.airdrop_crate_01.img.sprite = "https://surviv.io/img/map/map-airdrop-01.svg"
        obstacles.airdrop_crate_02.img.sprite = "https://surviv.io/img/map/map-airdrop-02.svg"
        obstacles.crate_01.img.sprite = "https://surviv.io/img/map/map-crate-01.svg"
        obstacles.crate_02.img.sprite = "https://surviv.io/img/map/map-crate-02.svg"
        obstacles.crate_03.img.sprite = "https://surviv.io/img/map/map-crate-03.svg"
        obstacles.chest_03.img.sprite = "https://surviv.io/img/map/map-chest-03.svg"
        obstacles.bush_01.img.sprite = "https://surviv.io/img/map/map-bush-01.svg"
        obstacles.bush_04.img.sprite = "https://surviv.io/img/map/map-bush-04.svg"
        obstacles.bush_07.img.sprite = "https://surviv.io/img/map/map-bush-07.svg"
        obstacles.potato_01.img.sprite = "https://surviv.io/img/map/map-potato-01.svg"
        obstacles.potato_02.img.sprite = "https://surviv.io/img/map/map-potato-02.svg"
        obstacles.potato_03.img.sprite = "https://surviv.io/img/map/map-potato-03.svg"
        // --------------------------------------------------
        background.style.backgroundImage = "url('https://raw.githubusercontent.com/FilipZhong/assets/master/outfit/main_splash.png')";
    }
    // --------------------------------------------------
    MapRules.greyMode = function() { //MapID: 0
        normalBtns.forEach(btn => {
            btn.className = "btn-darken menu-option btn-custom-mode-main";
            btn.setAttribute("style", 'background-image: url("https://surviv.io/img/emotes/surviv.svg")');
            btn.style.backgroundColor = "#7A7A7A";
        })
        normalEvent.biome.particles.camera = ""
        normalEvent.biome.colors.background= 4282861383 ;
        normalEvent.biome.colors.water= 4285493103 ;
        normalEvent.biome.colors.waterRipple= 4292861919 ;
        normalEvent.biome.colors.beach= 4289835441 ;
        normalEvent.biome.colors.riverbank= 4284966759 ;
        normalEvent.biome.colors.grass= 4288059030 ;
        normalEvent.biome.colors.underground= 4279242768 ;
        normalEvent.biome.colors.playerSubmerge= 4285690482 ;
        normalEvent.biome.colors.playerGhillie= 4288124823 ;
        // --------------------------------------------------
        obstacles.tree_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/tree-01g.png"
        obstacles.stone_01.img.sprite = "https://surviv.io/img/map/map-stone-01.svg"
        obstacles.stone_03.img.sprite = "https://surviv.io/img/map/map-stone-03.svg"
        obstacles.stone_04.img.sprite = "https://surviv.io/img/map/map-stone-04.svg"
        obstacles.airdrop_crate_01.img.sprite = "https://surviv.io/img/map/map-airdrop-01.svg"
        obstacles.airdrop_crate_02.img.sprite = "https://surviv.io/img/map/map-airdrop-02.svg"
        obstacles.crate_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-01g.png"
        obstacles.crate_02.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-02g.png"
        obstacles.crate_03.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-03g.png"
        obstacles.chest_03.img.sprite = "https://surviv.io/img/map/map-chest-03.svg"
        obstacles.bush_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/bush-01g.png"
        obstacles.bush_04.img.sprite = "https://surviv.io/img/map/map-bush-04.svg"
        obstacles.bush_07.img.sprite = "https://surviv.io/img/map/map-bush-07.svg"
        obstacles.potato_01.img.sprite = "https://surviv.io/img/map/map-potato-01.svg"
        obstacles.potato_02.img.sprite = "https://surviv.io/img/map/map-potato-02.svg"
        obstacles.potato_03.img.sprite = "https://surviv.io/img/map/map-potato-03.svg"
        // --------------------------------------------------
        background.style.backgroundImage = "url('https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/main_splash_grey.png')";
    }
        // --------------------------------------------------
    MapRules.redbMode = function() { //MapID: 0
        normalBtns.forEach(btn => {
            btn.className = "btn-darken menu-option btn-custom-mode-main";
            btn.setAttribute("style", 'background-image: url("https://surviv.io/img/emotes/rainbow.svg")');
            btn.style.backgroundColor = "#7A7A7A";
        })
        normalEvent.biome.particles.camera = ""
        normalEvent.biome.colors.background= 4282861383 ; //#920000
        normalEvent.biome.colors.water= 0x0077b8 ;
        normalEvent.biome.colors.waterRipple= 5087437 ;
        normalEvent.biome.colors.beach= 0x48DA5B ;
        normalEvent.biome.colors.riverbank= 0x48DA5B ;
        normalEvent.biome.colors.grass= 0x8E8E5A; //4288059030 ;
        normalEvent.biome.colors.underground= 0x355424 ;
        normalEvent.biome.colors.playerSubmerge= 5087437 ;
        normalEvent.biome.colors.playerGhillie= 0x8E8E5A ;
        // --------------------------------------------------
        obstacles.tree_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/tree-01g.png"
        obstacles.stone_01.img.sprite = "https://surviv.io/img/map/map-stone-01.svg"
        obstacles.stone_03.img.sprite = "https://surviv.io/img/map/map-stone-03.svg"
        obstacles.stone_04.img.sprite = "https://surviv.io/img/map/map-stone-04.svg"
        obstacles.airdrop_crate_01.img.sprite = "https://surviv.io/img/map/map-airdrop-01.svg"
        obstacles.airdrop_crate_02.img.sprite = "https://surviv.io/img/map/map-airdrop-02.svg"
        obstacles.crate_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-01g.png"
        obstacles.crate_02.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-02g.png"
        obstacles.crate_03.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-03g.png"
        obstacles.chest_03.img.sprite = "https://surviv.io/img/map/map-chest-03.svg"
        obstacles.bush_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/bush-01g.png"
        obstacles.bush_04.img.sprite = "https://surviv.io/img/map/map-bush-04.svg"
        obstacles.bush_07.img.sprite = "https://surviv.io/img/map/map-bush-07.svg"
        obstacles.potato_01.img.sprite = "https://surviv.io/img/map/map-potato-01.svg"
        obstacles.potato_02.img.sprite = "https://surviv.io/img/map/map-potato-02.svg"
        obstacles.potato_03.img.sprite = "https://surviv.io/img/map/map-potato-03.svg"
        // --------------------------------------------------
        background.style.backgroundImage = "url('https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/main_splash_grey.png')";
    }
    // --------------------------------------------------
    MapRules.greenbMode = function() { //MapID: 0
        normalBtns.forEach(btn => {
            btn.className = "btn-darken menu-option btn-custom-mode-main";
            btn.setAttribute("style", 'background-image: url("https://surviv.io/img/emotes/rainbow.svg")');
            btn.style.backgroundColor = "#7A7A7A";
        })
        normalEvent.biome.particles.camera = ""
        normalEvent.biome.colors.background= 4282861383 ; //#920000
        normalEvent.biome.colors.water= 0x0077b8 ;
        normalEvent.biome.colors.waterRipple= 5087437 ;
        normalEvent.biome.colors.beach= 0x828240 ;
        normalEvent.biome.colors.riverbank= 0x828240 ;
        normalEvent.biome.colors.grass= 0x8e7052; //4288059030 ;
        normalEvent.biome.colors.underground= 0x355424 ;
        normalEvent.biome.colors.playerSubmerge= 5087437 ;
        normalEvent.biome.colors.playerGhillie= 0x8e7052 ;
        // --------------------------------------------------
        obstacles.tree_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/tree-01g.png"
        obstacles.stone_01.img.sprite = "https://surviv.io/img/map/map-stone-01.svg"
        obstacles.stone_03.img.sprite = "https://surviv.io/img/map/map-stone-03.svg"
        obstacles.stone_04.img.sprite = "https://surviv.io/img/map/map-stone-04.svg"
        obstacles.airdrop_crate_01.img.sprite = "https://surviv.io/img/map/map-airdrop-01.svg"
        obstacles.airdrop_crate_02.img.sprite = "https://surviv.io/img/map/map-airdrop-02.svg"
        obstacles.crate_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-01g.png"
        obstacles.crate_02.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-02g.png"
        obstacles.crate_03.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-03g.png"
        obstacles.chest_03.img.sprite = "https://surviv.io/img/map/map-chest-03.svg"
        obstacles.bush_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/bush-01g.png"
        obstacles.bush_04.img.sprite = "https://surviv.io/img/map/map-bush-04.svg"
        obstacles.bush_07.img.sprite = "https://surviv.io/img/map/map-bush-07.svg"
        obstacles.potato_01.img.sprite = "https://surviv.io/img/map/map-potato-01.svg"
        obstacles.potato_02.img.sprite = "https://surviv.io/img/map/map-potato-02.svg"
        obstacles.potato_03.img.sprite = "https://surviv.io/img/map/map-potato-03.svg"
        // --------------------------------------------------
        background.style.backgroundImage = "url('https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/main_splash_grey.png')";
    }
    // --------------------------------------------------
    MapRules.bluebMode = function() { //MapID: 0
        normalBtns.forEach(btn => {
            btn.className = "btn-darken menu-option btn-custom-mode-main";
            btn.setAttribute("style", 'background-image: url("https://surviv.io/img/emotes/rainbow.svg")');
            btn.style.backgroundColor = "#7A7A7A";
        })
        normalEvent.biome.particles.camera = ""
        normalEvent.biome.colors.background= 4282861383 ;
        normalEvent.biome.colors.water= 0x32AFC5 ;
        normalEvent.biome.colors.waterRipple= 5087437 ;
        normalEvent.biome.colors.beach= 0x7B2C8E ;
        normalEvent.biome.colors.riverbank= 0x7B2C8E ;
        normalEvent.biome.colors.grass= 0x8E7272; //4288059030 ;
        normalEvent.biome.colors.underground= 4279242768 ;
        normalEvent.biome.colors.playerSubmerge= 5087437 ;
        normalEvent.biome.colors.playerGhillie= 0x8E7272 ;
        // --------------------------------------------------
        obstacles.tree_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/tree-01g.png"
        obstacles.stone_01.img.sprite = "https://surviv.io/img/map/map-stone-01.svg"
        obstacles.stone_03.img.sprite = "https://surviv.io/img/map/map-stone-03.svg"
        obstacles.stone_04.img.sprite = "https://surviv.io/img/map/map-stone-04.svg"
        obstacles.airdrop_crate_01.img.sprite = "https://surviv.io/img/map/map-airdrop-01.svg"
        obstacles.airdrop_crate_02.img.sprite = "https://surviv.io/img/map/map-airdrop-02.svg"
        obstacles.crate_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-01g.png"
        obstacles.crate_02.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-02g.png"
        obstacles.crate_03.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/crate-03g.png"
        obstacles.chest_03.img.sprite = "https://surviv.io/img/map/map-chest-03.svg"
        obstacles.bush_01.img.sprite = "https://raw.githubusercontent.com/FilipZhong/assets/master/obstacles/bush-01g.png"
        obstacles.bush_04.img.sprite = "https://surviv.io/img/map/map-bush-04.svg"
        obstacles.bush_07.img.sprite = "https://surviv.io/img/map/map-bush-07.svg"
        obstacles.potato_01.img.sprite = "https://surviv.io/img/map/map-potato-01.svg"
        obstacles.potato_02.img.sprite = "https://surviv.io/img/map/map-potato-02.svg"
        obstacles.potato_03.img.sprite = "https://surviv.io/img/map/map-potato-03.svg"
        // --------------------------------------------------
        background.style.backgroundImage = "url('https://raw.githubusercontent.com/FilipZhong/assets/master/assets-01/main_splash_grey.png')";
    }
    // --------------------------------------------------
    // <----------MapRemoveBorder---------->
    function mapRemoveBorder() {
        mapItem.forEach(item => { item.classList.remove('active') })
    }
    mapItem.forEach(function (item) {
        var background = document.querySelector('#background');
        var logo = document.querySelector('#background');
        item.addEventListener('click', function () {
            var temp1 = item.className;
            var temp2 = temp1.split(' ');
            temp1 = temp2[temp2.length-1];
            if(MapRules.hasOwnProperty(temp1)) {
                MapRules[temp1]();
                mapRemoveBorder();
                item.className += " active";
            }
        });
    });
})();
// --------------------------------------------------
// <==========CUSTOMX_END==========> \\
// ----------HUD---------- \\
(function() {
    'use strict';
    var elems = document.getElementsByClassName('ui-weapon-name')
    console.log(elems);
    for (var ii = 0; ii < elems.length; ii++) {
        elems[ii].addEventListener('DOMSubtreeModified', function() {
            var weaponName = this.textContent;
            var border = 'solid';
            switch (weaponName) {
                    // <---------- Default ----------> \\
                default:
                    border = '#FFFFFF';
                    border = 'solid';
                    break;
                    // <===GUNS===>
                    // <---------- YELLOW: 9mm ----------> \\
                case 'CZ-3A1':
                case 'G18C':
                case 'M9':
                case 'M93R':
                case 'MAC-10':
                case 'MP5':
                case 'P30L':
                case 'Dual P30L':
                case 'UMP9':
                case 'Vector':
                case 'VSS':
                    border += '#FFAE00';
                    border += 'hidden';
                    break;
                    // <---------- RED: 12 Gauge ----------> \\
                case 'M1100':
                case 'M870':
                case 'MP220':
                case 'Saiga-12':
                case 'SPAS-12':
                case 'Super 90':
                case 'USAS-12':
                    border += '#FF0000';
                    border += 'solid';
                    break;
                    // <---------- BLUE: 7.62 mm ----------> \\
                case 'AK-47':
                case 'AN-94':
                case 'BAR M1918':
                case 'BLR 81':
                case 'DP-28':
                case 'Groza':
                case 'Groza-S':
                case 'M1 Garand':
                case 'M39 EMR':
                case 'Mosin-Nagant':
                case 'OT-38':
                case 'OTs-38':
                case 'PKP Pecheneg':
                case 'SCAR-H':
                case 'SV-98':
                case 'SVD-63':
                    border += '#0066FF';
                    border += 'dotted';
                    break;
                    // <---------- GREEN: 5.56mm ----------> \\
                case 'FAMAS':
                case 'L86A2':
                case 'M249':
                case 'M416':
                case 'M4A1-S':
                case 'Mk 12 SPR':
                case 'QBB-97':
                case 'Scout Elite':
                    border += '#039E00';
                    border += 'double';
                    break;
                    // <---------- Purple: .45 ACP ----------> \\
                case 'M1911':
                case 'M1A1':
                case 'Mk45G':
                case 'Model 94':
                case 'Peacemaker':
                case 'Vector 45':
                    border += '#7900FF';
                    border += 'ridge';
                    break;
                    // <---------- FLARE ----------> \\
                case 'Flare Gun':
                    border += '#D44600';
                    border += '';
                    break;
                    // <---------- .50 AE ----------> \\
                case 'DEagle 50':
                    border += '#292929';
                    border += '';
                    break;
                    // <---------- .308 Subsonic ----------> \\
                case 'AWM-S':
                case 'Mk 20 SSR':
                    border += '#465000';
                    border += '';
                    break;
                    // <---------- Potato ----------> \\
                case 'Potato Cannon':
                case 'Spud Gun':
                    border += '#935924';
                    border += '';
                    break;
                    // <---------- CURSED: 9 mm ----------> \\
                case 'M9 Cursed':
                    border += '#323232';
                    border += '';
                    break;
                    // <---------- Bugle ----------> \\
                case 'Bugle':
                    border += '#F2BC21';
                    border += '';
                    break;
                    // <---------- Trowables ----------> \\
            }
            // <---------- GUN END ----------> \\
            console.log(border);
            this.parentNode.style.border = border;
        }, false);
    }
})();
// <========== ARMOR HUD ==========> \\
(function() {
    'use strict';
    var elems = document.getElementsByClassName('ui-armor-level');
    console.log(elems);
    for (var ii = 0; ii < elems.length; ii++) {
        elems[ii].addEventListener('DOMSubtreeModified', function() {
            var armorlv = this.textContent;
            var border = 'solid';
            switch (armorlv) {
                default: border = '#000000';
                    border = 'solid';
                    break;
                case 'Lvl. 0':
                    border += '#FFFFFF';
                    break;
                case 'Lvl. 1':
                    border += '#FFFFFF';
                    break;
                case 'Lvl. 2':
                    border += '#808080';
                    break;
                case 'Lvl. 3':
                    border += '#0C0C0C';
                    break;
                case 'Lvl. 4':
                    border += '#FFF00F';
                    break;
            }
            console.log(border);
            this.parentNode.style.border = border;
        }, false);
    }
})();
// <==========HUD_END==========> \\