Add Execute Under X HP to Secondary Weapon
当前为
// ==UserScript==
// @name Execute HP
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Add Execute Under X HP to Secondary Weapon
// @author Stig [2648238]
// @match https://www.torn.com/loader.php?*
// @grant none
// ==/UserScript==
const executePercent = 21;
(function() {
'use strict';
function waitForElement(selector, callback) {
let el = document.querySelector(selector);
if (el) {
callback(el);
} else {
setTimeout(function() {
waitForElement(selector, callback);
}, 500); // checks every 500ms
}
}
function getDefenderHP() {
var defender = document.getElementById('defender');
if (defender) {
var regex = /^player-health-value_.+$/;
var spans = defender.querySelectorAll('span');
for (const span of spans) {
if (regex.test(span.id)) {
var playerTotalHP = processHPValue(span.textContent);
return playerTotalHP;
}
}
}
return null;
}
function processHPValue(content) {
var parts = content.split(' / ');
if (parts.length > 1) {
var intValue = parseInt(parts[1].replace(/,/g, ''), 10);
return intValue;
}
return null;
}
function render() {
var weaponSecond = document.getElementById('weapon_second');
if (weaponSecond) {
var targetDiv = weaponSecond.querySelector('.bottom___XSBgG');
if (targetDiv) {
var newDiv = document.createElement('div');
newDiv.className = 'custom-execute-under';
var totalHP = getDefenderHP();
console.log(totalHP);
var underHP = Math.ceil(totalHP * (executePercent / 100));
newDiv.textContent = `Execute Under: ${underHP} HP`;
targetDiv.parentNode.insertBefore(newDiv, targetDiv.nextSibling);
// Add CSS
var css = `.custom-execute-under {position: absolute; top: 70px; left: 24px; font-size: 10px; color: red;}`;
var style = document.createElement('style');
document.head.appendChild(style);
style.appendChild(document.createTextNode(css));
}
}
}
waitForElement('.bottom___XSBgG', function() {
render();
});
})();