Greasy Fork

Greasy Fork is available in English.

Some Arrangements

try to take over the world!

当前为 2020-09-21 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Some Arrangements
// @namespace    http://tampermonkey.net/
// @version      0.226
// @description  try to take over the world!
// @author       AlegreVida
// @match        https://s46-tr.ikariam.gameforge.com/?view=city*
// @match        https://s46-tr.ikariam.gameforge.com/?view=island*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Gereksiz Premium Tekliflerini Temizle
    var flag_TownHall = true;
    var listener_TownHall = $('body').on('DOMSubtreeModified', '#townHall', fnc_TownHall);
    function fnc_TownHall(){
        if($('.premiumOffer').length > 0 && flag_TownHall){
            flag_TownHall = false;
            $('.premiumOffer').remove();

            var occupiedSpace = parseInt($('#js_TownHallOccupiedSpace').text());
            var maxInhabitants = parseInt($('#js_TownHallMaxInhabitants').text());
            var space = maxInhabitants - occupiedSpace;
            var happiness = parseInt($('#js_TownHallHappinessLargeValue').text());
            var text = "Kalan Süre: ";

            if(space > 0){
                var happinessAfterFull = happiness - space;
                var avgSpeed = (happiness + happinessAfterFull)/2/50;
                var t = space / avgSpeed;
                text += Math.floor(t) + " saat " + Math.floor(t*60)%60 + " dk";
            }else{
                text += "Zaten Dolu";
            }

            $('#js_TownHallPopulationGrowth').after('<li id="js_TownHallTimeToFullyPopulate">' + text + '</li>');

            flag_TownHall = true;
        }
    }

    // Gereksiz Premium Tekliflerini Temizle
    var flag_Barracks = true;
    var listener_Barracks = $('body').on('DOMSubtreeModified', '#barracks', fnc_Barracks);
    function fnc_Barracks(){
        if($('#premium_btn').length > 0 && flag_Barracks){
            flag_Barracks = false;
            $('#premium_btn').remove();
            flag_Barracks = true;
        }
    }

    // Bağış sayfasındaki gereksizleri temizle (Yapım Aşamasında...)
/*
    var flag_ClearPremiumOffersInDonation = true;
    var listener_ClearPremiumOffersInDonation = $('body').on('DOMSubtreeModified', '#resource', fnc_ClearPremiumOffersInDonation);

    function fnc_ClearPremiumOffersInDonation(){

        if($('#resource').length > 0 && flag_ClearPremiumOffersInDonation){

            flag_ClearPremiumOffersInDonation = false;

            $('#resource #setWorkersBox .premiumOffer').remove();
            $('#resource #setWorkersBox .premiumOfferBox').remove();
            $('#resource #setWorkersBox .content').style("min-height", "0px");

            flag_ClearPremiumOffersInDonation = true;

        }
    }
*/

    // Mucitteki Bitmiş Birimleri Temizle
    var flag_Workshop = true;
    var listener_Workshop = $('body').on('DOMSubtreeModified', '#workshop', fnc_Workshop);
    function fnc_Workshop(){
        if($('#workshop').length > 0 && flag_Workshop){

            flag_Workshop = false;
            for(var i = 1; i <= $('#tabUnits .content .units').length; i++){
                var root = $('#tabUnits .content .units:nth-child(' + i + ')');
                console.log(root.find(".object").title);
                if($(root).find('table:first a').length + $(root).find('table:last a').length == 0){
                    root.remove();
                }
            }

            if($('#tabUnits .content .units').length == 0){
                $('#tabUnits .content').empty();
                $('#tabUnits .content').append('<h2 style="font-size: 40px;text-align: center;margin-top: 50px;margin-bottom: 50px;"> HELAL LAN SANA !!! </h2>');
            }

            for(var i2 = 1; i2 <= $('#tabShips .content .units').length; i2++){
                var root2 = $('#tabShips .content .units:nth-child(' + i2 + ')');
                console.log(root2.find(".object").title);
                if($(root2).find('table:first a').length + $(root2).find('table:last a').length == 0){
                    root2.remove();
                }
            }

            if($('#tabShips .content .units').length == 0){
                $('#tabShips .content').empty();
                $('#tabShips .content').append('<h2 style="font-size: 40px;text-align: center;margin-top: 50px;margin-bottom: 50px;"> HELAL LAN SANA !!! </h2>');
            }

            flag_Workshop = true;

        }
    }

    // Araştırmadaki Listeyi Düzelt
    var flag_ResearchAdvisor = true;
    var listener_ResearchAdvisor = $('body').on('DOMSubtreeModified', '#researchAdvisor', fnc_ResearchAdvisor);
    function fnc_ResearchAdvisor(){
        if($('#researchAdvisor').length > 0 && flag_Workshop){
            flag_Workshop = false;
            $('#researchAdvisor #js_researchAdvisorCurrResearchesArr a').css('float', 'right');
            $('#researchAdvisor #js_researchAdvisorCurrResearchesArr a').css('margin', '0');
            flag_Workshop = true;
        }
    }

    // Günlük Görevlerde İşi Bitenleri Temizle
    var flag_DailyTasks = true;
    var listener_DailyTasks = $('body').on('DOMSubtreeModified', '#dailyTasks', fnc_DailyTasks);
    function fnc_DailyTasks(){
        if($('#dailyTasks').length > 0 && flag_DailyTasks){
            flag_DailyTasks = false;
            for(var i = 1; i <= $('#dailyTasks tr').length; i++){
                if($('#dailyTasks table.table01 tr:nth-child(' + i + ')').hasClass('textLineThrough')){
                    $('#dailyTasks table.table01 tr:nth-child(' + i + ')').remove();
                }
            }
            flag_DailyTasks = true;
        }
    }

    // Şehirdeki Birlikler
    var flag_CityMilitary = true;
    var listener_CityMilitary = $('body').on('DOMSubtreeModified', '#cityMilitary', fnc_CityMilitary);
    function fnc_CityMilitary(){
        if($('#cityMilitary').length > 0 && flag_CityMilitary){
            flag_CityMilitary = false;

            if($('#cityMilitary #js_tabUnits').hasClass('selected')){
                var firstTable_Units1 = $('#cityMilitary #tabUnits .content table.table01:first');
                for(var i_Units1 = 2; i_Units1 <= $(firstTable_Units1).find('tr.count td').length; i_Units1++){
                    var root_Units1 = $(firstTable_Units1).find('tr.count td:nth-child(' + i_Units1 + ')');
                    var troopNumber_Units1 = $(root_Units1).text().slice(0, root_Units1.text().indexOf(' '));
                    if(troopNumber_Units1 === '-' || troopNumber_Units1 === '0'){
                        root_Units1.remove();
                        $(firstTable_Units1).find('tr.title_img_row th:nth-child(' + i_Units1 + ')').remove();
                    }
                }

                var secondTable_Units2 = $('#cityMilitary #tabUnits .content table.table01:last');
                for(var i_Units2 = 2; i_Units2 <= $(secondTable_Units2).find('tr.count td').length; i_Units2++){
                    var root_Units2 = $(secondTable_Units2).find('tr.count td:nth-child(' + i_Units2 + ')');
                    var troopNumber_Units2 = $(root_Units2).text().slice(0, root_Units2.text().indexOf(' '));
                    if(troopNumber_Units2 === '-' || troopNumber_Units2 === '0'){
                        root_Units2.remove();
                        $(secondTable_Units2).find('tr.title_img_row th:nth-child(' + i_Units2 + ')').remove();
                    }
                }

                if($(firstTable_Units1).find('tr.count td').length == 1){
                    $(firstTable_Units1).remove();
                }
                if($(secondTable_Units2).find('tr.count td').length == 1){
                    $(secondTable_Units2).remove();
                }
            }else if($('#cityMilitary #js_tabShips').hasClass('selected')){
                var firstTable_Ships1 = $('#cityMilitary #tabShips .content table:first');
                for(var i_Ships1 = 2; i_Ships1 <= $(firstTable_Ships1).find('tr.count td').length; i_Ships1++){
                    var root_Ships1 = $(firstTable_Ships1).find('tr.count td:nth-child(' + i_Ships1 + ')');
                    var troopNumber_Ships1 = $(root_Ships1).text().slice(0, root_Ships1.text().indexOf(' '));
                    if(troopNumber_Ships1 === '-' || troopNumber_Ships1 === '0'){
                        root_Ships1.remove();
                        $(firstTable_Ships1).find('tr.title_img_row th:nth-child(' + i_Ships1 + ')').remove();
                    }
                }

                var secondTable_Ships2 = $('#cityMilitary #tabShips .content table:last');
                for(var i_Ships2 = 2; i_Ships2 <= $(secondTable_Ships2).find('tr.count td').length; i_Ships2++){
                    var root_Ships2 = $(secondTable_Ships2).find('tr.count td:nth-child(' + i_Ships2 + ')');
                    var troopNumber_Ships2 = $(root_Ships2).text().slice(0, root_Ships2.text().indexOf(' '));
                    if(troopNumber_Ships2 === '-' || troopNumber_Ships2 === '0'){
                        root_Ships2.remove();
                        $(secondTable_Ships2).find('tr.title_img_row th:nth-child(' + i_Ships2 + ')').remove();
                    }
                }

                if($(firstTable_Ships1).find('tr.count td').length == 1){
                    $(firstTable_Ships1).remove();
                }
                if($(secondTable_Ships2).find('tr.count td').length == 1){
                    $(secondTable_Ships2).remove();
                }
            }
            flag_CityMilitary = true;
        }
    }

    // Bağış Sayfasındaki Pürüzleri Temizle
    var flag_Donation = true;
    var listener_Donation = $('body').on('DOMSubtreeModified', '.accordionItem', fnc_Donation);

    function fnc_Donation(){

        if($('.resUpgrade li.wood').length > 1 && flag_Donation){

            flag_Donation = false;

            if($('li.accordionItem').length > 1){
                $("li.accordionItem:last").remove();
            }

            var root = $('li.accordionItem:first .resUpgrade');
            var needed = $("li.accordionItem li.wood:first").text().replace(',', '');
            var current = $("li.accordionItem li.wood:last").text().replace(',', '');

            var diff = "" + (parseInt(needed) - parseInt(current));

            if(diff.length > 6){
                diff = diff.substring(0, diff.length-6) + "," + diff.substring(diff.length-6, diff.length-3) + "," + diff.substring(diff.length-3, diff.length);
            }else if(diff.length > 3){
                diff = diff.substring(0, diff.length-3) + "," + diff.substring(diff.length-3, diff.length);
            }

            $("#sidebarWidget ul.resources:first").remove();
            $("#sidebarWidget h4.center:first").remove();
            $("#sidebarWidget ul.resources:first").remove();
            $("#sidebarWidget h4.center:first").remove();

            $(root).find(".building_level").after('<h4 class="bold center">Gereken:</h4><ul class="resources"><li class="wood">' + diff + '</li></ul>');
            flag_Donation = true;

        }
    }

})();