PullYourPorko - A script to automatically farm lunar isotopes.

This script automatically plays porko for you in an attempt to farm the highest number of lunar isotopes possible. Let me know what you think. :)
I would like to thank Veracity for the post regarding "lastPorkoExpected", without which this script would be much less useful.

RealBurgerKing's PullYourPorko 1.4

View attachment PullYourPorko.ash
 
Last edited:
Trial and Comparison

I went and compared this Script to BCC's porko script.
I did 160 adventures on each for a large scale comparison and then 20 adventures each for a small scale comparison.

BumCheekCity's Porko Script-
688 isotopes over 160 adventures = average gain of 4.3 isotopes per adventure
84 isotopes over 20 adventures = average gain of 4.2 isotopes per adventure
Total = 4.3 Isos/Adv

PullYourPorko Porko Script-
583 isotopes over 160 adventures = average gain of 3.6 isotopes per adventure
100 isotopes over 20 adventures = average gain of 5 isotopes per adventure
Total = 3.8 Isos/Adv

In general I like BCC's script better because I can choose the number of turns I want it to run. I also like seeing the stats about what the script assumes the outcome will be.

=]
 
I you want a real comparison, try large scale. 10 000 adventures minimum? Have fun!

In fact, if you want to compare how the scripts fare at porko, please look at the code instead of stating that "PullYourPorko has an average of 3.8 Isos/Adv" and "bumpork v0.2. has an output of 4.3 Isos/Adv". That is BS.

bumpork v0.2.ash decides which slot to play by doing this:
PHP:
string [int] exp = split_string(get_property("lastPorkoExpected"), ":");

float highest = 0;
int highestnum = 0;
foreach i in exp {
	if (highest < to_float(exp[i])) {
		highest = to_float(exp[i]);
		highestnum = i;
	}
}
highestnum = highestnum + 1;
and PullYourPorko.ash does this:
PHP:
int SlotToUse = 0;
float HighestProbability = 0.0;
string[int] Probabilities = split_string(get_property("lastPorkoExpected"), ":");

foreach Selection in Probabilities
{
	if(to_float(Probabilities[Selection]) > HighestProbability)
	{
		HighestProbability = to_float(Probabilities[Selection]);
		SlotToUse = Selection;
	}
}
SlotToUse += 1;
Yes, the variable names are different, but I would say they take exactly the same decisions, so their average isotope output is exactly the same.
 
Last edited:
Yes, the variable names are different, but I would say they take exactly the same decisions, so their average isotope output is exactly the same.

For those who do not understand the code I will explain:

Both scripts rely on KoLmafia's built-in evaluation of expected porko yield for playing each slot. KoLmafia determines the isotope output, not these scripts. Veracity's work on porko is already optimal so there is no room for improvement by a clever script.

Any variance in results is just luck.
 
Last edited:
This seems odd to say, but the Bumpork is great! How would I modify it to tell me how many isotopes I have after the last turn? TIA
 
Sorry, but I am not sure why this isn't the thread for questions about this. And what I meant was how would I have it tell me my total (not just earned) at the end of the turns I spent.
 
Because this is the thread for PullYourPorko, not bumPork, which has its own thread.

If you are making a request for PullYourPorko to display something different, you should ask here, and RealBurgerKing can decide if it's something he wants to change. If you're wanting bumPork to display differently, you should ask on that script's thread, and bumcheekcity can decide if he wants to make that change or not.

But asking on the right thread for the right script would be an excellent beginning. :)
 
Again, sorry. I saw both posted in this thread and thought it would be safe to ask. I guess really I was looking for programming advice on how I would modify it (if that does not tread on the toes of the author, to whom I am very thankful for their work). I will head there. Thanks for your patience and understanding!
 
Back
Top