Cookie clicker tools (visual)
目前為
// ==UserScript==
// @name Cookie clicker tools
// @namespace orteil.dashnet.org
// @version 1.99
// @description Cookie clicker tools (visual)
// @author Anton
// @match http://orteil.dashnet.org/cookieclicker/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==
(function() {
'use strict';
if (console) console.log('Cookies?');
var getInvertExpence = function($tooltip) {
var price = $tooltip.find('span.price').text();
if (price) {
price = price.replace(',', '');
var priceNum = parseFloat(price);
var mult = 1;
if (price.indexOf('billion') > -1) mult = 1E9;
else if (price.indexOf('million') > -1) mult = 1E6;
var totalPrice = priceNum * mult;
var data = $tooltip.find('div.data b');
var eachIncome = jQuery(data[0]).text().replace(',', '');
var eachIncomeNum = parseFloat(eachIncome);
mult = 1;
if (eachIncome.indexOf('billion') > -1) mult = 1E9;
else if (eachIncome.indexOf('million') > -1) mult = 1E6;
var totalIncome = eachIncomeNum * mult;
var needed = totalPrice > 0 ? totalIncome / totalPrice : 0;
var needInvert = totalIncome > 0 ? totalPrice / totalIncome : 0;
return needInvert;
}
return null;
}
var t = setInterval(function() {
var icons = document.querySelectorAll('.icon:not([id^=product])');
var x = icons && icons.length > 0 ? icons[0].offsetParent : null;
if (x !== null) {
var $tooltip = jQuery(x);
var needInvert = getInvertExpence($tooltip);
if (needInvert !== null) {
var $name = $tooltip.find('div.name span');
if ($name.length === 0) {
$tooltip.find('div.name').append(jQuery('<span />'));
$name = $tooltip.find('div.name span');
}
$name.text(' (' + Beautify(needInvert) + ')');
}
}
}, 100);
var t2 = setInterval(function() {
var $allItems = jQuery('div.product.unlocked');
var minInvert = null, minObj = null;
$allItems.each(function() {
var item = jQuery(this);
item.mouseover();
var needInvert = getInvertExpence(item);
if (needInvert !== null) {
if (minInvert === null) {
minInvert == needInvert;
minObj = item;
} else if (needInvert < minInvert) {
minInvert == needInvert;
minObj = item;
}
}
Game.tooltip.hide();
});
console.log('min', minInvert, 'obj', minObj, 'cnt', $allItems.length);
}, 1000);
})();