NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name ColoreMarchand // @namespace thaanis-luxe-merch.com // @description Thaanis-Luxe : script pourafficher dans le tableau marchand les objets luxe (Contactez Ulysse in game) // @include http://www.monde-de-thaanis.com/jeu/perso/entrer.php?idbat=70 // @include http://www.monde-de-thaanis.com/jeu/perso/entrer.php?idbat=53 // @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js // @version 1.2.1 // @downloadURL https://openuserjs.org/install/zogre/ColoreMarchand.user.js // @grant none // ==/UserScript== var childrenbr; var childrentd = document.getElementsByTagName('td'); var tmp = ''; var used = ''; var lienmenu = 0; var tabLux = new Array(); //Tête var BAN = {match: "Bandeau (", Poids: "3", ARM: "3", Vue: "1"}; var BDM = {match: "Bandeau de magie", Poids: "10", ARM: "1", PM: "9", Vue: "0"}; var CAC = {match: "Casque à cornes", Poids: "15", ATT: "-1", DEF: "-2", DEG: "7", ARM: "9", Vue: "-2"}; var CDC = {match: "Casque de chevalier", Poids: "15", ARM: "13", Vue: "-5", Cycle: "5"}; var CEC = {match: "Casque en cuir", Poids: "5", ARM: "6", Vue: "-1", Cycle: "2"}; var CEM = {match: "Casque en métal", Poids: "10", ARM: "9", Vue: "-2", Cycle: "2"}; var CAO = {match: "Casque en os", Poids: "15", ATT: "7", DEF: "-2", ARM: "7", Vue: "-1"}; var CDM = {match: "Chapeau de mage", Poids: "10", ATT: "-2", DEF: "1", PM: "8", DM: "6", Vue: "-2"}; var HTC = {match: "Heaume à tête de crapaud", Poids: "26", DEF: "-5", ARM: "15", Vue: "-5"}; var JUM = {match: "Jumelles", Poids: "5", ATT: "0", DEF: "-1", Vue: "4"}; //Cou var PLM = {match: "Amulette \"pare-la-mort\"", Poids: "3", PM: "-2", DM: "-1", Comp: "-2", Magie: "-5"}; var ATT = {match: "Amulette terre à terre", Poids: "2", PM: "-2", DM: "-2", Comp: "3", Magie: "-1"}; var COL = {match: "Colletin (", Poids: "5", ARM: "3"}; var CRE = {match: "Colletin renforcé", Poids: "8", ATT: "-1", DEF: "-1", ARM: "5"}; var CAN = {match: "Collier anticyclownique", Poids: "2", PM: "-2", DM: "0", Comp: "-1", Magie: "-1"}; var CPS = {match: "Collier psychique", Poids: "5", ARM: "-2", PM: "5", DM: "5"}; var TAL = {match: "Talisman", Poids: "3", PM: "3", DM: "3"}; //Bras droit var DAG = {match: "Dague", Poids: "7", ATT: "2", DEF: "2", ARM: "0", DEG: "3"}; var ECO = {match: "Epée courte", Poids: "20", ATT: "-5", DEF: "2", DEG: "12"}; var ELO = {match: "Epée longue", Poids: "25", ATT: "-15", DEF: "-4", DEG: "20"}; var FLE = {match: "Fleuret", Poids: "15", ATT: "9", DEF: "9", DEG: "-8", ARM: "-1"}; var GAN = {match: "Gantelet", Poids: "14", ATT: "-5", DEF: "6", DEG: "3", ARM: "6", Comp: "-1"}; var HCT = {match: "Hachette", Poids: "20", ATT: "5", DEF: "-5", DEG: "10"}; var LEV = {match: "Levantine", Poids: "14", ATT: "4", DEF: "4", DEG: "4"}; var RAP = {match: "Rapière", Poids: "20", ATT: "-8", DEF: "0", DEG: "15"}; var SIC = {match: "Sica", Poids: "10", ATT: "1", DEF: "2", DEG: "5"}; //Bras gauche var ASP = {match: "Aspis", Poids: "35", ATT: "-5", DEF: "-1", DEG: "-8", ARM: "20"}; var BNO = {match: "Bouclier normand", Poids: "20", ATT: "-7", DEF: "5", DEG: "-5", ARM: "12"}; var ECU = {match: "Ecu", Poids: "10", ATT: "-2", DEF: "2", DEG: "2", ARM: "3"}; var KDP = {match: "Kit du piégeur", Poids: "10"}; var KDR = {match: "Kit du réparateur", Poids: "10"}; var MGA = {match: "Main-gauche", Poids: "5", ATT: "3", DEF: "3", DEG: "3", ARM: "-4"}; var PAV = {match: "Pavois", Poids: "25", ATT: "-7", DEF: "-7", ARM: "15"}; var RON = {match: "Rondache", Poids: "12", ATT: "-4", DEF: "4", DEG: "-3", ARM: "7"}; var TAR = {match: "Targe", Poids: "4", DEF: "5"}; //Bras droit et gauche var BEC = {match: "Banc en chêne", Poids: "80", ATT: "-20", DEF: "-20", DEG: "45", ARM: "7", Vue: "0"}; var BAT = {match: "Bâton magique", Poids: "20", ATT: "-8", DEF: "5", DM: "8",PM: "12",DEG: "-8",ARM: "5"}; var CLA = {match: "Claymore", Poids: "35", ATT: "-15", DEF: "-7", DEG: "25"}; var GJU = {match: "Griffes jumelles", Poids: "17", ATT: "7", DEF: "-5", DEG: "7", ARM: "-4"}; var GUI = {match: "Guisarme", Poids: "50", ATT: "-20", DEF: "-10", DEG: "35"}; var HAC = {match: "Hache", Poids: "40", ATT: "-20", DEF: "-5", DEG: "30"}; var TGP = {match: "Très grand pavois", Poids: "50", ATT: "-16", DEF: "6", DEG: "-16", ARM: "30", Vue: "0"}; //Corps var ADC = {match: "Armure de cuir", Poids: "20", ATT: "1", DEF: "-10", ARM: "10"}; var ACB = {match: "Armure de cuir bouilli", Poids: "9", ATT: "-6", DEF: "2", ARM: "5"}; var ADP = {match: "Armure de plates", Poids: "60", ATT: "-20", DEF: "-20", ARM: "35"}; var AET = {match: "Armure éthérée", Poids: "1", ATT: "-6", DEF: "-6", DEG: "-6", ARM: "-6", PM: "13", DM: "13", Cycle: "-15", Reg: "-6"}; var ASY = {match: "Armure symbiotique", Poids: "30", PM: "15", DM: "10"}; var BRI = {match: "Brigantine", Poids: "30", ATT: "0", DEF: "-12", ARM: "15"}; var CUI = {match: "Cuirasse", Poids: "50", ATT: "-16", DEF: "-16", ARM: "30"}; var HAM = {match: "Hamata", Poids: "35", ATT: "-10", DEF: "-10", ARM: "20"}; var HAU = {match: "Haubert", Poids: "40", ATT: "-13", DEF: "-13", ARM: "26"}; var JAQ = {match: "Jaque", Poids: "9", ATT: "2", DEF: "-6", ARM: "5"}; var RMB = {match: "Robe de mage balancé", Poids: "10", PM: "5", DM: "5"}; var RMP = {match: "Robe de mage prudent", Poids: "10", PM: "-6", DM: "13"}; var RMT = {match: "Robe de mage téméraire", Poids: "10", PM: "12", DM: "-6"}; var TDM = {match: "Tunique de mailles", Poids: "30", ATT: "-12", DEF: "0", ARM: "15"}; var VES = {match: "Veste", Poids: "5", DEF: "2", ARM: "2"}; //Bijoux var BACC = {match: "Bague à chaton creux", Poids: "1", Reg: "-2"}; var BAE = {match: "Bague d'Eau", Poids: "1", DEF: "6", DEG: "-5"}; var BAF = {match: "Bague de Feu", Poids: "1", DEG: "6", Reg: "-5"}; var BAM = {match: "Bague de mage", Poids: "1", ATT: "-2", DEG: "-2", PM: "3", DM: "3", Comp: "-1", Magie: "1"}; var BAR = {match: "Bague de Roc", Poids: "1", ARM: "6", Depla: "-2"}; var BAA = {match: "Bague en air", Poids: "1", ATT: "6", ARM: "-5"}; var ALL = {match: "Alliance", Poids: "1", PM: "-5"}; var BAG = {match: "Bague de guerrier", Poids: "1", ATT: "3", DEG: "3", PM: "-2", DM: "-2", Comp: "1", Magie: "-1"}; //Jambes var CEG = {match: "Cuissard et grève", Poids: "20", ATT: "-2", DEF: "-2", ARM: "10"}; var CUIS = {match: "Cuissot", Poids: "25", ATT: "-3", DEF: "-3", ARM: "12"}; var GAP = {match: "Genouillères à pointes", Poids: "5", ATT: "2", DEF: "-1", DEG: "2", ARM: "1"}; var JDM = {match: "Jambières de mailles", Poids: "10", DEF: "-1", ARM: "5"}; var JDP = {match: "Jambières de plates", Poids: "15", DEF: "-3", ARM: "7"}; var JCB = {match: "Jambières en cuir bouilli", Poids: "5", DEF: "1", ARM: "3"}; var PAN = {match: "Pantalon", Poids: "3", DEF: "2", ARM: "1"}; //Pieds var BMA = {match: "Bottes de marche", Poids: "15", ATT: "0", DEF: "0", Cycle: "-10", Depla: "12"}; var CMA = {match: "Chausses de mailles", Poids: "8", ATT: "2", DEF: "2", ARM: "4", Cycle: "10"}; var CEL = {match: "Chaussettes en laine", Poids: "3", ATT: "-1", DEF: "-1", Cycle: "2", Reg: "5"}; var CHP = {match: "Chaussettes puantes", Poids: "3", ATT: "-3", DEF: "-3", Cycle: "8", Reg: "-17"}; var SAN = {match: "Sandales", Poids: "5", ATT: "2", DEF: "2", Reg: "-1"}; var SOL = {match: "Soleret", Poids: "20", ATT: "5", DEF: "5", ARM: "5", Cycle: "12"}; var lTab = tabLux.push(BAN,BDM,CAC,CDC,CEC,CEM,CAO,CDM,HTC,JUM,//Tête PLM,ATT,COL,CRE,CAN,CPS,TAL,//Cou DAG,ECO,ELO,FLE,GAN,HCT,LEV,RAP,SIC,//Bras droit ASP,BNO,ECU,KDP,KDR,MGA,PAV,RON,TAR,//Bras gauche BEC,BAT,CLA,GJU,GUI,HAC,TGP,//Bras droit et gauche ADC,ACB,ADP,AET,ASY,BRI,CUI,HAM,HAU,JAQ,RMB,RMP,RMT,TDM,VES,//Corps BACC,BAE,BAF,BAM,BAR,BAA,ALL,BAG,//Bijoux CEG,CUIS,GAP,JDM,JDP,JCB,PAN,//Jambes BMA,CMA,CEL,CHP,SAN,SOL);//Pied //if (typeof tabLux[0].att != 'undefined'){ //alert(tabLux[0].att); //} var tabMatch = new Array(); var match = { ARM: '[Arm :', Vue: '[Vue :', REG: '[Rég :', DEF: '[Def :', ATT: '[Att :', PM: '[Puis Mag :', DM: '[Def Mag :', DEG: '[Deg :', CYC: '[Cycle :' }; var MATCH_ARM = '[Arm :'; var MATCH_VUE = '[Vue :'; var MATCH_CYC = '[Cycle :'; var MATCH_DEP = '[Dépla :'; var MATCH_REG = '[Rég :'; var MATCH_DEF = '[Def :'; var MATCH_ATT = '[Att :'; var MATCH_PM = '[Puis Mag :'; var MATCH_DM = '[Def Mag :'; var MATCH_DEG = '[Deg :'; tabMatch.push(match); // Coloration var SUP_LUX = 'purple'; var EQ_LUX = 'blue'; var INF1_LUX = 'green'; // inferieur d'1 point var INFX_LUX = 'red'; // inférieurs... var tmp_val_lux; /*--- Create a button in a container div. It will be styled and positioned with CSS. */ var zNode = document.createElement('div'); zNode.innerHTML = '<button id="myButton" type="button">' + 'COLORE LUXE</button>' ; zNode.setAttribute('id', 'myContainer'); document.body.appendChild(zNode); //--- Activate the newly added button. document.getElementById('myButton').addEventListener('click', truc, false ); function ButtonClickAction(zEvent) { /*--- For our dummy action, we'll just add a line of text to the top of the screen. */ var zNode = document.createElement('p'); zNode.innerHTML = 'The button was clicked.'; document.getElementById('myContainer').appendChild(zNode); } //--- Style our newly added elements using CSS. GM_addStyle(multilineStr(function () { /*! #myContainer { position: absolute; top: 0; left: 0; font-size: 20px; background: black; border: 3px outset black; margin: 5px; opacity: 0.9; z-index: 222; padding: 5px 20px; } #myButton { cursor: pointer; width: 300px; } #myContainer p { color: red; background: white; } */ })); function multilineStr(dummyFunc) { var str = dummyFunc.toString(); str = str.replace(/^[^\/]+\/\*!?/, '') // Strip function () { /*! .replace(/\s*\*\/\s*\}\s*$/, '') // Strip */ } .replace(/\/\/.+$/gm, '') // Double-slash comments wreck CSS. Strip them. ; return str; } function truc() { //alert('new truc'); // récupération de la table var tabMarchand = document.getElementById('table_marchand'); var cellules; var j, k; // parcours des lignes. Init à 1 pour sauter le header for (j = 1; j < tabMarchand.rows.length; j++) { // alert(tabMarchand.rows[j].cells[2].textContent); //alert('toto2'); for (k = 0; k < lTab; k++) { // GENERIQUE if (tabMarchand.rows[j].cells[2].textContent.toUpperCase() == tabLux[k].match.toUpperCase()) { checkItem(tabMarchand, j, k); } } } } //TabMarchand : le tableau HTML // Ligne : numéro de la ligne du tableau traitée // item : numéro du tableau d'objet catalogue function checkItem(tabMarchand, ligne, item) { var tmp_val_luxe = 0; var j, k; var inverse; // parcours des colonnes de 6 à 18 - emplacements des valeurs objets for (j = 6; j <= 18; j++) { if (tabMarchand.rows[ligne].cells[j].textContent != '') { inverse = 0; var attribut = tabMarchand.rows[0].cells[j].textContent; switch (attribut) { case 'ATT': tmp_val_luxe = tabLux[item].ATT; // alert ('case ATT '+tmp_val_luxe); break; case 'DEF': tmp_val_luxe = tabLux[item].DEF; break; case 'DEG': tmp_val_luxe = tabLux[item].DEG; break; case 'ARM': tmp_val_luxe = tabLux[item].ARM; break; case 'PMA': tmp_val_luxe = tabLux[item].PM; break; case 'DMA': tmp_val_luxe = tabLux[item].DM; break; case 'COMP': tmp_val_luxe = tabLux[item].Comp; break; case 'MA': tmp_val_luxe = tabLux[item].Magie; break; case 'DEP': tmp_val_luxe = tabLux[item].Depla; break; case 'REG': tmp_val_luxe = tabLux[item].Reg; break; case 'CYC': tmp_val_luxe = tabLux[item].Cycle; inverse = 1; break; case 'VUE': tmp_val_luxe = tabLux[item].Vue; break; case 'POIDS': tmp_val_luxe = tabLux[item].Poids; inverse = 1; break; default: tmp_val_luxe = 0; } // alert(tmp_val_luxe); var valeur = tabMarchand.rows[ligne].cells[j].textContent; valeur = valeur.replace(' %', ''); var couleur = checkColor(tmp_val_luxe, valeur, inverse); tabMarchand.rows[ligne].cells[j].innerHTML = '<font color="' + couleur + '">' + tabMarchand.rows[ligne].cells[j].textContent + '</font>'; //alert('couleur : '+couleur); } } } function checkColor(valeurLuxe, valeur, inverse) { if (inverse == 0) //comparaison normale { if (eval(valeur) == eval(valeurLuxe)) { return EQ_LUX; } else if (eval(valeur) + 1 == eval(valeurLuxe)) { return INF1_LUX; } else if (eval(valeur) + 1 < eval(valeurLuxe)) { return INFX_LUX; } else { return SUP_LUX; } } else { //comparaison inversée if (eval(valeur) == eval(valeurLuxe)) { return EQ_LUX; } else if (eval(valeur) - 1 == eval(valeurLuxe)) { return INF1_LUX; } else if (eval(valeur) - 1 > eval(valeurLuxe)) { return INFX_LUX; } else { return SUP_LUX; } } }