Quest hotkeys for BvS
// ==UserScript==
// @name BvS Quest Hotkeys
// @namespace BvS
// @description Quest hotkeys for BvS
// @version 4
// @history 4 clicking d also starts the quest "forest of death"
// @history 3 clicking d also starts the quests "Very Tragic Story", "Stalkergirl", "Checkmate", "junk II", "junk III", "junk IV"
// @history 2 added claiming your snow rewards, streamlined code, clicking c when out of stamina should no longer reload page
// @history 1.7 fixed watching your show (watching your shows is now quest44 not quest43)
// @history 1.6 button press will start "watching your shows" if available.
// @history 1.5 on rolling quests, will reattempt with same jutsu choice if available.
// @history 1.4 will not reload page if out of stamina
// @history 1.3 solved problem where clicking d on the quest main page reloaded it. More efficient code. press d to start and skip chunin exam.
// @history 1.2 script termination to prevent performance degredation, and to prevent accidental reloading of quests page mid quest (if clicking d too fast).
// @history 1.1 Added updateURL
// @history 1.0 Initial version
// @match http://www.animecubed.com/billy/bvs/quest*
// @match http://animecubed.com/billy/bvs/quest*
// @match http://www.animecubed.com/billy/bvs/chuninexam*
// @match http://animecubed.com/billy/bvs/chuninexam*
// ==/UserScript==
function submit_form(form_name)
{
if (document.forms.namedItem(form_name))
{
remove_listener(); //Remove keypress listener before page refresh
location.assign('javascript:' + form_name + '.submit()');
}
}
function remove_listener()
{
window.removeEventListener("keyup", key_press, false); // Removes the event listener, this is critically important to prevent "playing too fast" errors when spamming the button.
}
function key_press(event)
{
if (event.keyCode==68) //keypress d
{
if(0<=document.body.textContent.search("Not Enough Stamina")) //Check for out of stamina, to avoid reloading on quest fail. Must come before checking for "attack", since out of stamina hide from user but does not disable attack key.
{
remove_listener(); //Remove key listener
}
else if(document.forms.namedItem("goquest2")) //Check for quest fail, to avoid reloading on quest fail
{
remove_listener(); //Remove key listener
}
else if(document.forms.namedItem("attack")) //checks for a button named "Attack"
{
submit_form("attack");
}
else if(document.forms.namedItem("goquestgo")) //Check for reattempt rolling quest with same jutsu
{
submit_form("goquestgo");
}
else if(document.forms.namedItem("goquest")) //Check for going to next step in quest is available.
{
submit_form("goquest");
}
else if(document.forms.namedItem("questcontinue")) //Check for Continue Quest (when you left the quest menu and came back)
{
submit_form("questcontinue");
}
else if(document.forms.namedItem("quest44")) //Check if the "Watching your shows" quest is available.
{
submit_form("quest44"); //Start Daily shows quest
}
else if(document.forms.namedItem("questchu1")) //Check if the chunin exam is available.
{
submit_form("questchu1"); //Start Chunin Exam quest
}
else if(document.forms.namedItem("skipchu")) //Check for skip chunin exam button
{
submit_form("skipchu"); //Skip Chunin Exam
}
else if(document.forms.namedItem("quest85")) //Check for "forest of death"
{
submit_form("quest85");
}
else if(document.forms.namedItem("quest17")) //Check for "World Shoveling Association" to collect snow winning
{
submit_form("quest17"); //start "World Shoveling Association" quest
}
else if(document.forms.namedItem("quest125")) //Check for "Very Tragic Story" quest
{
submit_form("quest125");
}
else if(document.forms.namedItem("quest159")) //Check for "Stalkergirl" quest
{
submit_form("quest159");
}
else if(document.forms.namedItem("quest165")) //Check for "Checkmate" quest
{
submit_form("quest165");
}
else if(document.forms.namedItem("quest94")) //Check for "Junk II" quest
{
submit_form("quest94");
}
else if(document.forms.namedItem("quest145")) //Check for "Junk III" quest
{
submit_form("quest145");
}
else if(document.forms.namedItem("quest87")) //Check for "Junk IV" quest
{
submit_form("quest87");
}
else if(document.forms.namedItem("questhide")) //Check for the quest hide interface to indicate that the current page is the main quest window, to prevent reloading it
{
remove_listener(); //Remove key listener
}
else
{
remove_listener(); //Remove key listener
submit_form("minim4"); //Return to Quests menu if quest completed
}
}
else if (event.keyCode==67) //keypress c
{
submit_form("chakra"); //Charge chakra
}
}
window.addEventListener("keyup", key_press, false);