New Content - Implemented unpowered Robortender

Bale

Minion
Thanks! It was making ChIT unhappy. It amuses me that the generic folding code worked perfectly, but then the folding failed due to a weird bug.
 

Bale

Minion
Is anyone working on an underline property for mafia to remember which boozes have been fed the Robortender? My meat farming script wants to know if I need to feed a Piscatini to the Robortender to make it better than a Hobo Monkey.
 

lostcalpolydude

Developer
Staff member
Is anyone working on an underline property for mafia to remember which boozes have been fed the Robortender? My meat farming script wants to know if I need to feed a Piscatini to the Robortender to make it better than a Hobo Monkey.

I was waiting on spading on how it worked, to see what needs to be supported as far as familiar modifiers. If it's just a comma-separated list of drinks consumed, then I'm not really sure how to handle the bonuses in modifiers.txt, even ignoring the more complicated case of some drinks overriding others.

Maybe pref(setting,value) can be a contains() check instead of an equals() check...

I guess I have that part sorted out (not trivial, but not too difficult). Actually tracking the consumed drinks probably goes along with being able to consume them.
 

Bale

Minion
I know that if both weak and strong drinks for a given phylum are consumed the Robortender only get the benefit of the strong drink. Are there other cases where a drink overrides another?
 

lostcalpolydude

Developer
Staff member
In 17916, there is _roboDrinks, and the Robortender updates its modifier based on what it has consumed. (I shortened _robortenderDrinks to _roboDrinks because I realized the expression was going to be somewhat hideous in modifiers.txt, though it's only 1/3 of the length of the KOLHS camera expression.) I didn't bother doing anything with modifiers for the drinks that restore HP or MP, or the ones that deal damage.

One thing that's missing is the fish drinks making it an Underwater Familiar. That probably requires some more changes to modifier expressions.
 

Bale

Minion
Different:

ghost[?] [either] item [, item]... - use/consume items
hobo[?] [either] item [, item]... - use/consume items
slimeling[?] [either] item [, item]... - use/consume items
 

Veracity

Developer
Staff member
I'll whip up a command, after lunch. lost's setting will let me verify that you haven't already consumed a drink, but I'm not planning on trying to protect you from yourself by preventing you from from feeding a weak drink to the robo when it's already had the strong drink of the same phylum.

Perhaps KoLmafia could have a robodrink database which includes the phylum and strength of the drinks, but considering I have the following in my script, I think that is eminently scriptable. :)

Code:
record robodrink
{
    phylum source;		// Phylum of the monster that drops ingredient
    boolean strong;		// weak vs. strong effect
    string desc;		// description of effect
};

static robodrink [item] robodrinks = {
    $item[ literal grasshopper ] : new robodrink( $phylum[ bug ], false, "+3 Muscle stats per combat" ),
    $item[ eighth plague ] : new robodrink( $phylum[ bug ], true, "+5 Muscle stats per combat" ),
    $item[ double entendre ] : new robodrink( $phylum[ constellation ], false, "+0.5 Fairy" ),
    $item[ single entendre ] : new robodrink( $phylum[ constellation ], true, "+1.0 Fairy" ),
    $item[ Phlegethon ] : new robodrink( $phylum[ demon ], false, "Hot Damage during combat" ),
    $item[ reverse Tantalus ] : new robodrink( $phylum[ demon ], true, "Hot Damage during combat" ),
    $item[ Siberian sunrise ] : new robodrink( $phylum[ elemental ], false, "Cold Damage during combat" ),
    $item[ elemental caipiroska ] : new robodrink( $phylum[ elemental ], true, "Cold Damage during combat" ),
    $item[ mentholated wine ] : new robodrink( $phylum[ elf ], false, "Grant random candy sometimes" ),
    $item[ Feliz Navidad ] : new robodrink( $phylum[ elf ], true, "Grant random candy more often" ),
    $item[ low tide martini ] : new robodrink( $phylum[ fish ], false, "Familiar can breathe underwater" ),
    $item[ Bloody Nora ] : new robodrink( $phylum[ fish ], true, "Familiar can breathe underwater w/ +10 Familiar Weight" ),
    $item[ shroomtini ] : new robodrink( $phylum[ goblin ], false, "+3 Moxie stats per combat" ),
    $item[ moreltini ] : new robodrink( $phylum[ goblin ], true, "+5 Moxe stats per combat" ),
    $item[ morning dew ] : new robodrink( $phylum[ hippy ], false, "MP Restore" ),
    $item[ hell in a bucket ] : new robodrink( $phylum[ hippy ], true, "MP Restore" ),
    $item[ whiskey squeeze ] : new robodrink( $phylum[ hobo ], false, "Grant item from Refusal sometimes" ),
    $item[ Newark ] : new robodrink( $phylum[ hobo ], true, "Grant item from Refusal more often" ),
    $item[ great old fashioned ] : new robodrink( $phylum[ horror ], false, "Spooky Damage during combat" ),
    $item[ R'lyeh ] : new robodrink( $phylum[ horror ], true, "Spooky Damage during combat" ),
    $item[ Gnomish sagngria ] : new robodrink( $phylum[ humanoid ], false, "Physical Damage during combat" ),
    $item[ Gnollish sangria ] : new robodrink( $phylum[ humanoid ], true, "Physical Damage during combat" ),
    $item[ vodka stinger ] : new robodrink( $phylum[ mer-kin ], false, "Stench Damage during combat" ),
    $item[ vodka barracuda ] : new robodrink( $phylum[ mer-kin ], true, "Stench Damage during combat" ),
    $item[ extremely slippery nipple ] : new robodrink( $phylum[ orc ], false, "HP Restore" ),
    $item[ Mysterious Island iced tea ] : new robodrink( $phylum[ orc ], true, "HP Restore" ),
    $item[ piscatini ] : new robodrink( $phylum[ penguin ], false, "+0.5 Leprechaun" ),
    $item[ drive-by shooting ] : new robodrink( $phylum[ penguin ], true, "+1.0 Leprechaun" ),
    $item[ Churchill ] : new robodrink( $phylum[ pirate ], false, "Sleaze Damage during combat" ),
    $item[ gunner's daughter ] : new robodrink( $phylum[ pirate ], true, "Sleaze Damage during combat" ),
    $item[ soilzerac ] : new robodrink( $phylum[ plant ], false, "+3 Mysticality stats per combat" ),
    $item[ dirt julep ] : new robodrink( $phylum[ plant ], true, "+5 Mysticality stats per combat" ),
    $item[ London frog ] : new robodrink( $phylum[ slime ], false, "Blocks like a potato" ),
    $item[ Simepore slime ] : new robodrink( $phylum[ slime ], true, "Blocks like a potato" ),
    $item[ nothingtini ] : new robodrink( $phylum[ weird ], false, "Delevel by weight/2 sometimes" ),
    $item[ Phil Collins ] : new robodrink( $phylum[ weird ], true, "Delevel by weight/2 always" )
};
Note that the "description" is preliminary info from the Wiki; actual numbers for damage or regen would be nice.
 

lostcalpolydude

Developer
Staff member
Command added in 17923. It doesn't try to prevent you from giving weaker versions of drinks, partly because I didn't even consider that until reading Veracity's post.
 

Veracity

Developer
Staff member
I already ran my turns today, but I was planning on throwing the cheapest drink(s) at it. For science!
 

lostcalpolydude

Developer
Staff member
Maybe make the "feed hobo" button in the Item Manager (Booze panel) double as a Robortender feeder? I wasn't planning to do that though.
 

Veracity

Developer
Staff member
I mentioned that as a possibility earlier. It is trickier in that you can only feed certain boozes, no more than one of the same, no more than five per day, and that is the place where you'd probably want a "are you sure you want to waste that when you have a better effect active from the same phylum?" check.

And given that you can only feed Robortender drinks, it'd help if there was a way to filter boozes to only show that kind of drink.

Seems like a candidate for a relay script.
 

Bale

Minion
Given Veracity's points I'm going to mark this implemented.

If anyone wants to turn the "Feed Hobo" button into a "Feed Familiar" button, then that's great and everyone would be happy, but it is beyond the necessary scope of this thread. Perhaps someone will make a "Feature Request" thread for it.
 
Top