Familiar Feeder

slyz

Developer
[size=+1]Familiar Feeder 0.91 beta[/size]

Familiar Feeder requires htmlform.ash, SmashLib,ZLib, and daily build 9600 or greater (14.7 will not work unless you have the most recent data files).

The Familiar Feeder is a relay browser script - it creates an interface that helps you decide what to feed to your Slimeling, Gluttonous Green Ghost or Spirit Hobo during an ascension. One important feature is the possibility to 'hide' items from the script - players who have misclicked and fed a part of an outfit can understand how nice this is.

Keep in mind this is an ascension-oriented script, I know using this in aftercore with a big inventory would be mildly overwhelming.

Note that this is still a work in progress, and you should look at the possibilities offered with a critical eye.

This script is very conservative, and will never consider an item that will take a turn to create. There is also the possibility to specify how many of what items you do not, under any circumstances, want created (or used as ingredients) and fed.

If you want to play around with the script, you can disable the actual feeding/creating by editing the script and changing the debug variable at the top to true. The commands will be printed in the gCLI instead of being executed.

What does it do?
  • A list of feedable items you can craft with ingredients from your inventory or NPC stores is generated.
  • For each item you can create or have in your inventory that fills the requirements*, a meat per MP ratio is computed with either the autosell value or the pulverized value, and the amount of MP your familiar gives with each charge. In the case of creatable items, the cost is the sum of the values of all the basic ingredients (or the autosell value if it's higher).
  • The Feeder_keep.txt data file is loaded. It contains items you want to keep, as well as the quantities to hold. If you are on a pathed run, food and/or booze will not be considered as items to keep.
  • All the items you can feed are sorted by their ratio of Meat/MP, and listed.
  • Items you want to keep X of are listed only if you have more than X and colored blue.
  • The amounts of createable items take into account items you want to keep, if they happen to be one of the ingredients.
  • Items that would give you more MP by using the meat gained from autoselling are colored red
  • Items can be added to the 'items to keep' list through the interface.
  • When feeding the slimeling, items created from meat stacks are listed in a separate frame so they are easy to find. Note that they do not add MP charges, even though Mafia adds it.
* Items that lack an autosell value, are not tradeable, or are NPC items are not considered. Furthermore, the script considers items to keep only if you have more than the limit fixed in the data file.

You can also find "Chewing-gum on a string" listed among the items you can feed your Slimeling. Choose this to use chewing-gums and feed the resulting starter items. The script will closet (then uncloset) starter items if it gives you a better chance of avoiding unfeedable chewing-gum items. Note that any worthless item you obtain will stay in your inventory and won't be closeted.

How to use it:
  • Download relay_FamiliarFeeder.ash to Mafia's /relay folder.
  • Download Feeder_keep.txt to Mafia's /data folder.
  • Download htmlform.ash, SmashLib and ZLib to your /scripts directory.
  • If mafia was running when you downloaded the script, use the [Re] link in the top pane.
  • Select FamiliarFeeder in the top pane dropdown.

How to feed items:
  • If your familiar is in the terrarium, use the Take [familiar] out button.
  • Check items you want to feed in the Feedable Items section.
  • The current and creatable items you can feed are listed like Mafia's food/booze/spleen manager. Next to each item, there's (X possible, Y current) which indicates you have Y in your inventory, and can create X - Y (so you can feed up to X).
  • Configure the amounts to feed in the Feed Stuff section.
  • Use the Feed button to feed you familiar.

"Feed Stuff" options:
  • Feed All Current - Feed the quantity you have in your inventory (nothing is created).
  • Feed All Current But One - Feed the quantity you have in your inventory minus one (nothing is created).
  • Feed All - Feed as many as possible (items are created if needed).
  • Feed quantity - Feed the quantity specified (items are created if needed).
All the quantities listed and fed exclude the items you want to keep, even if they are only used as ingredients.

How to configure the items to keep:
  • Check items you want to keep in the different sections (the Items to Keep section shows the current list, if you want to modify it).
  • Configure the amounts to keep in the Keep Stuff section.
  • Use the Keed button.

To do:
  • Find someone that can help me make the script more ergonomic (item data presentation, putting the familiar's images in there somewhere, aligning stuff etc...)
  • Wait for bugs and squash them!

Changelog

04.08.10 - ver. 0.1 alpha posted.
04.11.10 - ver. 0.1 beta: move the keep map to a data file, revamp the script to resemble KoL's Autosell page, add notify and version checking.
04.12.10 - ver. 0.2 beta: add item creation, remember toggle state of sections with a cookie.
04.14.10 - ver. 0.3 beta: change name to FamiliarFeeder, add support for GGG and Hobo, add 'Keep Stuff' section, cleanup code, check autosell vs pulverize
04.18.10 - ver. 0.31 beta: fix issue with saucepans
04.19.10 - ver. 0.32 beta: fix a couple of little logic errors
04.28.10 - ver. 0.4 beta: consider cost of meat paste when necessary, use autosell value instead of cost for items (balloons) that actually autosell for more than their parts, only show the meat stack items when considering the Slimeling, collapse the 'Feedable' and 'Creatable' section into one
04.29.10 - ver. 0.41 beta: removed that '!' that prevented v0.4 beta from working, remove items to keep when you can't consume them (for pathed runs).
05.01.10 - ver. 0.42 beta: fixed (X possible, Y current) so that items in inventory are counted in X, fixed displaying of meat stack items.
06.09.10 - ver. 0.5 beta: added the Items to Keep section, removed meat stack items from the items to Feed since they don't give MP, a couple of aesthetic changes.
06.16.10 - ver. 0.51 beta: fixed a typo that was removing foods to keep when you couldn't drink, added more default ascension-relevant items to keep in Feeder_keep.txt, added logic to keep only the worst hats for the hatter buff, drum and guitar for the Lair
07.11.10 - ver. 0.52 beta: fixed a little bug that sometimes caused meat stack items to not be recognized as such
07.30.10 - ver. 0.53 beta: only basic meat items and the gnollish autoplunger give meat stacks
10.06.10 - ver. 0.6 beta: changed the default data file and the script to account for recent (and not so recent) changes to starter items and crafting. Fix a few aesthetics bugs and added logic for feeding the hippy outfit and chef's hat.
10.11.10 - ver. 0.61 beta: added support for starter items from chewing-gums on strings. Import SmashLib.ash instead of smashlib.ash.
11.09.10 - ver. 0.62 beta: added support for Bart Ender beers
07.12.11 - ver. 0.63 beta: bugfix for the new fullness/inebriety data files
07.24.11 - ver. 0.7 beta: use knoll_available() instead of in_muscle_sign(). No need to load data files for food/booze consumption data anymore.
07.29.11 - ver. 0.8 beta: charrrms bracelets have a power now, and are circular concoctions. Prevent infinite recursion in get_cost().
09.06.11 - ver. 0.9 beta: remove Clip Art items from the concoctions map.
06.30.12 - ver. 0.91 beta: to_item( item) isn't a thing anymore.
 

Attachments

  • Feeder_keep.txt
    2 KB · Views: 224
  • relay_FamiliarFeeder.ash
    45.6 KB · Views: 138
Last edited:

slyz

Developer
It works even if you don't have a slimeling: you can look at it, but of course you won't have a 'Feed' button.
 

heeheehee

Developer
Staff member
Looks like line 138 was throwing it off for me, since my familiar doesn't have any equipment. (Error message received: "[none] has no matches.")

Simple fix, really: insert if(familiar_equipped_equipment(fam)!=$item[none]) to the beginning of that line.

Anyway, back to the script: it's functional, and it's not overly cluttered. That's generally good enough (in my opinion, I mean, and I'm probably totally wrong).
 
Last edited:

zarqon

Well-known member
Great! Next, make it work for ghosts and hobos as well, showing the appropriate category of consumables depending on current familiar, with "Take Out Your XXX" buttons for whichever familiars you have.

If you made that, I would use it so hard. Unfortunately I still don't have a slimeling so I can't give this one a proper test..
 

heeheehee

Developer
Staff member
Well hey, you're almost out of your current run, so I could plausibly get you a slimeling tomorrow? (Not free of course; that alt's poor! Just enough to cover costs, pretty much.)

Ideally you'd have the tube set up in advance (squeezes and all), and I'd have my alt hop on over. But it's really up to you. (Y'know what, just contact me in-game.)

[[On a slightly related note, it wouldn't be -too- difficult to add a dropdown menu and change what items show... Maybe later.]]

Edit: icon315 -- the one that you posted? (I don't see any other scripts anywhere in this thread... =P)
 

bleary

Member
This is great! I'll get right to work testing and maybe coming up with some improvements. 'frilly shirt' probably ought to be 'frilly skirt' in line 66. Maybe also add the bugbear outfit and stainless/plexi/brimstone stuff to the exclusion list? I'm always afraid I'm going to accidentally feed one of my ascension rewards to my slimeling.
 

icon315

Member
Yes, i click on it, it starts to try to load, then stops.

also, how much would it be to "cover the costs?"
the only thing i can get is double nodules
 

heeheehee

Developer
Staff member
Frilly skirt (and bugbear outfit) should also be ignored if you're in a muscle sign. =P

"Covering the costs" usually runs around 1 million for me (including cost of instance, chamoix, and squeezers, so if the instance is already set up, just 700k). Of course, there's a minor catch -- while you get the larva (and slime skill, if desired), I get everything else (bitter pills for later runs, epic wads to mitigate costs). Well, there's always the option to negotiate for the other loot, so if you want nodules as well, let's say, that'd be an extra... however much bitter pills happen to cost. Or an actual bitter pill.
 

zarqon

Well-known member
heeheehee, SNIG? I will be popping out of HC today or tomorrow (probably tomorrow unless I'm lucky) and would definitely be interested in setting this up. Adding Slimeling support to SS would be the first thing I'd do.
 

slyz

Developer
I'm going to work on cleaning up the code a little and moving the items to keep list into a data file. I also had a couple of ideas for the presentation. What I would like is a KoL 'autosell' page presentation, but with the possibility to enter different amounts for each item. This would mean 'Feed All', 'Feed All But One' and 'Feed quantity' options for the items selected.

@ heeheehee: thanks for finding that.

About the dropdown menu: I wanted to show all the items you could feed it, so you could enter how many of which you wanted fed in one go. Of course, there could be a dropdown instead of a text field to choose the amounts.

@ zarqon: I didn't think of that, but it would be neat. I should be able to buy a GGG soon too, so that's another incentive to add that functionality.

@ bleary: ascension rewards are not tradeable, so they are not feedable. I added the bugbear outfit.

@ icon315: What error does Mafia give in the gCLI?

@ forgot my password: Not unless you edit the script and set the debug variable at the top to false. I feed it saucepans to test, and that seems to work. With the debug variable set to true, it only prints in the gCLI the command it would execute, and also adds 'debugging' at the top of the page.
 

reverkiler

New member
Is it possible you could put the 'keep' items in a map file? I think that would make it a bit more portable and less hard coding
 

slyz

Developer
Yup that's the plan. I wanted some help for the look of it, but ended up copying the KoL Autosell page. I'll post the revamped version once I get it to actually work :D

I'm also adding buttons to add items to the keep data file... I hope it won't be too cluttered.
 

slyz

Developer
@zarqon: I guess PriceAdvisor's treatment of concoctions opened the road for that, I will definitively look into that. I would like to add a confirmation pop-up for creation though, as it would use more resources than simply equipment in your inventory (eventually costing turns too), but I have no idea of how to do a nice one (javascript?).

Version 0.1 beta posted. This WILL feed stuff to your familiar, so start using with caution. See the first post for instructions.
 
Top