Resource bar helper

Display targets and offsets for warchests

目前為 2022-09-01 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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);
})();