AWBW capture limit

Calculate the capture limit and show it on player elements

目前為 2024-11-08 提交的版本,檢視 最新版本

// ==UserScript==
// @name         AWBW capture limit
// @version      1.03
// @description  Calculate the capture limit and show it on player elements
// @author       Truniht
// @match        https://awbw.amarriner.com/game.php?games_id=*
// @icon         https://awbw.amarriner.com/terrain/ani/neutralcity.gif
// @namespace    https://awbw.amarriner.com/
// @license MIT
// ==/UserScript==

(function() {
    function addGlobalStyle(css) {
        var head, style;
        head = document.getElementsByTagName('head')[0];
        if (!head) { return; }
        style = document.createElement('style');
        style.type = 'text/css';
        style.innerHTML = css;
        head.appendChild(style);
    }
    addGlobalStyle(`
    .player-overview-main, .player-overview-co {height: 100%;}
    `);
    'use strict';
    var cities = document.querySelectorAll('.game-building>img:first-child[src*="city.gif"], .game-building>img:first-child[src*="hq.gif"], .game-building>img:first-child[src*="base.gif"], .game-building>img:first-child[src*="port.gif"], .game-building>img:first-child[src*="city"], .game-building>img:first-child[src*="hq_"], .game-building>img:first-child[src*="base_"], .game-building>img:first-child[src*="port_"]');
    var cityIds = [];
    for(var city of cities) cityIds.push(city.parentNode.getAttribute('data-building-id') * 1);
    var captureLimit = document.querySelectorAll('#showinfo td')[22].innerText * 1;
    if (isNaN(captureLimit)) captureLimit = 0;

    if (captureLimit) {
        var playerOverviews = document.querySelectorAll('.player-overview-container');
        var playerTables = {};
        for(var playerO of playerOverviews) {
            var ul = playerO.querySelector('.player-overview-info ul');
            var li = document.createElement('li');
            li.innerText = '0/' + captureLimit;
            li.style.justifyContent = 'end';
            ul.appendChild(li);
            playerTables[playerO.id.split('player')[1]] = li;
        }

        setInterval(function() {
            var playerProperties = {};
            var b = buildingsInfo;
            for(var i in b) {
                for(var z in b[i]) {
                    var building = b[i][z];
                    if (building.buildings_players_id && cityIds.includes(building.buildings_id)) {
                        playerProperties[building.buildings_players_id] = (playerProperties[building.buildings_players_id] || 0) + 1;
                    }
                }
            }
            for(var playerID in playerTables) {
                playerTables[playerID].innerText = (playerProperties[playerID] || 0) + '/' + captureLimit;
            }
        }, 1000);
    }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址