Resource bar helper

Display targets and offsets for warchests

当前为 2022-09-01 提交的版本,查看 最新版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Resource bar helper
// @namespace    http://knightsradiant.pw/
// @version      0.32
// @description  Display targets and offsets for warchests
// @require      https://code.jquery.com/jquery-3.6.0.min.js
// @license      GPL-3.0-or-later
// @author       Talus
// @match        https://politicsandwar.com/*
// @grant        none
// ==/UserScript==

(function() {
    var $ = window.jQuery;

    // ADD YOUR NATION'S REQUIREMENTS BELOW (INTEGERS ONLY, NO SEPARATORS)
    var CREDITS_REQUIRED = 0;
    var URANIUM_REQUIRED = 0;
    var FOOD_REQUIRED = 0;
    var DAYS_OF_RAWS_REQUIRED = 0;
    var GASOLINE_REQUIRED = 0;
    var MUNITIONS_REQUIRED = 0;
    var STEEL_REQUIRED = 0;
    var ALUMINUM_REQUIRED = 0;
    var MONEY_REQUIRED = 0;

    var DAILY_COAL_REQUIRED = 0;
    var DAILY_OIL_REQUIRED = 0;
    var DAILY_LEAD_REQUIRED = 0;
    var DAILY_IRON_REQUIRED = 0;
    var DAILY_BAUXITE_REQUIRED = 0;

    var PROJECT_URANIUM = 0;
    var PROJECT_FOOD = 0;
    var PROJECT_COAL = 0;
    var PROJECT_OIL = 0;
    var PROJECT_LEAD = 0;
    var PROJECT_IRON = 0;
    var PROJECT_BAUXITE = 0;
    var PROJECT_GASOLINE = 0;
    var PROJECT_MUNITIONS = 0;
    var PROJECT_STEEL = 0;
    var PROJECT_ALUMINUM = 0;
    var PROJECT_MONEY = 0;

    var TARGET_PERCENTAGE = 100;
    // DO NOT EDIT BELOW THIS LINE

    var MARKET_URL = 'https://politicsandwar.com/index.php?id=90&display=world&resource1=RESOURCE1&buysell=&ob=price&od=DEF&maximum=100&minimum=0&search=Go'

    var wc = [
        {
            "target": MARKET_URL.replace('RESOURCE1','credits'),
            "icon": '<img src="https://politicsandwar.com/img/icons/16/point_gold.png" alt="credits">',
            "required": Number(CREDITS_REQUIRED * TARGET_PERCENTAGE / 100)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','coal'),
            "icon": '<img src="https://politicsandwar.com/img/resources/coal.png" alt="coal">',
            "required": Number(DAYS_OF_RAWS_REQUIRED * DAILY_COAL_REQUIRED * TARGET_PERCENTAGE / 100)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','oil'),
            "icon": '<img src="https://politicsandwar.com/img/resources/oil.png" alt="oil">',
            "required": Number(DAYS_OF_RAWS_REQUIRED * DAILY_OIL_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_OIL)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','uranium'),
            "icon": '<img src="https://politicsandwar.com/img/resources/uranium.png" alt="uranium">',
            "required": Number(URANIUM_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_URANIUM)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','lead'),
            "icon": '<img src="https://politicsandwar.com/img/resources/lead.png" alt="lead">',
            "required": Number(DAYS_OF_RAWS_REQUIRED * DAILY_LEAD_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_LEAD)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','iron'),
            "icon": '<img src="https://politicsandwar.com/img/resources/iron.png" alt="iron">',
            "required": Number(DAYS_OF_RAWS_REQUIRED * DAILY_IRON_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_IRON)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','bauxite'),
            "icon": '<img src="https://politicsandwar.com/img/resources/bauxite.png" alt="bauxite">',
            "required": Number(DAYS_OF_RAWS_REQUIRED * DAILY_BAUXITE_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_BAUXITE)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','gasoline'),
            "icon": '<img src="https://politicsandwar.com/img/resources/gasoline.png" alt="gasoline">',
            "required": Number(GASOLINE_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_GASOLINE)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','munitions'),
            "icon": '<img src="https://politicsandwar.com/img/resources/munitions.png" alt="munitions">',
            "required": Number(MUNITIONS_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_MUNITIONS)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','steel'),
            "icon": '<img src="https://politicsandwar.com/img/resources/steel.png" alt="steel">',
            "required": Number(STEEL_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_STEEL)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','aluminum'),
            "icon": '<img src="https://politicsandwar.com/img/resources/aluminum.png" alt="aluminum">',
            "required": Number(ALUMINUM_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_ALUMINUM)
        },
        {
            "target": MARKET_URL.replace('RESOURCE1','food'),
            "icon": '<img src="https://politicsandwar.com/img/icons/16/steak_meat.png" alt="food">',
            "required": Number(FOOD_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_FOOD)
        },
        {
            "target": 'https://politicsandwar.com/nation/revenue/',
            "icon": '<b style="color: #28d020;" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Money">$</b>',
            "required": Number(MONEY_REQUIRED * TARGET_PERCENTAGE / 100 + PROJECT_MONEY)
        }
    ]

    var rssCount = document.querySelector("#rssBar > div > div > span").textContent
    .trim().split(/\s+/).filter(function(val){return val != '$'})
    .map(function(x){return Number(x.replace(/,/g,''))});

    var html='<table class="col-xs-12"><tr><td><table><tr><td>Actual:</td></tr><tr><td>Target:</td></tr><tr><td>Difference:</td></tr></table></td>';
    for (var i=0; i<wc.length; i++) {
        var difference = rssCount[i] - wc[i].required;
        var color = difference >= 0 ? '#FFF' : '#000';
        html += '<td><table><tr><td rowspan="3" style="vertical-align:text-top"><a href="'+wc[i].target+'">'+wc[i].icon+'</a></td><td style="text-align:right">'+rssCount[i].toLocaleString()+'</td></tr><tr><td style="text-align:right">'+wc[i].required.toLocaleString()+'</td></tr><tr><td style="text-align:right;color:'+color+'">'+difference.toLocaleString()+'</td></tr></table></td>'
    }
    html += '</tr></table>'

    $("#rssBar > div > div > span").replaceWith(html);
})();