New Content - Implemented Shop revamp

Winterbay

Active member
Code:
42 consummate hard-boiled egg
43 consummate fried egg
51 consummate      soup
52 consummate corn chips
53 consummate salad
55 consummate      sauerkraut
56 consummate cheese slice
57 consummate melted cheese
63      consummate french fries
64 consummate baked potato
69 consummate      strawberries
70 consummate sorbet
65 acceptable vodka
71 adequate      rum
85 Das Sauerlager
90 Nachojito
91 Le Roi
92 Over Easy Rider

I'll get back to you tomorrow when I get new summons (I'm missing one ingredient to make most things...) for more if needed.
 

Veracity

Developer
Staff member
I believe the Cosmic Kitchen only shows things that you can make with ingredients in inventory. For example:

In inventory, I have cosmic cream and cosmic dough.
I can Freeze, so the Cosmic Kitchen shows me consummate ice cream
I can Bake, so the Cosmic Kitchen shows me consummate brownie
But, since I have neither of those in inventory, the Cosmic Kitchen does not show me the immaculate ice cream sandwich

I'm level 11. Tomorrow, at Level 12, I will be able to get cosmic cheese. The next day, at Level 13, I will get Fry - and all concoctions should be available to me.

I'll make one of each secondary ingredient and see what I can tell you today.

Well, I ran out of some basic ingredients. I'll have to try again tomorrow after I summon some more, but here goes

42 consummate hard-boiled egg
44 consummate egg salad
51 consummate soup
52 consummate corn chips
53 consummate salad
54 consummate salsa
55 consummate sauerkraut
59 consummate meatloaf
60 consummate steak
61 consummate cold cuts
62 consummate frankfurter
64 consummate baked potato
66 consummate ice cream
67 consummate whipped cream
68 consummate sour cream
69 consummate strawberries
70 consummate sorbet
73 immaculate ice cream sandwich
74 immaculate hot dog
75 immaculate egg salad sandwich
77 perfect chef salad
79 sublime deluxe hot dog
80 sublime stew
84 Omega Sundae
65 acceptable vodka
71 adequate rum
85 Das Sauerlager
106 Staff of the Light Lunch
108 Staff of the Hearty Dinner
109 Staff of the All-Steak
110 Staff of Fruit Salad
111 Staff of the Cream of the Cream
 

Veracity

Developer
Staff member
I went for Fry rather than Summon Cheese this level.

> call scripts/parseRows.ash

42 consummate hard-boiled egg
43 consummate fried egg
44 consummate egg salad
45 consummate bagel
46 consummate sliced bread
47 consummate hot dog bun
48 consummate brownie
49 consummate toast
51 consummate soup
52 consummate corn chips
53 consummate salad
54 consummate salsa
55 consummate sauerkraut
58 consummate bacon
59 consummate meatloaf
60 consummate steak
61 consummate cold cuts
62 consummate frankfurter
63 consummate french fries
64 consummate baked potato
66 consummate ice cream
67 consummate whipped cream
68 consummate sour cream
69 consummate strawberries
70 consummate sorbet
73 immaculate ice cream sandwich
74 immaculate hot dog
75 immaculate egg salad sandwich
77 perfect chef salad
78 perfect breakfast
79 sublime deluxe hot dog
80 sublime stew
84 Omega Sundae
112 cosmic six-pack
50 passable stout
65 acceptable vodka
71 adequate rum
85 Das Sauerlager
87 Vodka Dog
88 Disappointed Russian
89 Chunky Mary
91 Le Roi
92 Over Easy Rider
106 Staff of the Light Lunch
108 Staff of the Hearty Dinner
109 Staff of the All-Steak
110 Staff of Fruit Salad
111 Staff of the Cream of the Cream
 

Veracity

Developer
Staff member
Using 1 consummate baked potato + 1 consummate bacon + 1 consummate melted cheese + 1 consummate sour cream to make 1 Loaded Baked Potato
You acquire an item: Omega Sundae

Retrieved: http://www.kingdomofloathing.com/shop.php?whichshop=jarl&action=buyitem&whichrow=84&quantity=1

Processing results...
You acquire an item: Omega Sundae
Processing result: Omega Sundae
Processing result: consummate baked potato (-1)
Processing result: consummate bacon (-1)
Processing result: consummate melted cheese (-1)
Processing result: consummate sour cream (-1)
Successfully created Omega Sundae (1)
Obviously, those are not the ingredients for an Omega Sundae.

OK, I see the bug.

Revision 12006
 

lostcalpolydude

Developer
Staff member
After looking at the row values for several shops, it looks like they are guaranteed to be unique. This means that ConcoctionPool could have rowCache, and idToRow()/rowToId() can just be defined in CreateItemRequest to look up values from it (I think that would make sense, anyway).
 

Winterbay

Active member
The Vending Machine has been "updated" as well:

Result from parseRows:
Code:
93 Boris's key
94 Jarlsberg's key
95 Sneaky Pete's key
96 Boris's      ring
97 Jarlsberg's earring
98 Sneaky Pete's breath spray
99      potato sprout
102 Spellbook: Singer's Faithful Ocelot
103 Spellbook:      Drescher's Annoying Noise
101 Spellbook: Walberg's Dim Bulb
100      dried gelatinous cube
 

lostcalpolydude

Developer
Staff member
14 yak skin
15 hippopotamus skin
13 penguin skin

Adding ROWX to concoctions.txt and implementing rowToId()/idToRow() in ConcoctionPool was going great until I realized that some things are in coinmasters.txt. An int[][] could be used for several shops, but I don't know how it should be handled for coinmasters for any approach.
 

Theraze

Active member
Actually, slyz did have the Vending Machine in his post... but you have to scroll down to see it. :)
 

Veracity

Developer
Staff member
Adding ROWX to concoctions.txt and implementing rowToId()/idToRow() in ConcoctionPool was going great until I realized that some things are in coinmasters.txt.
I suppose you could add it to items.txt and make functions in ItemDatabase. That's assuming that the same item in multiple shops (there are none, right?) will have the same ROW ID. I bet that's how KoL did it: it's an attribute of the item, not the item within the shop. You could probably outright ask Eleron if that is the case.

I wonder why they did this?
 

lostcalpolydude

Developer
Staff member
I did ask Eleron. He isn't sure about row numbers being unique either. I can't think of any sane reason for them to not start at 1 for each shop besides using unique values.

The reason it was done is that it's possible to lock yourself out of content if you convert the crappy Mer-kin mask to a scholar or gladiator mask, so you can convert those masks back to a crappy mask if you screw up. That means there are 3 ways to make the crappy mask in that one shop, and since they use different ingredients they have different row IDs.

It wouldn't be a big deal to not support the other two methods for making the crappy mask. If an item ever does show up in multiple shops, it will probably have different row numbers due to using different ingredients though, and the same item could show up twice in a single shop with two reasonable ways of making it.
 

Veracity

Developer
Staff member
Well, pooh. So it is a concoction-specific id. I haven't looked at the new Sea stuff at all, yet.
So, you could add it to concoctions.txt and also coinmasters.txt, for coinmasters that use shop.php
 

Veracity

Developer
Staff member
All right, here is the Cosmic Kitchen with every ingredient and every cooking technique available:

42 consummate hard-boiled egg
43 consummate fried egg
44 consummate egg salad
45 consummate bagel
46 consummate sliced bread
47 consummate hot dog bun
48 consummate brownie
49 consummate toast
51 consummate soup
52 consummate corn chips
53 consummate salad
54 consummate salsa
55 consummate sauerkraut
56 consummate cheese slice
57 consummate melted cheese
58 consummate bacon
59 consummate meatloaf
60 consummate steak
61 consummate cold cuts
62 consummate frankfurter
63 consummate french fries
64 consummate baked potato
66 consummate ice cream
67 consummate whipped cream
68 consummate sour cream
69 consummate strawberries
70 consummate sorbet
72 immaculate grilled cheese
73 immaculate ice cream sandwich
74 immaculate hot dog
75 immaculate egg salad sandwich
76 perfect sandwich
77 perfect chef salad
78 perfect breakfast
79 sublime deluxe hot dog
80 sublime stew
81 sublime nachos
82 Ultimate Breakfast Sandwich
83 Loaded Baked Potato
84 Omega Sundae
112 cosmic six-pack
50 passable stout
65 acceptable vodka
71 adequate rum
85 Das Sauerlager
86 Bologna Lambic
87 Vodka Dog
88 Disappointed Russian
89 Chunky Mary
90 Nachojito
91 Le Roi
92 Over Easy Rider
106 Staff of the Light Lunch
107 Staff of the Standalone Cheese
108 Staff of the Hearty Dinner
109 Staff of the All-Steak
110 Staff of Fruit Salad
111 Staff of the Cream of the Cream
I notice that it does not have the Staff of the Healthy Breakfast and the Staff of the Staff of Life, even though I have the ingredients. I assume that is because I already have one of each of those and they are quest items. It never occurred to me that it wouldn't let you make a second one, but it makes sense, I guess.
 
Last edited:

xKiv

Active member
I did ask Eleron. He isn't sure about row numbers being unique either. I can't think of any sane reason for them to not start at 1 for each shop besides using unique values.

It's unique identifier in the tables that say "$shop sells $item for $cost" (one table with rownum (unique), shopid, resultitem, another table with rownum, quantity, costitem).
 

psly4mne

Member
The Crackpot Mystic has changed

Item creation at the Mystic must have changed in such a way that mafia no longer recognizes it. (gives "Creation failed, no results detected.")
 

bsander

Member
Duplicate to the Shop Revamp.
Um... ;)

also this is happening to the FDKOL tent:
Code:
> aq 22 bottle fire

Verifying ingredients for bottle of fire (22)...
Purchasing bottle of fire (22 @ 3 FDKOL commendations)...
Visiting the FDKOL Tent...
FDKOL Tent successfully looted!
Creation failed, no results detected.
 

Theraze

Active member
Psst. The reason why I give the link when someone posts a new thread for an existing issue is so that it can be merged in. You can see some hint of this in that it still has a title, but is post 34 instead of post 1. </psst>
 

lostcalpolydude

Developer
Staff member
Attaching what I've done so far. I think the work with concoctions is good so far, though probably not complete (I haven't looked at it in several days, so I'm not sure any more). I also did some stuff for coinmasters, starting with trying to successfully purchase trapper items, but that isn't working and I couldn't figure out why.
 

Attachments

  • shopRevamp.patch
    40.6 KB · Views: 28

Veracity

Developer
Staff member
I tried installing your patch to see what was up, but you did not "add" your new file - GrandmaRequest.java - so it fails to compile. Not that I really have time to look at it this weekend. :-/
 
Top