Multi-training Boris Skills

Boris hated repetitive clicking!

Ok, seriously, the turn 1 clicking is starting to get to me. So here it is. It's not as ..what's the word... dynamic as some others might be, but it gets the job done. I think you could even take this script and make it part of an alias if you want to really get fancy with it.

Smash!

Code:
// train boris skills
// kingdom of loathing
// avatar of boris challenge path
notify weatherboy;
int skills;

int get_skills() {
	matcher borisskills = create_matcher("learn (\\d+) more", visit_url("da.php?place=gate1"));
	if (borisskills.find()) { 
		skills = to_int(borisskills.group(1));
	} else { print("You are already full of Boris.","red"); exit; }
	return skills;
}

void train(int fight, int shout, int feast) {
	if (fight>0 && fight<11) { for i from 1 to fight { visit_url("da.php?whichtree=1&action=borisskill"); } }
	if (shout>0 && shout<11) { for i from 1 to shout { visit_url("da.php?whichtree=2&action=borisskill"); } }
	if (feast>0 && feast<11) { for i from 1 to feast { visit_url("da.php?whichtree=3&action=borisskill"); } }
}

void main() {
	skills = get_skills();
	if (skills == 30) {
		train(10,10,10);
		print("Boris is ready to go smash stuff.","blue");
	} else {
		print("You can't learn all 30 skills at once.","red");
		print("You can run <ash import trainBoris.ash; train(int, int, int)> in the gCLI to train less than 30 skills.","blue");
		print("The order for the 3 paramaters are Fighting, Shouting, Feasting; just like on the page.","blue");
		print("You can learn "+skills+" Boris skills.");
	}
}
 

Attachments

  • trainBoris.ash
    1.2 KB · Views: 79

Theraze

Active member
The get_skill script I've been updating will let you just type get_skill gourmand and it'll learn the whole feasting tree in one command or do whichever tree/skill you want to learn to, but... yours is definitely simpler if you're starting out with 30 points. :)
 

Bale

Minion
The get_skill script I've been updating will let you just type get_skill gourmand and it'll learn the whole feasting tree in one command or do whichever tree/skill you want to learn to, but... yours is definitely simpler if you're starting out with 30 points. :)

Perhaps you should add a feature to yours that if you have enough skill points to purchase everything, it will detect that and do so.
 

Theraze

Active member
Well, mine is every skill in the game that's available from trainers, it's not an exclusively Boris creation. And since apparently the NS3/Sneaky Pete HP is based on how many skills you've learned, it's to your advantage not to learn skills if you aren't going to use them... though I'm not completely sure why you'd skip out on the skills. :)
 

Bale

Minion
I've tucked it neatly inside newLife. It's quite special() there. :)

OH! That is a very nice idea. I'm adding this to newLIfe, if you'll give your permission. Every Boris run that starts with 30 skills should just have newLife purchase them automatically. I'll add this function if you're in a Boris run:

PHP:
void boris_skills() {
	matcher borisskills = create_matcher("learn (\\d+) more", visit_url("da.php?place=gate1"));
	if(borisskills.find()) {
		if(to_int(borisskills.group(1)) < 30) return;
		for t from 1 to 3
			for i from 1 to 10
				visit_url("da.php?whichtree="+t+"&action=borisskill");
		vprint("You are filled with all of Boris' skills and ready to use them.", "blue", 3);
	}
}

Is that okay?
 
Last edited:

Winterbay

Active member
OH! That is a very nice idea. I'm adding this to newLIfe, if you'll give your permission. Every Boris run that starts with 30 skills should just have newLife purchase them automatically. I'll add this function if you're in a Boris run:

PHP:
void boris_skills() {
	matcher borisskills = create_matcher("learn (\\d+) more", visit_url("da.php?place=gate1"));
	if(borisskills.find()) {
		if(to_int(borisskills.group(1)) < 30) return;
		for t from 1 to 3
			for i from 1 to 10
				visit_url("da.php?whichtree="+t+"&action=borisskill");
		vprint("You are filled with all of Boris' skills and ready to use them.", "blue", 3);
	}
}

Is that okay?

You may want to put that goverened by a setting in case someone wants to make a run with less than all skills (since Sneaky Pete seems to be goverened by how many skills you have available at the time you fight him). But that's probably an edge case.
 

Bale

Minion
You may want to put that goverened by a setting in case someone wants to make a run with less than all skills (since Sneaky Pete seems to be goverened by how many skills you have available at the time you fight him). But that's probably an edge case.

He is, but honestly why would anyone care? He's no real trouble to kill with all Boris skills and having those extra skills are essential for cutting both turn count and day count to get to him quickly. I suppose there's no big advantage to having Bifurcating Blow, but that's the only skill I'd be willing to miss.
 
Top