SmartStasis -- a complex script for a simple CCS

zarqon

Well-known member
Oh, no, that's a BatBrain problem -- but I only have 5 minutes of internet left tonight (between houses, long story). I'll update BatBrain and hope it doesn't break SS.
 
Another issue where I'm not sure if I'm seeing a mafia problem or a batbrain problem. I was adventuring outside the club with the goal of 1 rave visor, 1 pacifier necklace, 1 teddy bear backpack, etc. selected and it went through upwards of 50 turns without rave stealing.
 

slyz

Developer
Comment line 333 of SmartishStasis.ash
PHP:
if (!is_displayable(rec.drop)) continue;
SishS decides not to try to steal quest items marked as conditional by Mafia, which is causing this.

Or rather: add "combo rave steal" before SS to the [ Outside the Club ] part of your CCS, since this is a special case, and so you don't have to hunt down that line each time you're doing the nemesis quest.
 
Last edited:

Ruduen

New member
Just a quick suggestion now, but since you no longer need the jump in order to summon pastamancer ghosts, wouldn't it be better to drop it after noodles in the FTF script, rather than risk taking the hit anymore?
 

zarqon

Well-known member
All of the FTF stuff is going to get completely refactored into SS. There are three categories of actions:

1) Jump actions, done immediately. So far this includes both stealing and insta-kills/driveoffs -- such as Grin/Stinkeye, phylactery, cocktail napkin, and handling GMoB/Cyrus. It doesn't really even need to load any of the data files and such for this.

2) Unprofitable must-do-sometime actions which would otherwise never be selected. So far this includes summoning your ghost, flyering, olfacting, puttying, insulting, ID-ing spheres and bangs, and POSSIBLY summoning a hobo and asking him to dance.

3) Regular combat actions (skills/items/jiggle/attack).

In SS, the function meant to be included in other consult scripts will first execute all category 1 actions, then build a separate list of all category 2 actions, but not execute them. It will always prefer category 2 actions in stasis, and in main() it will execute any remaining category 2 actions. This means that when SS is imported rather than consulted, it will only execute category 2 actions if it stasises. This is so that scripts which import SS will be able to choose where to insert category 2 items into the action tree.

There should probably also be some handling for automatically inserting category 2 items prior to doing anything which kills the monster.

Updates to BatBrain

I wrote a little utility yesterday to tell me which combat skills were not in the data file -- there were roughly 75 missing. Then I added as many as I could. As of right now, BatBrain includes every combat skill it's possible to include without major code modification. I even added support for Opening the Bag o' Tricks and Pointing at Your Opponent!

And of course, there have been some other bugfixes and enhancements, among them handling for long combats and support for Consume Burrowgrub. Enjoy.
 

lostcalpolydude

Developer
Staff member
It can be useful to wait to use Creepy Grin/stinkeye. For example, just about everyone with a vivala mask should also have a crown of thrones, and if you're banishing a monster then you should use the crown to get MP or item(s) first.
 

zarqon

Well-known member
Good point. Looks like stealing and otherwise-unbeatable bosses are the only category 1 actions.
 

shazbot

Member
I'm using the new SmartishStasis, but I don't think it's acting smart for the seal clubbing nemesis quest. For seal pups it should delay until the seal pup calls for it's mother before it exits the function.
 

Bale

Minion
I'd suggest that you re-consider using Smartish Stasis for seals. Sure you want the first one to call for its mother, but do you want the second AND the third AND the fourth AND the fifth... pretty soon the mama's will destroy you unless you're a VERY high level or very potioned. I'd suggest you adjust the anger level of seal pups very carefully.
 

zarqon

Well-known member
That's an entirely different kind of stasis altogether.

(Everyone: "That's an entirely different kind of stasis.")

EDIT: Just spun another update to BatBrain. I fixed Point at Your Opponent (it wasn't detecting the active eye since I'd forgotten I stripped the page down to just the skills list in build_skills()), and all the melee-ish skills should now be properly accounted for (both damage at hit chance):

  • All TT skills and combos
  • Moxman
  • SC Smack skills
  • Turtle of Seven Tails
  • Smashing Bash Smash Bash or whatever it's called
 
Last edited:

StDoodle

Minion
That particular error sounds like the FVAR["regular"] isn't being set... dunno how it would happen, but that's the "what" at least. ;) Does it get skipped in birdform or something like that? Did the "regular attack = regular" get changed in batfactors?
 

zarqon

Well-known member
"regular" is no longer in fvars. It's now a flag in the special field, indicating special handling to the script. However, both BatBrain and batfactors were updated. Try deleting batfactors.txt and running it again.
 

Theraze

Active member
That character doesn't have much in the melee skills family, being a pastamancer currently without too much permed...
Skills:
(click the skill name for a description)
Liver of Steel
Torso Awaregness (HP)
CLEESH
Tongue of the Walrus (HP)
Pulverize (HP)
Amphibian Sympathy (HP)
Manicotti Meditation
Spaghetti Spear
Saucy Salve (HP)
Mad Looting Skillz (HP)
Advanced Cocktailcrafting (HP)
The Ode to Booze (HP)
(HP) = Hardcore Permanent skill

Deleted batfactors and I'll see if that fixes it. :)

Edit: Nope... still failing. Any chance it's this one?
skill 2107 Head + Knee + Shield Combo regular+0.15*(helmetpower+pantspower+shieldpower) physical stun 0.45, att -5, regular
It has 'regular' in what looks to be the evaluation section... Also similar, moxious maneuver and summer siesta, though they're each a bit different.
skill 7008 Moxious Maneuver regular physical regular
and
skill 7062 Summer Siesta regular physical !!!instant crit

Edit2: Here's an example of it happening in an autoadventured fight.
Code:
[530] Cobb's Knob Treasury
Encounter: Knob Goblin Accountant
Strategy: C:\Program Files (x86)\KoLMafia\ccs\default.ccs [default]
Round 0: Theraze wins initiative!
[COLOR=green]Monster value: 195[/COLOR]
Profit per round: Action Profit Damage Other
 base, Whirling Maple Leaf [SIZE=2](0μ)[/SIZE] [B]-1.66μ[/B] -- 
Evaluator syntax error: can't understand regular
Round 1: Theraze tries to steal an item!
 
Last edited:

mredge73

Member
I switched over to Smartish Status today for the first time:

Evaluator syntax error: can't understand buffedmyst
 
Top