Skip to content

Instantly share code, notes, and snippets.

@XianThi
Last active August 22, 2019 15:41
Show Gist options
  • Save XianThi/98f4ba3746211baf3b3ee21a97d504c9 to your computer and use it in GitHub Desktop.
Save XianThi/98f4ba3746211baf3b3ee21a97d504c9 to your computer and use it in GitHub Desktop.
e-Sim Equipment Manager (easy merge for now)
// ==UserScript==
// @name Equipment Manager
// @license MIT
// @version 1.1
// @namespace localhost
// @author XianThi
// @description e-Sim Equipment Manager Tool (easy merge for now)
// @downloadUrl https://gist.github.com/XianThi/98f4ba3746211baf3b3ee21a97d504c9/raw/9ddb908576373f0a1c0d9fc427da01733d7a5e3b/eSim-EquManager.user.js
// @match https://*.e-sim.org/storage.html?storageType=EQUIPMENT*
// @require https://code.jquery.com/jquery-3.2.1.min.js
// @require https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js
// @resource bootstrapCSS https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css
// @grant GM_getResourceText
// @grant GM_getResourceURL
// @grant GM_addStyle
// @grant GM_xmlhttpRequest
// ==/UserScript==
"use strict";
function cssElement(url) {
var link = document.createElement("link");
link.href = url;
link.rel="stylesheet";
link.type="text/css";
return link;
}
function createarea(item){
var area='<div class="col-lg-2 col-sm-2 col-xs-2"><div style="display:grid !important;" class="dropdown">';
area=area+'<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">'+item+'<span class="caret"></span></button>';
area=area+'<ul class="dropdown-menu">';
area=area+'<li><a tag="'+item+'" onclick="newmerge(1,this);">Q1 '+item+' Birleştir</a></li>';
area=area+'<li><a tag="'+item+'" onclick="newmerge(2,this);">Q2 '+item+' Birleştir</a></li>';
area=area+'<li><a tag="'+item+'" onclick="newmerge(3,this);">Q3 '+item+' Birleştir</a></li>';
area=area+'<li><a tag="'+item+'" onclick="newmerge(4,this);">Q4 '+item+' Birleştir</a></li>';
area=area+'<li><a tag="'+item+'" onclick="newmerge(5,this);">Q5 '+item+' Birleştir</a></li>';
area=area+'</ul></div></div>';
return area;
}
function insertBefore(newNode, referenceNode) {
referenceNode.insertAdjacentHTML('beforebegin',newNode);
}
window.addEventListener("load", main);
var myFunctions = window.myFunctions = {};
function main() {
var localUrl = new String( window.location );
if( localUrl.indexOf( "storage.html?storageType=EQUIPMENT", 0 ) >= 0 ) {
//CREATE BUTTONS
var mergeItemdiv=document.querySelector("#storageConteiner > div > div");
insertBefore('<h2 style="text-shadow: none; color: #f2f2f2;">Hızlı Birleştirme</h2><div class="row foundation-radius fightContainer" id="newmergebuttons" style="height: 200px !important;"></div>',document.querySelector("#storageConteiner > div > div > h2:nth-child(9)"));
//mergeItemdiv.prepend('<div class="row" id="newmergebuttons"></div>');
var area = $("#newmergebuttons");
var kaskarea=createarea("Kask");
area.append(kaskarea);
var durbunarea=createarea("Dürbün");
area.append(durbunarea);
var silaharea=createarea("Silah eklentisi");
area.append(silaharea);
var haritaarea=createarea("Harita");
area.append(haritaarea);
var pantarea=createarea("Pantolon");
area.append(pantarea);
var zirharea=createarea("Kişisel zırh");
area.append(zirharea);
var ayakkabiarea=createarea("Ayakkabı");
area.append(ayakkabiarea);
var ugurarea=createarea("Uğur");
area.append(ugurarea);
var x;
do {
x = document.getElementsByClassName("equipmentInStorage")[0];
x.className="newequipmentInStorage";
x = document.getElementsByClassName("equipmentInStorage")[0];
}while ((typeof(x) != 'undefined' && x != null));
}
}
$(document).ready(function() {
document.head.appendChild(cssElement(GM_getResourceURL ("bootstrapCSS")));
GM_addStyle(".newequipmentInStorage{height: 250px !important;width: 32% !important;float: left !important;font-size: 10px !important;margin: 4px;background-color: rgba(0, 0, 0, 0.3);border: 1px solid #ccc;border-radius: 3px;overflow: hidden;}");
var postscr = document.createElement("script");
postscr.type="text/javascript";
postscr.textContent = 'function post(e,t,n="post"){const o=document.createElement("form");o.method=n,o.action=e;for(const e in t)if(t.hasOwnProperty(e)){const n=document.createElement("input");n.type="hidden",n.name=e,n.value=t[e],o.appendChild(n)}document.body.appendChild(o),o.submit()}';
document.body.appendChild( postscr );
var mergescr = document.createElement( "script" );
mergescr.type = "text/javascript";
mergescr.textContent = 'function newmerge(t,e){var i={},n=[],o="<b>Q"+t+" "+e.getAttribute("tag")+"</b>";$.each($(".equipmentDescription b"),function(t,e){if(o.toString()==e.outerHTML){var i=$(".equipmentDescription").get(t).getAttribute("id").substring(4);n.push(i)}}),n.slice(0,3).forEach(function(t){i["itemId["+t+"]"]=t}),i.action="MERGE",post("equipmentAction.html",i,"POST")}' ;
document.body.appendChild( mergescr );
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment