loathers / freecandydotexe

A trick-or-treating script for the 2003 browser-based RPG Kingdom of Loathing.
Apache License 2.0
6 stars 9 forks source link

Donʼt assume Pantsgiving food are best option #48

Closed dhouck closed 5 months ago

dhouck commented 5 months ago

Currently, if Pantsgiving is used, then freecandy.exe will eat Pantsgiving foods to fill up: https://github.com/loathers/freecandydotexe/blob/58d604494f8b9bf8f26ff5ec03a125c12a1a24d6/src/regularTasks.ts#L197-L210 However, thereʼs no reason to assume that the Pantsgiving foods are the best option; any size-one food will work (or possibly more, with eg. distention pills).

If I could assume arbitrary dependencies Iʼd replace it with a call to soolar/CONSUME.ash (which is what Iʼve done for myself), but it would be weird to make that a dependency here. Instead I propose making a preference, either to disable auto-eating with pantsgiving (so people can manually eat instead) or for manually overriding what to eat. Then I could set freecandy_pantsgiving=Pete's rich ricotta and it would eat that, and other users who had other things to eat could use those options, while the current behavior could still be the default.

gausie commented 5 months ago

You have misunderstood the code. Read what that function does here: https://github.com/loathers/freecandydotexe/blob/58d604494f8b9bf8f26ff5ec03a125c12a1a24d6/src/resources/pantsgiving.ts

dhouck commented 5 months ago

I see I did misunderstand, but as there are plenty of valid options not in that list, the main point of this PR still stands. Either there should be an override option, or pantsgivingFoods should include all mall-obtainable size-one foods, or both.