New Content - Implemented September IotM - bagged Cargo Cultist Shorts

Veracity

Developer
Staff member
It always loads the property.
The command checks if they are “accessible” - in a place that “acquire” can find them.
The request will do “acquire”, unless you have them equipped.

You need the shorts equipped or in inventory to use. The request ensures that and the command ensures the request will succeed.

If they are in your display case, as always, it is up to you to put them in inventory in order to use them.
 

Veracity

Developer
Staff member
Revision 20357 adds Yeg's Motel slippers.

They are quest items which last until rollover, so you won't find them in the mall.
I didn't particularly want to spend today's pocket pick on this, but, it's the last missing item.

I think we have all the Cargo Cultist Shorts items and effects now

I wonder what effect 2593 is.
 

fronobulax

Developer
Staff member
OK. I was perhaps too literally focused on "on login" and confirming that the right things happened if the pants were available after login but not during. The answer is yes.
 

Veracity

Developer
Staff member
The spreadsheet has a handy table listing 27 pockets that lead to free fights with monsters.
Revision 20360 will perform HP/MP recovery before picking one of those pockets (just as we do for cheating Deck cards that lead to fights).

I have a hard-coded map with those pockets (and the monster name it leads to), for now.
I'd like the Cargo Cultist Shorts pocket database to be able to tell me that. Eventually. :)
 

Veracity

Developer
Staff member
Looking at the spreadsheet, there is a puzzle being spaded.

This pocket contains a waterlogged scrap of paper that reads: <b>QDL XLR KVSJGGJV QRGL</b>

45
82
108
153
181
245
246
330
375
405
444
457
502
520
531
540
561
623
628
632
640
658

This pocket contains a scrap of paper that reads: <b>XTNQ: Ga</b>

7
172
222
251
282
373
602

Apparently, the messages are player-specific and change on ascension.

I'm thinking of adding a couple more per-ascension properties to hold the messages for waterlogged and non-waterlogged pockets.
Or maybe 29 properties, each of which holds 1. :)

A simple matter of coding in CargoCultistShortsRequest.parsePocketPick.
Just need to figure out whether to have 2 properties (and format) or 29 properties (trivial format; simply the bolded message).
 

Veracity

Developer
Staff member
Revision 20365 add two properties:

cargoPocketScraps
cargoPocketWaterloggedScraps

Each contains a list of pockets (in the order you picked them) of the form <POCKET>:<MESSAGE>, separated by "|".
Note that the MESSAGE can contain spaces, commas, or colons.

Untested. I have a series of ascensions planned out to collect desk bells and chess pieces - and to get a few more Yeg Motel fursnishings, this run, so I can check some plurals.

If anybody plans to pick a pocket with a scrap of paper in it, can you get a DEBUG log and tell me how the properties worked out for you, please?
Thanks.
 
All three puzzles have been solved by now, the info can be found in the respective sheets on the spreadsheet.
The waterlogged one and the meat wrapped crossword clues are static and the same for everyone, so you might not even need to log those. (But it would help anyone trying to solve it alone.)

The 7 'regular' scraps do require logging though, since those change per player and per ascension, so if even you know how it works, having mafia keep track for you is nice.
 

Veracity

Developer
Staff member
Ah. So the waterlogged scraps are a poem and the non-waterlogged scraps are a demon name?
OK. I will stop saving the waterlogged scraps in a property.

You look at the scraps in order 373, 222, 7, 602, 172, 251, 282, replace "_" with " ", and use in the Summoning Chamber, to get Yeg's Power.

Does KoL remember that as a demon name? Presumably not, since it changes per-ascension.
Perhaps auto-constructing the demon name and saving it in demonName13 - which will clear on ascension, unlike other demon names - and adding it to KoLAdventure.DEMON_TYPES would be the trick.

Looking at SummoningChamberRequest, I see code there to construct and save the Intergnat demon name - which is also cleared when you ascend.
Cool. I'll add similar functionality for Yeg.
 

Veracity

Developer
Staff member
Revision 20366 does that:

- Log but don't save waterlogged scraps of paper
- Save, as before, non-waterlogged scraps.
- Once you have all 7 scraps, construct demon name in demon13 property, which clears on ascension.

Now I just need the descid for the Yeg's Power effect, and we can add the effect, available via "summon 13"
 

Veracity

Developer
Staff member
Revision 20367 adds Yeg's Power, thanks to Lacey Jones.

I just maximized for "Maximum HP" and the maximizer showed me - greyed out - "summon 13" as a way to get +666 HP.

No gaps in statuseffects.txt
No gaps in the cargo items block in items.txt - although there is Universal Seasoning/<gap>/flame orb/chocolate chip muffin. I don't expect that to be a cargo item, although it could be.

Infrastructure "to be done":

1) Plurals for Yeg's Motel mouthwash and Yeg's Motel toothbrush. Probably something like "bottles of" and "es", but I'll test over the next couple of days, unless somebody tests sooner and reports back here.

2) The code for logging scraps and auto-generationg demonName13 from the 7 scraps of paper is untested.

3) It is unnecessary, since the puzzle is solved, but I'd like to log the "note" text for the Meat-wrapped pockets.

4) Scale factors and item drops for the desk bell monsters. I'll get these when I ascend and get more desk bells.

I think anything else depends on finishing lost's cultshorts.txt and loading it into a cargo pocket database of some sort.
- souping up the "cargo" command
- adding appropriate "cargo" commands to the new effects in statuseffects.txt
- supporting "cargo" in the Maximizer
- removing "temporary" code from the Request class in favor of using the pockets database
 

Veracity

Developer
Staff member
Revision 20389 fills out cultshorts.txt to have all 666 pockets.

I discovered the bugbear-in-the box while I was doing that, before I (just now) read you helpful comment. :)

This is raw data and undoubtedly has some typos in it, which I will discover and fix when I write a module to parse this data file.

There are also some (possible) data errors in the spreadsheet:

Code:
159	Effect	Ocelot Eyes (0)
165	Item	line	star (3)
166	Item	line	star (3)
270	Effect	Very Clean Teeth (90)
509	Effect	Jittery (90)
578	Candy	chocolate filthy lucre
591	Candy	chocolate filthy lucre
647	Effect	Cold, Dead Hands (0)
- Those are the only 2 effects that grant more than 80 turns of an effect.
- That is the only candy that appears twice
- Somebody didn't put in effect durations for two effects
- I find it odd that two adjacent pockets give exactly the same line.star drops

Here is how I tagged the various kinds of result:

Code:
# Stats	MUSCLE	MYSTICALITY	MOXIE
# Effect	EFFECT (DURATION)	EFFECT (DURATION)...
# Buff	EFFECT (DURATION)
# Drugs	EFFECT (DURATION)
# Lozenge	EFFECT (DURATION)
# Joke 	JOKE    (implies Joke-Mad (20)
# Item	ITEM	ITEM...
# Avatar	ITEM
# Bell	ITEM
# Booze	ITEM
# Candy	ITEM
# Chess	ITEM
# Chocolate	ITEM
# Currency	ITEM
# Fruit	ITEM
# Oyster ITEM
# Pixel	Item
# Yeg	Item
# Scrap	NUMBER	(demon name puzzle)
# Poem	MESSAGE	(waterlogged poem)
# Meat	MEAT	CLUE	(meat-wrapped puzzle)
A Buff is 20 turns of an Accordion Thief buff
Drugs give you 40 turns of The (Wisdom, Style, Strength) ... of the Future, as opposed to numerous Effect resuts that give 20 turns of one of those and also some other effect.
Lozenge gives you 40 turns of The Halls of (Muscularity, Mysticality, Moxiousness, as opposed to numerous Effects that gove 20 turns and also some other effect.
Currency is an item you can "use" to get Meat
Chocolate is one of the chocolate-covered tools. The game says "oh, candy" when you open the pocket - but they are special

Lots of effects have a single source with that effect alone and mutiple sources with that effect and another one. The single effect always has a longer duration.

I don't know where this is all going, but this is all the useful data, to my eye, from the spreadsheet.
 

Veracity

Developer
Staff member
Aenimus said:
As some folks pointed out (thank you) pockets 97, 165, 166, 345, 442 and 664 were yielding incorrect rewards. These should now be fixed and match what you'd expect from their respective flavour texts
I called 165 and 166, without even ooking at the flavor texts, although they do point to an issue.

I will create "Unknown" as a tag and mark all 6 of those with that. I'm working on my Demon Name, to make sure all is peachy with detecting that, but I would not be surprised if 6 other spaders with nothing better to do figured out the problems today.
 

Veracity

Developer
Staff member
Thanks!

I had been wondering why 4 of the Elemental Resistance buffs had 11 instances but 1 had only 10.
That fixes the extra chocolate filthy lucre

I updated a lot of things from the Wiki page.

I like some of the Wiki categories.

I got rid of Pixel, because who cares?

But perhaps Contacts, Chips, Needles, Gum, Toothpaste, Elemental
And perhaps my Candy should be Potion and I can adopt Candy as a subcategory of Effect

I like having Fruit separate from Food (which I don't have), since they tend to be mixing ingredients, rather than something to eat, in my opinion.

The Wiki has fruitfilm under Other Items, rather than Potions. Tht is incorrect.
 

Veracity

Developer
Staff member
Revision 20391 whacks the effects, inspired by the Wiki

Code:
# Stats		MUSCLE	MYSTICALITY	MOXIE
#
# Monster	MONSTER
#
# Effect	EFFECT (DURATION)
#
# Buff		EFFECT (DURATION)
# Element	EFFECT (DURATION)
# Joke	 	JOKE    (implies Joke-Mad (20))
#
# Candy1	EFFECT (DURATION)
# Candy2	EFFECT (DURATION)
# Chips1	EFFECT (DURATION)
# Gum1		EFFECT (DURATION)
# Lens1		EFFECT (DURATION)
# Needle1	EFFECT (DURATION)
# Teeth1	EFFECT (DURATION)
#
# Candy		EFFECT (DURATION)	EFFECT (DURATION)
# Chips		EFFECT (DURATION)	EFFECT (DURATION)
# Gum		EFFECT (DURATION)	EFFECT (DURATION)
# Lens		EFFECT (DURATION)	EFFECT (DURATION)
# Needle	EFFECT (DURATION)	EFFECT (DURATION)
# Teeth		EFFECT (DURATION)	EFFECT (DURATION)
#
# Item		ITEM	[ITEM]
#
# Avatar	ITEM
# Bell		ITEM
# Booze		ITEM
# Cash		ITEM
# Chess		ITEM
# Choco		ITEM
# Food		ITEM
# Fruit 	ITEM
# Oyster	ITEM
# Potion	ITEM
# Yeg		ITEM
#
# Scrap		NUMBER	(demon name puzzle)
# Poem		MESSAGE	(waterlogged poem)
# Meat		MEAT	CLUE	(meat-wrapped puzzle)
#
# Unknown
1) I shortened categories to 7 charac ters or lesss, so the data file is prettier. :)
2) Every "Effect" is a single effect
3) Effect Groups can either give 1 Effect from the Group or any combination of 2 effects from the group
4) Candy is different: one from column1, one from column2, or one from column1 and one from column2. Hence Candy1, Candy2, and Candy
5) I renamed Currency to be Cash (shortening name...)
6) The previous Candy is now Potion
7) I kept Choco and Fruit, which the Wiki does not have, because I think those are useful

I have not written the module to parse this into data structure yet, so there could still be typos, although I fixed many in this commit.
 

Veracity

Developer
Staff member
Revision 20393 parses cultshorts.txt into Pocket objects.

I have a map from pocket # to Pocket.

cargo pocket XXX

Will query that and tell you what is in a given pocket.

When it loads the PocketDatabase, it will print out how many pockets it loaded and how many pockets go into each category. For now, I have a map for each category. That may or may not be useful, but it is the size of each map that it prints out.

That's for debugging. I expect I will remove the printing soon.

I expect different or additional data structures will need to be created at data load time, depending on what the cargo command eventually ends up needing.
 

Veracity

Developer
Staff member
Among other things, revision 20395 lets you use "cargo pocket NNN" when not logged in, in order to look at the PocketDatabase, which does not require that you actually own the shorts or send requests to KoL.

Code:
[color=green]> cargo pocket 220[/color]

Pocket 647 has effect duration 0: Cold, Dead Hands (0)
Pockets loaded: 666
Pocket #220 contains a lobsterfrogman

[color=green]> cargo pocket 647[/color]

Pocket #647 contains an effect: Cold, Dead Hands (0)

[color=green]> cargo pocket 245[/color]

Pocket #245 contains an encrypted line of a poem: VJ CMOL SOJA SRALC MQX VRGL

[color=green]> cargo pocket 7[/color]

Pocket #7 contains part #3 of a demon name
 

Veracity

Developer
Staff member
Revision 20396 has a few tweaks:

- the spreadsheet has updated two of the "unknown" pockets
- print "Unknown" pockets when loading pocket data
- there is at least one ambiguous effect. Include the effectId, as usual, when printing the name
- more descriptive logging of effect "types", as appropriate.

Code:
[color=green]> cargo pocket 236[/color]

Pocket 97 is unknown
Pocket 345 is unknown
Pocket 442 is unknown
Pocket 647 has effect duration 0: Cold, Dead Hands (0)
Pocket 664 is unknown
Pockets loaded: 666
Pocket #236 contains an effect: [800]Chocolate Reign (80)

[color=green]> cargo pocket 242[/color]

Pocket #242 contains an accordion buff: Ode to Booze (20)

[color=green]> cargo pocket 401[/color]

Pocket #401 contains 2 potato chip effects: Radium Radicality (20) and Also Schmeckt Zarathustra (20)
 
Top