Feature Improve auto-Funkslinging in CCS

heeheehee

Developer
Staff member
Well, there are arguments for funkslinging something with a banisher, say, MP/HP restorers (provided that they're the first item used).

There are plenty of other items that could be marked as single (off the top of my head -- raindoh blue balls / indigo cup, big book of pirate insults, meat vortex) -- although something I do wonder: do we reset these flags in cases like Ed-undying (for instance, you can insult the same pirate multiple times)? And in the case of the monster morphing (e.g. CLEESH, tomb rat -> tomb rat king, sleepy/surprised/alert mariachi), I _think_ the flags aren't reset, but I'd have to check that one.
 
I know tomb rat -> tomb king does reset the flags, at least the one on my time-spinner (another one for the single category, and could even be used as second item).

Other secondary item options:
little red book
nasty smelling moss
any of the sixguns
both dictionaries

these except for the dictionaries are also single use, making them maybe not the best choice and the sixguns are an especially weird case.
 

Veracity

Developer
Staff member
I split this off from the "how can I NOT funksling in a CCS or combat filter?" thread. The purpose is to discuss:

1) Which items should be "single"
2) Which should be "solo"
3) How/if we should improve the logic for choosing items to Funksling if the the user doesn't explicitly list two items.

We have two flags in items.txt:

single = use only one of this item in combat, but feel free to funksling something else with it
solo = use only one of this item and don't funksling.

single items:

all bang potions
anti-anti-antidote
odor extractor
Spooky Putty sheet
4-d camera

solo items:

tattered scrap of paper
divine champaign popper

Now, that's not exactly right. It is reasonable to funksling 2 tatters, since if the first one fails, the second might succeed, and if the first one succeeds, you don't lose the second. But, yes - you should not funksling anything along with a banisher.

The selection of items we will funksling with a non-solo item is hardcoded:

toy mercenary
miniborg destroy-o-bot
miniborg laser
miniborg stomper
seal tooth
spices
 
That hardcoded list below is missing the dictionary, facsimile disctionary and sceptre scepter (assuming you want them included, but they seem to fit). The tin snips and the various troll dolls also aren't consumed on use, but I'm not sure if those should be included, since they initiate passive damage that could break plans to stasis later on. (the dictionaries do deal a decent amount of damage against the rolmfao monsters)
The rain-doh black box, ice sculpture and sea lasso also need to be marked as single.

As I mentioned in the previous post, there are a couple of other items now that don't get consumed when used in combat, though those are single use (and should be marked single):
time-spinner
little red book
nasty smelling moss
any of the six-guns (complicated, since this locks out all six-guns not just the one used).
All of these could be tacked on as second item, and would probably be preferable over the items in your post and then ones I listed above, since they come (or can come in the case of the six-guns), with a stagger. (the only reason a stagger would be bad, that I can think if of would be when dragging out the gremlin fight until they show the tool). In general, single use non-consumable combat items are probably stronger than non-consumables that can be used multiple times per combat, for balance reasons. The only possible future exception I can come up with is some sort of bleed effect like the tin snips that scales with number of times used, faster than you might want it

Then, for the logic itself:
0. Ideally, it would take two commands together if they follow each other, that way, you can string out your preferred items and it works whether you can funksling or not, simply taking half the rounds whenever you do happen to have the skill. I don't know how the code evaluates things, so this could get complicated if the two items are part of separate conditionals, and just happen to be used right after each other, though in such cases, bundling them together might not be desired anyway.

When you can't take two user picked items together, there are multiple options:
1. Double up on the item being specified - this would require an accurate list of 'single' items, but even without those breaking things. It could get wasteful: something like crayon shavings might be included in a script just to delevel the monster to get them low enough to hit with autoattacks (something like, attack; repeat !missed 1; use crayon shavings; attack; repeat !missed 1; ). Slinging them twice would be overdoing things, and while you could opt out of that by including a none for the second item, I doubt everyone would know that, and it seems like just the sort of thing that would frustrate a new mafia user. (stupid program wasted all my crayon shaving savings, yadayaya).
2. Combine the item(s) with the single use non-consumables. - This requires keeping track of which have been used already, running through the list. In my opinion this is preferable to the unlimited use items, since their effects are (usually) stronger. However, this also complicates things further down, because these items need to be skipped if they have already been used, even when requested by the user further down.
3. Combine the item with one of the normal non-consumables (toy mercenary - spices, possibly with the inclusion of the dictionary/facsimile dictionary/spectre scepter). - This would need some sort of ordering from most to least desired, however, some people will want something like the miniborgs to be used to help them with the combat, while I would probably prefer the seal tooth, spices or dictionary, since the additional damage might override potential stasis efforts later on. Though really, if we start adding a dictionary, we might as well just use a single item.
4. Simply sling only a single item. - This is already possible by specifically opting out of the second item, but it could be a fairly decent standard behavior.

Option 0 seems like a clear positive, but also one that could get complex. The only thing against it, would be people making a simple listing of items to stall out for a set number of turns, that would be off if/when they get funkslining (or lose it, I guess).
However, I can see arguments for all the options 1-4, none of them are a clear standout. I would prefer 2 before moving onto 3, but I can see people wanting their time-spinner to be used in the spot where they specified, which could get overwritten if this auto-doublinging algorithm picks it up earlier.
 
Last edited:
Top