Feature - Implemented "eat" command should work with hot dogs

Veracity

Developer
Staff member
Hot dogs from the Clan Hotdog Stand are not real items. Therefore, when you say "eat 1 optimal dog", the item finder says "optimal dog does not match any items". However, the "eat" command has special code that allows it to eat non-items from Chez Snootee.

It would nice if similar code could be added to eat a hot dog from your Clan's Hot Dog stand.
 

lostcalpolydude

Developer
Staff member
Right below the code for Chez, something like
Code:
			if ( ClanLoungeRequest.isHotDog( parameters ) )
			{
				RequestThread.postRequest( ClanLoungeRequest.buyHotDogRequest( parameters ) );
				return false;
			}
should be added. "parameters" is the wrong parameter for isHotDog() though, and if it's being split into name and quantity there, maybe it could be before the other two blocks as well (instead of after), which would require a bit of refactoring. There's also the fact that eating multiple fancy hot dogs isn't allowed, but eating multiple boring hot dogs needs to be possible.
 

Veracity

Developer
Staff member
Right. Also, it would be nice if there was more checking on whether you've already eaten a fancy hot dog today, whether the hot dog is currently available from your current clan's hot dog stand, and so on. Some of those functions probably already exist in ClanLoungeRequest.

If you look at the function that the UseItemCommand calls for Chez in RestaurantCommand (if I recall correctly), we could make a eatHotDog function which does all those checks, generates the expected error message, and so on. If no errors, it then submits the request.

But yeah - the core functionality exists. We just need to make a method which does the argument checking and calls it.
 

Veracity

Developer
Staff member
Revision 13046 should do this. It has all sorts of checks - access to Clan VIP lounge, availability of a particular hot dog, fullness, milk, etc. etc.

In order to get the "available in clan" check to work, I removed the "when building hot dog list, don't add fancy dogs if you've already eaten one today" from visiting the hot dog stand. I never did like that, anyway, but I bet that fancy hot dogs will show up on the Food panel of the Item Manager now, even if you've eaten one. If so, I will fix that in a different way.
 

Fluxxdog

Active member
Side question: Is there any way to get the eat[silent]() functions to consume a dog?
 
Last edited:

Fluxxdog

Active member
Well, it's just that I tried it but eat($item[optimal dog]) doesn't work because $item[optimal dog] doesn't exist. IIRC, negative items like the dogs and Crimbo food aren't made in to $item[]s, right? Always wondered why that was.
 

Veracity

Developer
Staff member
Well, it's just that I tried it but eat($item[optimal dog]) doesn't work because $item[optimal dog] doesn't exist. IIRC, negative items like the dogs and Crimbo food aren't made in to $item[]s, right? Always wondered why that was.
This Feature Request might interest you. I'm not sure if it will eventually lead to negative items being available in ASH, but it does point out a hitch in that idea:

Peche a la Frog: desc_item.php?whichitem=-1_food
As Jus Gezund Heit: desc_item.php?whichitem=-2_food
Bouillabaise Coucher Avec Moi: desc_item.php?whichitem=-3_food

Petite Porter: desc_item.php?whichitem=-1_booze
Scrawny Stout: desc_item.php?whichitem=-2_booze
Infinitesimal IPA: desc_item.php?whichitem=-3_booze

So, which ones are items -1, -2, and -3, respectively?

The other hitch is that if I put those in, there will immediately be requests (Theraze, I am looking at you) to put in sushi as negative pseudo-items as well - even though KoL itself has no publicized item descriptions for them. And I don't want to simply make up numbers.

If you want the "eat" command to consider sushi, make a new Feature Request. As you point out, "make" works.
If you want a way to eat hot dogs or sushi via eat(), well, I expect not, when you can simply use cli_execute( "eat optimal dog" ).
 

Theraze

Active member
Meh, I don't really eat sushi. :) It's why I added the brute guessing code to TheSea. :D So don't expect the request from me unless someone else asks for it first, which is how that whole pseudo-mess happened before. Heh.
 

Donavin69

Member
I'd like to Bump this request, "eat 1 basic hot dog" works from the CLI, but eat(1, $item[basic hot dog]) says no item match. Which means I can't capture the output for success or failure...
 

Veracity

Developer
Staff member
It is not acceptable to "bump" a request that was implemented 4 years ago and did (and does) exactly what was requested and ask for something different.

To wit, the request was for the "eat" command to work with hot dogs. It now does.
The request was NOT to make $item accept hot dogs - which are not items.

There is another request being ignored somewhere to come up with a scheme for pseudo-items - hot dogs, sushi, cafe eat-upon-purchase foods, and so on. Feel free to find and bump that, but it's not gonna happen here.
 
Top