NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name TWReports++ // @namespace http://tampermonkey.net/ // @version 0.5.1 // @description Still in beta! // @author Kiky // @match https://*.triburile.ro/game.php?*screen=report* // @match https://*.triburile.ro/public_report/* // @require https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js // @grant none // @updateURL https://openuserjs.org/install/kikyalex/TWReports++.user.js // @downloadURL https://openuserjs.org/install/kikyalex/TWReports++.user.js // @encoding utf-8 // ==/UserScript== (function() { 'use strict'; console.log("TWReports++ is on"); $(document).on('click', ".printReport", function() { event.preventDefault(); var self = $(this); self.hide(); var table = self.closest('table'); $.each(table.find('img'), function(i,e) { var tmp = $('<div></div>').css( { 'background': 'center no-repeat url(' + $(e).attr('src') + ')', 'width' : $(e).width(), 'height' : $(e).height(), 'margin-left' : "6px", 'display' : "inline-block" }).attr({ 'class' : $(e).attr('class') }); $(e).replaceWith(tmp); }); var scaledElement = table.clone().css({ 'transform': 'scale(1)', '-ms-transform': 'scale(1)', '-webkit-transform': 'scale(1)', }).addClass("scaled-element"); $("body").append(scaledElement); // add the element to body //scaledElement.css('float', 'right'); html2canvas(scaledElement, { allowTaint: true, onrendered: function(canvas) { var newWin = window.open('',''); newWin.document.body.appendChild(canvas); self.show(); $(".scaled1-element").remove(); // removed when rendering is done } }); }); var oda = 0; var odd = 0; var od = 0; var odaRes = [0, 0, 0, 0]; var oddRes = [0, 0, 0, 0]; var trupeRes = [ 50, 30, 10, 1,//lance 30, 30, 70, 1, //sabie 60, 30, 40, 1, //topor 100, 30, 60, 1, //arc 50, 50, 20, 2,//spion 125, 100, 250, 4, //cav usoara 250, 100, 150, 5, //arcas calare 200, 150, 600, 6, //cav grea 300, 200, 200, 5, //berbec 320, 400, 100, 8, //catapulta 20, 20, 40, 1, //paladn 40000, 50000, 50000, 100,// GN 0, 0, 0, 0 // garda din ferma ]; function fetch(x) { x = $("table:has(th:contains('" + x + "')):last table td:contains('Pierderi:')").parent().html(); return (x == null) ? [] : x.match(/\d+/g); } var al = fetch('Agresor:').slice(1); var dl = fetch('Apărător:').slice(1); var l = al.length > 0 ? al.length : dl.length-1; switch (l) { case 9: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 1 + dl[4] * 5 + dl[5] * 23 + dl[6] * 4 + dl[7] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 13 + al[5] * 15 + al[6] * 8 + al[7] * 200; break; case 10: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 1 + dl[4] * 5 + dl[5] * 23 + dl[6] * 4 + dl[7] * 12 + dl[8] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 13 + al[5] * 15 + al[6] * 8 + al[7] * 10 + al[8] * 200; break; case 11: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 5 + dl[4] * 1 + dl[5] * 5 + dl[6] * 6 + dl[7] * 23 + dl[8] * 4 + dl[9] * 12 + dl[10] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 2 + al[5] * 13 + al[6] * 12 + al[7] * 15 + al[8] * 8 + al[9] * 10 + al[10] * 200; break; case 12: oda = dl[0] * 4 + dl[1] * 5 + dl[2] * 1 + dl[3] * 5 + dl[4] * 1 + dl[5] * 5 + dl[6] * 6 + dl[7] * 23 + dl[8] * 4 + dl[9] * 12 + dl[10] * 40 + dl[11] * 200; odd = al[0] * 1 + al[1] * 2 + al[2] * 4 + al[3] * 2 + al[4] * 2 + al[5] * 13 + al[6] * 12 + al[7] * 15 + al[8] * 8 + al[9] * 10 + al[10] * 20 + al[11] * 200; $.each(al, function(i,e) { odaRes[0] += e * trupeRes[4*i]; odaRes[1] += e * trupeRes[4*i+1]; odaRes[2] += e * trupeRes[4*i+2]; odaRes[3] += e * trupeRes[4*i+3]; }); $.each(dl, function(i,e) { oddRes[0] += e * trupeRes[4*i]; oddRes[1] += e * trupeRes[4*i+1]; oddRes[2] += e * trupeRes[4*i+2]; oddRes[3] += e * trupeRes[4*i+3]; }); break; } od = oda + odd; oda = isNaN(oda) ? "?" : oda; odd = isNaN(odd) ? "?" : odd; od = isNaN(od) ? "?" : od; if($('.report_ReportAttack h3').length > 0) { $("<h4 class='customOd'><table><tr><td>Total OD</td><td> " + od + "</td></tr><tr><td>ODA</td><td> " + oda + "</td></tr><tr><td>ODD</td><td> " + odd+"</td></tr></table></h4>").insertAfter($('.report_ReportAttack h3')); } else { $("<h4 class='customOd'><table><tr><td>Total OD</td><td> " + od + "</td></tr><tr><td>ODA</td><td> " + oda + "</td></tr><tr><td>ODD</td><td> " + odd+"</td></tr></table></h4>").insertAfter($('#attack_luck')); } $("<details close><summary>Arata resurse <i>irosite</i></summary><table style='text-align:right;'><tr><td><b>Atacator: </b></td><td><span class='icon header wood'></span></td><td>"+odaRes[0]+"</td><td><span class='icon header stone'></span></td><td>"+odaRes[1]+"</td><td><span class='icon header iron'></span></td><td>"+odaRes[2]+"</td><td><span class='icon header population'></span></td><td>"+odaRes[3]+"</td></tr><tr><td><b>Aparator: </b></td><td><span class='icon header wood'></span></td><td>"+oddRes[0]+"</td><td><span class='icon header stone'></span></td><td>"+oddRes[1]+"</td><td><span class='icon header iron'></span></td><td>"+oddRes[2]+"</td><td><span class='icon header population'></span></td><td>"+oddRes[3]+"</td></tr></table></details><br/>").insertAfter($('.customOd')); $("<a href='#' class='printReport' style='float:right; margin-top:5px;'>Print</button>").insertBefore($('.customOd')); })();