New Content - Implemented Clan speakeasy

digitrev

Member
Unknown item found: Clan speakeasy (7588, 590707870)
--------------------
7588 Clan speakeasy 590707870 crate.gif usable t 0
Clan speakeasy Free Pull
--------------------

Adds a "Phone Booth" to the clan VIP Lounge. You can buy 3 drinks by default, with more unlocked by passwords. The only known password is swordfish. Password spading is going on here.

I don't know how to grab item data for stuff in a store, but here's the current drinks. All four are "good" 1-potency drinks.

glass of "milk" 250 Meat
cup of "tea" 250 Meat
thermos of "whiskey" 250 Meat
Lucky Lindy 500 Meat
 

Fluxxdog

Active member
You can only have 3 Speakeasy drinks a day. HTML for the Speakeasy with the 3 default drinks and the Lucky Lindy:
HTML:
<center><table  width=95%  cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Results:</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><center><table width=60%><tr><td>You step into the phone booth.  The phone rings, and you answer it.  "Welcome, Sir," says the voice on the other end, the voice of a posh respectable gentleman.  "Please consult the phone book and tell me what you'd like."<p>You open the book, and sure enough, it's a cocktail menu.<p>(You can have 3 more drinks from the speakeasy today.)</td></tr></table><table><tr><td><img  style="cursor: pointer" onclick="descitem(261919502)" src="//images.kingdomofloathing.com/itemimages/milk.gif" height="30" width="30" alt="glass of "milk"" /></td><td onclick="descitem(261919502)">glass of "milk"</td><td><img src="//images.kingdomofloathing.com/itemimages/meat.gif" height="30" width="30" alt="250 Meat" /></td><td>250</td><td><form style="display: inline" method="post" action="clan_viplounge.php"><input type="hidden" name="preaction" value="speakeasydrink"><input type="hidden" name="drink" value="1" /><input type="hidden" name="pwd" value="1875d614a9c039c16859cebde6eb7217" /><input type="submit" class="button" value="Drink!" /></form></td></tr><tr><td><img  style="cursor: pointer" onclick="descitem(608728555)" src="//images.kingdomofloathing.com/itemimages/coffeecup.gif" height="30" width="30" alt="cup of "tea"" /></td><td onclick="descitem(608728555)">cup of "tea"</td><td><img src="//images.kingdomofloathing.com/itemimages/meat.gif" height="30" width="30" alt="250 Meat" /></td><td>250</td><td><form style="display: inline" method="post" action="clan_viplounge.php"><input type="hidden" name="preaction" value="speakeasydrink"><input type="hidden" name="drink" value="2" /><input type="hidden" name="pwd" value="1875d614a9c039c16859cebde6eb7217" /><input type="submit" class="button" value="Drink!" /></form></td></tr><tr><td><img  style="cursor: pointer" onclick="descitem(712543371)" src="//images.kingdomofloathing.com/itemimages/thermos.gif" height="30" width="30" alt="thermos of "whiskey"" /></td><td onclick="descitem(712543371)">thermos of "whiskey"</td><td><img src="//images.kingdomofloathing.com/itemimages/meat.gif" height="30" width="30" alt="250 Meat" /></td><td>250</td><td><form style="display: inline" method="post" action="clan_viplounge.php"><input type="hidden" name="preaction" value="speakeasydrink"><input type="hidden" name="drink" value="3" /><input type="hidden" name="pwd" value="1875d614a9c039c16859cebde6eb7217" /><input type="submit" class="button" value="Drink!" /></form></td></tr><tr><td><img  style="cursor: pointer" onclick="descitem(370494914)" src="//images.kingdomofloathing.com/itemimages/fruity.gif" height="30" width="30" alt="Lucky Lindy" /></td><td onclick="descitem(370494914)">Lucky Lindy</td><td><img src="//images.kingdomofloathing.com/itemimages/meat.gif" height="30" width="30" alt="500 Meat" /></td><td>500</td><td><form style="display: inline" method="post" action="clan_viplounge.php"><input type="hidden" name="preaction" value="speakeasydrink"><input type="hidden" name="drink" value="4" /><input type="hidden" name="pwd" value="1875d614a9c039c16859cebde6eb7217" /><input type="submit" class="button" value="Drink!" /></form></td></tr></table><form  method="post" action="clan_viplounge.php"><input type="hidden" name="preaction" value="speakeasypw"><input type="hidden" name="drink" value="12" /><input type="hidden" name="pwd" value="1875d614a9c039c16859cebde6eb7217" /><p>Tell the bartender a drink password: <input type="text" name="pw" /><input type="submit" class="button" value="Speak, Easily!" /></form></center></td></tr></table></center>
Drank 3 thermoses under Vole sign and Ode:
Code:
You gain 4 Adventures
You gain 103 Roguishness
You gain 1 Drunkenness
You lose some of an effect: Ode to Booze
You lose 250 Meat
You gain 4 Adventures
You gain 88 Sarcasm
You gain 1 Drunkenness
You lose some of an effect: Ode to Booze
You lose 250 Meat
You gain 3 Adventures
You gain 95 Roguishness
You gain a Moxie point!
You gain 1 Drunkenness
You lose some of an effect: Ode to Booze
You lose 250 Meat
2-3 adv, 80-94 moxie, stats will likely be similar for all 3 defaults.
 
Last edited:

Darzil

Developer
Bees Knees came up as value 5 when it was unlocked. Lets hope it's 5 in every clan, rather than 5 if it's the second one unlocked in a specific clan!
 

GValko

Member
Code:
After you finish drinking it, you spontaneously burp-speak the number <b>171</b>.  What's that hooey all about?

Burp # is SR counter.
 

Darzil

Developer
Drink 1 - glass of "milk" - 250 Meat
Drink 2 - cup of "tea" - 250 Meat
Drink 3 - thermos of "whiskey" - 250 Meat
Drink 4 - Lucky Lindy - 500 Meat
Drink 5 - Bee's Knees - 500 Meat
Drink 6 -
Drink 7 -
Drink 8 - Hot Socks - 500 Meat
Drink 9 -
Drink 10 - Flivver - 20,000 Meat
Drink 11 - Sloppy Jalopy - 100,000 Meat
 
Last edited:

Darzil

Developer
A question. At present we don't suggest using hot dogs to get effects, and I guess we'll have the same issues here. Would it be as 'straightforward' as adding the eat commands for these effects in status effects and the duration data to modifiers.txt, and then intercepting the commands in EatItemRequest (etc) and redirecting to VIP lounge?
 

lostcalpolydude

Developer
Staff member
I'm pretty sure "eat optimal dog" and such already work in the CLI, which means that nothing extra needs to be added to "intercept" the command.
 

Veracity

Developer
Staff member
At present we don't suggest using hot dogs to get effects, and I guess we'll have the same issues here.
Don't suggest it where? in the maximizer?

Would it be as 'straightforward' as adding the eat commands for these effects in status effects and the duration data to modifiers.txt
If you add an "eat" or "drink" command to statuseffects.txt, I would expect them to show up in the maximizer.

However, I might also expect to see those effects be able to appear in moods and for up arrows appear next to the effects in the charpane, even thought hot dogs, at least, are one per day. If that is true and you want to suppress that kind of behavior, you might want to look at MoodManager.getDefaultAction and/or CharPaneDecorator.addEffectLinks.

and then intercepting the commands in EatItemRequest (etc) and redirecting to VIP lounge?
Well, if you have an "eat" or "drink" command in statuseffects, it goes through UseItemCommand. If you look at that, it calls RestaurantCommand.makeHotDogStandRequest to see if it is a hot dog. Seems like you could add RestaurantCommand.makeSpeakeasyRequest and add a similar check to the "drink" part of the code. You probably want that anyway, if you want to be able to say "drink Flivver", or whatever.
 

Veracity

Developer
Staff member
I'm pretty sure "eat optimal dog" and such already work in the CLI, which means that nothing extra needs to be added to "intercept" the command.
Well, as I mentioned, you need to "intercept" it in the "eat" or "drink" command - which are in UseItemCommand.
 

Darzil

Developer
Ok, will take a look at that, as it sounds easier than I had thought. It was maximizer I was thinking of.

Adding daily limited stuff to moods tends to just cause the mood to fail at present. Whether it should not fail and just not cast the effect is another consideration. I know I got it to do that for spells that you could cast, but wouldn't affect you.
 

Darzil

Developer
No, it isn't quite that easy, it doesn't work. Maximizer uses Item Finder to see which item gives the effect, and then checks the maximum number of uses for it remaining. If it finds the item it then looks up it's fullness etc in the item database and checks you have room. I think we only add the hot dogs to the concoction database, not the item database, so this doesn't work.

Presumably all the items we can eat/drink/spleen are in the concoction database? In which case we could perhaps intercept eat, drink and chew commands and use the data in the concoction database rather than the item database? Then things might work.
 

Veracity

Developer
Staff member
I suggest you look closely at hot dog support in ClanLoungeRequest and ConcoctionDatabase. The latter uses this:

Code:
		if ( ClanLoungeRequest.isHotDog( name ) )
		{
			request = ClanLoungeRequest.buyHotDogRequest( name );
		}
in consumeItem when it is told to eat a hot dog. It is told to do that because hotdogs are on ConsumptionDatabase.usableList.

ClanLoungeRequest has a list of concoctions named ALL_HOTDOGS. When it parses the hot dog stand (in parseHotDogStand, strangely enough), all available dogs are added to ConcoctionDatabase.getUsables() - the above named list.

The speakeasy needs similar support, and the hot dog stand is the model, I think.
 

Darzil

Developer
Oh, speakeasy support should definitely be based on hot dog stand, I'm not looking at that yet.

I'm just considering changing Maximizer code to work on ConcoctionDatabase rather than ItemDatabase for consumables, as ConcoctionDatabase copes with things that don't have an item. That way all such items should work with Maximizer. I'm concerned there may be some fallout, but maybe there won't.
 

Veracity

Developer
Staff member
OK. That seems plausible. I was just pointing out how to have the Speakeasy items appear in the ConcoctionDatabase so the Maximizer can find them. Have fun. :)
 

Darzil

Developer
Just FYI so others don't spend the time, I am working on adding Speakeasy functionality. Some is working in test, some things aren't yet. Things are being added correctly to item manager booze section, but don't yet show right number available or cost. Drink X from command line is working for items in lower case, but not mixed case. Am not yet parsing limits from clan page to update settings.
 

Darzil

Developer
r14155 adds Speakeasy drinks to Booze Manager, they can also be drunk with "drink X".

What we really need now (other than to add others as they are discovered) is to add the consumption details once spaded.
 
Top