New Content Crimbo 2021

Malibu Stacey

Active member
Items from the advent calendar

Code:
--------------------
10806    bread man    340392384    breadman.gif    food    t    0
bread man    1    1    crappy    0    0    0    0    Unspaded
# Item bread man
--------------------
--------------------
10807    plain candy cane    694467495    candychalk.gif    food    t    0
plain candy cane    1    1    crappy    0    0    0    0    Unspaded
# Item plain candy cane
--------------------
--------------------
10805    eggwater    957157057    emptycup.gif    food    t    0
eggwater    1    1    crappy    0    0    0    0    Unspaded
# Item eggwater
--------------------
 

gausie

D̰͕̝͚̤̥̙̐̇̑͗̒e͍͔͎͈͔ͥ̉̔̅́̈l̠̪̜͓̲ͧ̍̈́͛v̻̾ͤe͗̃ͥ̐̊ͬp̔͒ͪ
Staff member
Now we are using GitHub, these pastes are much better suited to just going straight is as PRs. You can just press . on a repo page and it'll throw you into VSCode to do some editing, if you don't want to edit locally
 

fronobulax

Developer
Staff member
Now we are using GitHub, these pastes are much better suited to just going straight is as PRs. You can just press . on a repo page and it'll throw you into VSCode to do some editing, if you don't want to edit locally

I got tired of waiting.

r25974?
 

taltamir

Member
Now we are using GitHub, these pastes are much better suited to just going straight is as PRs. You can just press . on a repo page and it'll throw you into VSCode to do some editing, if you don't want to edit locally
So I used your PR here as a guideline
and then tried it.

The github web editor was inconvenient and didn't even work at first because it wouldn't let me create a new branch. Instead it wanted me to commit the changes directly to one of the pre-existing branches on mafia's official repo.
I had to just give it up and start over.

When starting over, I had to go to my fork, rebase it via command line (because for some reason it only lets me merge mafia main into my main via gui and not rebase my fork's main off of manfia's main). make a new branch off of main.
Then I could finally go use the github webgui editor to make edits online
all in all it was less convenient than just doing everything locally. so I shant be doing it again.

anyways I went ahead and made a PR for something new
Code:
--------------------
10847 raisin meringue pizza 268310979 pizza.gif food q,d 11
raisin meringue pizza 3 1 EPIC 0 0 0 0 Unspaded
Item raisin meringue pizza Effect: "Preemptive Medicine", Effect Duration: 13
--------------------
I got it in the food lab using 5 gooified... I don't remember actually. maybe animal maybe vegetable, maybe something else. is there something else?

edit: I closed this PR. this specific item apparently randomly generates different items with the same ID. which is too complicated for me to implement right now so I will leave it for someone more experienced to do.
 
Last edited:

Crowther

Active member
A warning, if you have the Crimbo tree in a tab it will keep refreshing even after you log out, log in and start another relay browser section, then the old tab will connect to your new KoLmafia instance using the wrong password hash. This leads to lots of confusing error messages in your gCLI. Yes, a silly thing to do, but I doubt I'll be the only one.
 

Veracity

Developer
Staff member
Whoah. The Gift Lab is a choice adventure which can give different kinds of objects from the same choice option.
I supplied spoilers - for the objects I got on my first try - but we don't support this, yet.
 

Veracity

Developer
Staff member
There appear to be 3 different items that each combo of animal/vegetable/mineral can grant - including 2 familiars and a skill book. I have a push request in with all of the items (some of which I discovered in the mall) and with the choice spoiler working as desired in the Gift Lab.
 

Veracity

Developer
Staff member
Here's a completely trivial script to show you how many of each toy you have in inventory:

Code:
record crimbo_toy
{
    string combo;
    boolean[item] items;
};

crimbo_toy[] toys = {
    new crimbo_toy( "animal (30)", $items[ fleshy putty, third ear, festive egg sac ] ),
    new crimbo_toy( "vegetable (30)", $items[ poisonsettia, peppermint-scented socks, the Crymbich Manuscript ] ),
    new crimbo_toy( "mineral (30)", $items[ projectile chemistry set, depleted Crimbonium football helmet, synthetic rock ]),
    new crimbo_toy( "animal (15) + vegetable (15)", $items[ "caramel" orange, self-repairing earmuffs, carnivorous potted plant ]),
    new crimbo_toy( "vegetable (15) + mineral (15)", $items[ universal biscuit, yule hatchet, potato alarm clock ] ),
    new crimbo_toy( "animal (15) + mineral (15)", $items[ lab-grown meat, golden fleece, boxed gumball machine ] ),
    new crimbo_toy( "animal (10) + vegetable (10) + mineral (10)", $items[ cloning kit, electric pants, can of mixed everything ] ),
 };

foreach i, toy in toys {
    print( toy.combo + ":" );
    foreach it in toy.items {
    print( it + " (" + item_amount( it ) + ")" );
    }
    print();
}

So, for me, today - before I run turns and collect more gooified stuff - I have this:

Code:
> crimbo21-toys

animal (30):
fleshy putty (20)
third ear (0)
festive egg sac (1)

vegetable (30):
poisonsettia (11)
peppermint-scented socks (3)
the Crymbich Manuscript (1)

mineral (30):
projectile chemistry set (4)
depleted Crimbonium football helmet (1)
synthetic rock (2)

animal (15) + vegetable (15):
"caramel" orange (12)
self-repairing earmuffs (0)
carnivorous potted plant (1)

vegetable (15) + mineral (15):
universal biscuit (18)
yule hatchet (6)
potato alarm clock (1)

animal (15) + mineral (15):
lab-grown meat (8)
golden fleece (1)
boxed gumball machine (1)

animal (10) + vegetable (10) + mineral (10):
cloning kit (1)
electric pants (1)
can of mixed everything (1)

I see that I need a third eye, self-repairing earmuffs, another festive egg sac, another copy of the Crymich Manuscript, and another boxed gumball machine - assuming I want a "display" item of each of the bind-on-use items.

I'm not going to maintain or enhance this script; it's just a little utility that you can use if you find it useful.
 
Last edited:

Veracity

Developer
Staff member
I take it back. Here is an augmented version which checks for the "bound" items and "grown" familiars. This will not work until my PR with the new items is accepted.

Code:
record crimbo_toy
{
    string combo;
    boolean[item] items;
    familiar fam;
};

familiar NO_FAMILIAR = $familiar[none];

crimbo_toy[] toys = {
    new crimbo_toy( "animal (30)", $items[ fleshy putty, third ear, festive egg sac ], $familiar[ Arachnelf ] ),
    new crimbo_toy( "vegetable (30)", $items[ poisonsettia, peppermint-scented socks, the Crymbich Manuscript, the Crymbich Manuscript (used) ], NO_FAMILIAR ),
    new crimbo_toy( "mineral (30)", $items[ projectile chemistry set, depleted Crimbonium football helmet, synthetic rock ], $familiar[ Synthetic Rock ]  ),
    new crimbo_toy( "animal (15) + vegetable (15)", $items[ "caramel" orange, self-repairing earmuffs, carnivorous potted plant ], NO_FAMILIAR ),
    new crimbo_toy( "vegetable (15) + mineral (15)", $items[ universal biscuit, yule hatchet, potato alarm clock ], NO_FAMILIAR ),
    new crimbo_toy( "animal (15) + mineral (15)", $items[ lab-grown meat, golden fleece, boxed gumball machine, meatball machine ], NO_FAMILIAR ),
    new crimbo_toy( "animal (10) + vegetable (10) + mineral (10)", $items[ cloning kit, electric pants, can of mixed everything ], NO_FAMILIAR ),
 };

foreach i, toy in toys {
    print( toy.combo + ":" );
    foreach it in toy.items {
    print( it + " (" + item_amount( it ) + ")" );
    }
    if ( toy.fam != NO_FAMILIAR ) {
    print( "have_familiar( " + toy.fam.to_string() + " ) = " + have_familiar( toy.fam ) );
    }
    print();
}

Yields, for me, having run my turns (and spent a few million meat on gooified stuff):

Code:
> crimbo21-toys

animal (30):
fleshy putty (25)
third ear (1)
festive egg sac (1)
have_familiar( Arachnelf ) = true

vegetable (30):
poisonsettia (11)
peppermint-scented socks (3)
the Crymbich Manuscript (1)
the Crymbich Manuscript (used) (1)

mineral (30):
projectile chemistry set (4)
depleted Crimbonium football helmet (1)
synthetic rock (1)
have_familiar( Synthetic Rock ) = true

animal (15) + vegetable (15):
"caramel" orange (13)
self-repairing earmuffs (1)
carnivorous potted plant (1)

vegetable (15) + mineral (15):
universal biscuit (18)
yule hatchet (6)
potato alarm clock (1)

animal (15) + mineral (15):
lab-grown meat (30)
golden fleece (4)
boxed gumball machine (1)
meatball machine (1)

animal (10) + vegetable (10) + mineral (10):
cloning kit (1)
electric pants (1)
can of mixed everything (1)

I don't actually have to farm more gooified stuff, given what we know so far, unless I want "extras" for my Hatrack and Pantsrack - which I haven't used for many years - or Left-Hand man. (What would happen with two carnivorous potted plants equipped?)
 
Last edited:
Top