Harvest – A highly customisable farming script

Banana Lord

Member
Hmm, seems fairly awesome. I can't test it myself as I don't have a hand and I sold my time sword a while back, but it equips my stuff perfectly. And that'll equip a time sword as well? What if the character has a hand but no time sword? Will it still equip the hand or leave the old familiar? Not that it'll make much difference in terms of rollover adventures, and I doubt there are many people who have the hand and don't have a time sword to go with it, but I like to be tidy :).
 

slyz

Developer
It won't equip the Hand if you don't have anything that gives you +adv to go in it.
 
Last edited:

Xenthes

Member
Now that's one of those features that should already be there. But since there's only one adventure giving familiar (I don't see the hare being used for farming) and only one item you'd ever want to equip it with I'll make Harvest do it all automatically and avoid adding another cluttery option. That'll be in the next release.

EDIT: Wait. Hold the phone. I thought it was odd that I hadn't already added that feature. I have already added that feature (or more accurately it was already in some code I borrowed from BCC et al.). It should equip your hand and time sword automatically. Is it not doing that?

Did tonight. no idea why it didn't before. shrug.
 

Banana Lord

Member
@Winterbay: Sweet, thanks for the confirmation.

@Xenthes: Was the sword equipped to the hand when the maximizer ran? I'd guess not. I'm pretty sure I fixed the bug. For now just make sure the sword's not equipped to your fam when you run Harvest and you should be fine. Fingers crossed the update should be out some time in the next week.
 

Xenthes

Member
@Xenthes: Was the sword equipped to the hand when the maximizer ran? I'd guess not. I'm pretty sure I fixed the bug. For now just make sure the sword's not equipped to your fam when you run Harvest and you should be fine. Fingers crossed the update should be out some time in the next week.

It was last night since I hadn't used the hand for anything else. If I remember I will unequip the sword before I run the script and see if that changes anything.
Thanks for the quick replies and fix though. :)
 

slyz

Developer
PHP:
if(can_equip($item[time sword]) && have_familiar($familiar[Disembodied Hand]))
	{
	familiar oldFam = my_familiar();
	use_familiar($familiar[Disembodied Hand]);
	if(valid("time sword"))
		maximize("adv -tie", false);
	else
		{
		use_familiar(oldFam);
		maximize("adv -tie -familiar", false);
		}
	}
If you don't simply want to use the maximize bit, replace the above by:
PHP:
if(can_equip($item[time sword]) && available_amount($item[time sword])>0 && have_familiar($familiar[Disembodied Hand]))
{
	familiar oldFam = my_familiar();
	use_familiar($familiar[Disembodied Hand]);
	maximize("adv -tie", false);
}

Valid() will return false when the hand is already equipped on your Disembodied Hand, whether it is your current familiar or not. available_amount() will return the correct amount, however.
 
Last edited:

unwanted

New member
Thanks for the great script- it's saved me a lot of RL time.
One thing though- is it possible to move the bounty hunting so it happens before eating, drinking and spleening? Since the 40 advs from rollover should be enough, there's no need for it to happen after and this would allow for buffs from consumption (such as beastly, mmmelon, fishy, etc) to be used for farming.
 

Banana Lord

Member
@Xenthes: No problem :)

@Slyz: Shouldn't that be like this? Otherwise it won't maximise unless the if statement evaluates true, and we don't need to remember oldFam at all. Or have I misunderstood something?
PHP:
if(can_equip($item[time sword]) && available_amount($item[time sword])>0 && have_familiar($familiar[Disembodied Hand])) 
    use_familiar($familiar[Disembodied Hand]); 

maximize("adv -tie", false);

@unwanted: Glad you like it, it's saved me heaps of time as well! Well... Apart from the hours I've put into making it ;). Hmm, that's possible. I'll definitely think about it, but there are a few possibilities I want to work through before I say yes.
 

Bale

Minion
The "switch" keyword tells the maximizer to check if there is an advantage to switching to a specified familiar. The maximizer will check if you actually have that familiar and can equip anything useful on that familiar to make it worth switching. If the answer is negative then it will not switch familiars. All your additional code is unnecessary. Just do this:


PHP:
maximize("adv, switch Disembodied Hand", false);

Also, adv means "adventure -tie" so having "-tie" is redundant. Yeah, it is odd that adventure and adv are not the same.
 
Last edited:

Xenthes

Member
For the testing I unequiped the time sword and equiped hodgemans whackin' stick. ran harvest and let it do its thing. when done the hand was the familiar with the time sword equiped.
w00t!
 

Banana Lord

Member
Great, it's nice to know I was on the right track. Happily that bug has already been removed from the development version thanks to Slyz (and Bale).

I'm trying to add disco combos (including rave combos) to Harvest Combat and I'd quite like to take advantage of the CCS combo command, but because the script works by building up a string which is eventually submitted as a macro I can't think of a way of doing this. Does anyone have any ideas?
 

Winterbay

Active member
Doesn't the raveCombo1-6 preferences keep the names of the skills so that you could use get_property() on those in the submitted macro string? (possibly with some string manipulation first though)
 

Banana Lord

Member
True true, I was just trying to cut corners ;). Do you know how they're stored? As a string? Separated by what? Or as an aggregate? I haven't done the nemesis quest and am not a DB at the moment so I can't test.
 

Winterbay

Active member
Code:
raveCombo1=Break It On Down,Pop and Lock It,Run Like the Wind
raveCombo2=Run Like the Wind,Pop and Lock It,Break It On Down
raveCombo3=Pop and Lock It,Run Like the Wind,Break It On Down
raveCombo4=Break It On Down,Run Like the Wind,Pop and Lock It
raveCombo5=Run Like the Wind,Break It On Down,Pop and Lock It
raveCombo6=Pop and Lock It,Break It On Down,Run Like the Wind

Appears to be a comma separated list.
 

Bale

Minion
raveCombo1 Rave Concentration
raveCombo2 Rave Nirvana
raveCombo3 Rave Knockout
raveCombo4 Rave Bleeding
raveCombo5 Rave Steal
raveCombo6 Rave Substats
 

Banana Lord

Member
@Bale: Found that on the wiki, but thanks anyway.

@Slyz: Yep, but Harvest Combat writes the macro as a buffer, so it can't use any CCS lines at all. I was hoping there'd be a way to get access to the logic mafia uses internally to turn "combo <whatever>" into a meaningful macro. That way I could just write a function and append it to the macro buffer rather than having to process the strings stored in the mafia properties.

EDIT: Does rave steal have to be used immediately after pickpocket or can it be used on any round (the wiki isn't particularly clear on that point)? Please let it be the latter.

EDIT2: Here is a copy of Harvest Combat.ash updated with the ability to use disco and rave combos. I can't test it myself for aforementioned reasons, but hopefully some wonderful person will test it for me so I know if it works or not.
 
Last edited:
Top