BvS Quest Hotkeys

Quest hotkeys for BvS

当前为 2016-06-19 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name		BvS Quest Hotkeys
// @namespace	BvS
// @description	Quest hotkeys for BvS
// @version		3
// @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("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);