您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show weapon experience number & hits required for 100% exp rather than progress bar
- // ==UserScript==
- // @name Torn: Show Experience
- // @namespace http://tampermonkey.net/
- // @version 1.5
- // @description Show weapon experience number & hits required for 100% exp rather than progress bar
- // @author Untouchable [1360035]
- // @match https://www.torn.com/item.php
- // @require https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=115012
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- show();
- })();
- function show() {
- // Set this to false if you do not wish to see Proxima's Weapon Quality
- let ShowProxiQual = true;
- waitForKeyElements('.player-weapon',() => {
- let keys = ["0","1","2","3"]
- Object.keys($('.experience-wrap')).forEach((e) => {
- if(keys.includes(e)){
- let i = parseInt(e),
- percent = $('.experience-wrap')[i].title;
- let dmg = $('.weapon-box')[i].children[4].childNodes[5].childNodes[1].childNodes[1].innerText;
- let acc = $('.weapon-box')[i].children[4].childNodes[5].childNodes[1].childNodes[5].innerText;
- $('.experience-wrap')[i].title = percent + " experience, " + getHits(percent) + " damage dealing hits required until 100%";
- if(ShowProxiQual){
- $('.experience-wrap')[i].innerHTML = `<span title="Proxima's Magic Quality" class="na t-red">` + getProxiQual(dmg,acc) + `</span>`
- + `<span> | <span><span class="na t-gray-9">` + percent + ` (` + getHits(percent) + `)</span>`;
- } else {
- $('.experience-wrap')[i].innerHTML = `<span><span class="na t-gray-9">` + percent + ` (` + getHits(percent) + `)</span>`;
- }
- }
- })
- });
- }
- function getHits(experience){
- let hits, exp = parseInt(experience.replace("%",""));
- if(exp < 25){
- hits = (25 - exp) * 8 + 1800;
- } else if (exp >= 25 && exp < 50){
- hits = (50 - exp) * 12 + 1500
- } else if (exp >= 50 && exp <75) {
- hits = (75 - exp) * 20 + 1000;
- } else {
- hits = (100 - exp) * 40;
- }
- return hits ;
- }
- function getProxiQual(dmg,acc){
- let damage = parseFloat(dmg), accuracy = parseFloat(acc);
- let ProxiQual = accuracy / 100 * (1 + Math.log( ( ( ( Math.exp( ( damage - 0.005 ) / 19 + 2 ) - 13 ) + ( Math.exp( ( damage + 0.005 ) / 19 + 2 ) - 13 ) ) / 2).toFixed(0) ) ) * 10;
- return ProxiQual.toFixed(2);
- }