Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function () {
- var warnings, lastquaq, lastdecay, last, beforelast;
- var counter = 0;
- var countdown = 0;
- var lastlength = -1;
- function vote() {
- //get health values of questions, answers, users, quality; -1 means hearts are red
- var quaq = [];
- var names = ['questions', 'answers', 'users', 'quality', 'traffic'];
- names.forEach(function(s) {
- s = $('#egg-stat-' + s);
- if (s.length > 0) {
- s = parseInt(s.attr('title')[0]);
- quaq.push(isNaN(s) ? -1 : s);
- }
- });
- if(quaq.length != lastlength){
- warnings = [0,0,0,0];
- if(quaq.length == 2)
- lastquaq = [0,0,0,0,0];
- else if(quaq.length == 4)
- lastquaq = [1,1,0,0,0];
- else
- lastquaq = [1,1,1,1,0];
- last = -1;
- beforelast = -1;
- lastlength = quaq.length;
- lastdecay = [0,0,0,0];
- }
- var lastwarnings = warnings;
- //var ignorelast = false;
- var oncefull = 0;
- var notfull = 0;
- var decay = 0;
- var maxwarning = 0;
- var nmaxwarning = 0;
- var last2 = -1;
- var hasdecay = false;
- for(var i = 0; i < Math.max(quaq.length, 4); i++) {
- if(quaq[i] == -1){
- warnings[i] ++;
- if(warnings[i] > maxwarning){
- maxwarning = warnings[i];
- nmaxwarning = 0;
- }
- if(warnings[i] == maxwarning)
- nmaxwarning ++;
- }
- else
- warnings[i] = 0;
- if(quaq[i] > lastquaq[i] && (last2 == -1 || last2 == 1))
- last2 = i;
- if(last2 != -1)
- last = last2;
- //if(quaq[i] < 4 && lastquaq[i] < 4)
- //ignorelast = true;
- if(quaq[i] == 4 || lastquaq[i] == 4)
- oncefull ++;
- //if(Math.max(quaq[j],0) >= lastquaq[j] && !lastdecay[j])
- //decay ++;
- if(Math.max(quaq[j],0) >= lastquaq[j])
- hasdecay = true;
- if(quaq[i] <= 3)
- notfull ++;
- }
- var index = -1;
- for(var i = 0; i < Math.max(quaq.length, 4); i++)
- if(warnings[i] > 4 - nmaxwarning){
- index = i;
- break;
- }
- console.log(index);
- if(index == -1)
- for(var i = 0; i < Math.max(quaq.length, 4); i++){
- var j = i >= 2 ? i^1 : i;
- if(((quaq[j] >= lastquaq[j] && (!lastdecay[j] || oncefull < 2)
- && (/*(ignorelast && quaq[j] <= 3) ||*/ j != last || hasdecay))
- || (j == 3 && quaq.length >= 5 && quaq[4] >= 3))
- && quaq[j] < 4){
- index = j;
- break;
- }
- }
- console.log(index);
- if(index == -1)
- for(var i = 0; i < Math.max(quaq.length, 4); i++){
- var j = i >= 2 ? i^1 : i;
- if(Math.max(quaq[j],0) >= lastquaq[j] && quaq[j] < 4){
- index = j;
- break;
- }
- }
- console.log(index);
- if(index == -1 && notfull >= 2)
- for(var i = 0; i < Math.max(quaq.length, 4); i++){
- var j = i >= 2 ? i^1 : i;
- if(quaq[j] < 4){
- index = j;
- break;
- }
- }
- console.log(index);
- if(index == -1)
- if(last == 0)
- index = 1;
- else if(last == 1)
- index = 0;
- else if(beforelast == 0)
- index = 1;
- else
- index = 0;
- console.log(index);
- //determine what button to press
- btn = ['Ask','Answer','Upvote','Downvote'][index];
- //click the button selected, or click Continue then Restart if button not found
- var clickPriority = [btn, 'Continue', 'Flag', 'Restart'], b = $('button')
- for(var i = 0; i < clickPriority.length; i++) {
- b.each(function() {
- var t = $(this)
- if (i != clickPriority.length && t.text() == clickPriority[i]) {
- t.click()
- console.log('Voted for ' + clickPriority[i] + ' at ' + (counter * 20).toString() + ' seconds in.')
- if(i == 0){
- if(index == 3)
- warnings[2] ++;
- beforelast = last;
- last = index;
- for(var j = 0; j < Math.max(quaq.length, 4); j++)
- lastdecay[j] = lastquaq[j] > Math.max(0, quaq[j]);
- lastquaq = quaq;
- }
- else
- warnings = lastwarnings;
- i = clickPriority.length
- }
- })
- }
- console.log(last);
- console.log(quaq);
- console.log(lastdecay);
- ++counter;
- }
- $("#egg-clock-text").bind("DOMSubtreeModified",function(){
- //console.log("Change!");
- var t = parseInt($("#egg-clock-text").text());
- if( t < 13 ){
- if( t > countdown)
- vote();
- countdown = t;
- }
- });
- })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement