Sweet Synthesis

Ezandora

Member
What does it do?
Simplifies casting the Sweet Synthesis skill from Crimbo 2016.

Screenshot:
synthesis.png

How do I use it?

Install it by running this command in KoLmafia's graphical CLI:

Code:
svn checkout https://github.com/Ezandora/Sweet-Synthesis/branches/Release/

Once it's installed, type "synthesis" in the Graphical CLI, for a list of buff options:

meat - +300% meat.
item - +150% item.
muscle exp - +50% muscle gain.
myst exp - +50% mysticality gain.
moxie exp - +50% moxie gain.
muscle - +300% muscle.
myst - +300% mysticality.
moxie - +300% moxie.
HP - +300% maximum HP.
MP - +300% maximum MP.
hot - +9 hot res.
cold - +9 cold res.
stench - +9 stench res.
spooky - +9 spooky res.
sleaze - +9 sleaze res.

So, running "synthesis item" will give you thirty turns of +150% item for one spleen cost, buying what it needs from the mall. In-run, it will try to use candy you have in inventory, and confirm before using it.

To update the script itself (or any script), run this command in the graphical CLI:

Code:
svn update

Sweet Synthesis will require a recent daily build of mafia.

Github: https://github.com/Ezandora/Sweet-Synthesis/
Contact me in-game: Ezandora (#1557284)
 

Bale

Minion
Nice! I think it makes for a nice example of how mafia's "synthesize" command could work once the devs complete it.

Plus it will hold me over until then.
 

Abbbo

New member
Is it possible to add counter to Syntheze! button (with the rest of spleen left) and ability to multi-syntheze?
 

akahad

New member
The script is great but i had a problem. I used the script for a buff myst. It look in my inventory and decided to use tamarind chewing+ box of dweebs. But since I don't have dweeb in inventory, it went to buy in mall. The box of dweebs was at 100 meat in a disabled store so it went to the next store where dweeb is at 1000 meat. If it had used orange candy heart+ crimbo candied pecan (that i already had in inventory) it would have costed 600 meat. Is there a way to disable mall buying easily ?
 
The built in version suffers from the same 'mispricing' issue, but that's because there is no way to check for a disabled store, except explicitly trying to buy something.
 

Bale

Minion
Honestly I believe it to be a KoL bug. If KoL disables a player's store... why does KoL decide it is in any way a good thing to list it in mall search results? Doing that is troubling to the players. KoL should not list a store that is disabled.

Report the bug to KoL.

Edit: Why should it not be possible to purchase items from a disabled player? I don't really get the logic on that, but its not a big deal.
 
I dunno how the disabling policy works, but if you can be disabled temporarily, it would kinda suck to see all the items in your store sell out while you are unable to stop it, if they for some reason suddenly become more valuable. Though, yeah, I do agree, a mafia workaround might help, but it seems more like something that could use a fix in kol itself.
 

Theraze

Active member
Edit: Why should it not be possible to purchase items from a disabled player? I don't really get the logic on that, but its not a big deal.

If someone meat-cheats the system, buys a ton of stuff and reprices it at below-market prices, then it messes up the economy. If the items simply disappear forever, then it's functioned in a 'normal' way. As KoL is built around meatsinks, rather than trying to extend things...
 

Veracity

Developer
Staff member
What "workaround" do you propose? We can only tell that the store is unavailable after we try buying from it.

If you say "acquire x" and have autoBuyPriceLimit at 10000, if it tries to buy for 100, fails, and ends up buying it for 1000, that seems legit.

If the issue is "I would have bought something else had I known I couldn't buy for that price", well, you can ALWAYS miss out on getting something for your "expected" price since somebody else could have gone in and bought it before you could. Programmatically, you can protect yourself by getting the historical price, seeing that it is acceptable, and specifying that you want to buy it for at most that price. I.e., "buy x item @ cost", or the ASH equivalent.

That would work in this script, since it explicitly buys items in aftercore, rather than "acquiring" them.

KoLmafia's GUI does the equivalent of "acquire", since it is willing to use items from inventory.

By the way - I submitted a KoL bug report saying that I don't even want to see disabled stores when I do a Mall search.

No response.
 
What "workaround" do you propose? We can only tell that the store is unavailable after we try buying from it.

In lieu of kol hiding the disabled stores, mafia could, after noticing a failed purchase from a disabled store, mark it as such, and ignore the store in the future. Of course, that is a lot of work, for not a lot of gain, and only a workaround. The main problem right now is disabled stores confusing the price sorting of certain candies, which is certainly confusing, and a little worrying, but we are talking hunderds of meat, so it's not really all that relevant in the grand scheme of things.
 

Ezandora

Member
1.0.3 includes some code to try and work around disabled players, by re-estimating mall prices after buying from a disabled store. The estimate is a bit aggressive at the moment.
 

Veracity

Developer
Staff member
Revision 17702 will detect when you fail to buy from a disabled store. It flushes the search results for the item and saves the store Id in a Set of disabled stores. The store will no longer appear in mall search results for the rest of the session and, therefore, should not skew expected prices for subsequent mall searches.

I suppose we could invalidate all mall searches containing that store ID. And I suppose we could save the disabled store set to a setting, rather than having it persist only until your restart KoLmafia.

But this is the start of a "workaround", at least.
 

Ezandora

Member
Revision 17702 will detect when you fail to buy from a disabled store. It flushes the search results for the item and saves the store Id in a Set of disabled stores. The store will no longer appear in mall search results for the rest of the session and, therefore, should not skew expected prices for subsequent mall searches.

I suppose we could invalidate all mall searches containing that store ID. And I suppose we could save the disabled store set to a setting, rather than having it persist only until your restart KoLmafia.

But this is the start of a "workaround", at least.

This would be good to add for players who have you on ignore, as well. Example:

PEEZ dispensers sell for 900 meat. The disabled store sells them for 135 meat. I added mine at 136 meat, and kept my multi on my ignore list, and tried to buy at 135, then 136 meat:
Code:
Using cached search results for PEEZ dispenser...
Purchasing PEEZ dispenser (1 @ 135)...
This shop's inventory is frozen (#1582168). Skipping...
Desired purchase quantity not reached (wanted 1, got 0)
Searching for "PEEZ dispenser"...
Search complete.
Purchasing PEEZ dispenser (1 @ 136)...
You are on this shop's ignore list (#1557284). Skipping...
Desired purchase quantity not reached (wanted 1, got 0)
The next store up is 900, but:
Code:
> ash $item[peez dispenser].mall_price()

Returned: 136
 
Top