SmartStasis -- a complex script for a simple CCS

zarqon

Well-known member
SS will only stasis if you are in the clear -- or for certain quest-related monsters (Megalopolis, gremlins, etc). And for these monsters, I'm pretty sure it will break out of stasis if expected_damage() is close to your HP.

Also, there are some undocumented variables toward the top "meatforstasis" "mpforstasis" etc. These indicate the estimated average income needed to justify stasis. So if you don't want to stasis using a mosquito, make sure your "hpforstasis" value is higher than the HP-income value of the mosquito. (Be aware that it may still stasis if the meat value of the mosquito's HP gain is greater than "profitforstasis" -- which changes as different restoratives/skills are available.)

@matiash: Yes, that needs to be looked at. I'm thinking I'll finally have time for some fresh updates to my scripts this month. Woohoo!
 

zarqon

Well-known member
intheclear() is a function in FTF, which I believe is regularly checked in the actual stasis loop itself...? At work now and unable to check, but I'm pretty sure that's it.
 

Bale

Minion
Got it! Thank you. It's interesting how you reference it. Rather different from how I would have thought.

Yes, you definitely only stasis if the character won't get killed.
 

Fluxxdog

Active member
Hmm... found something a little odd. I have a guitar and Elvish Sunglasses. Instead of playing a guitar solo, it goes straight for the facsimile dictionary. Is there a setting I'm missing or is this just not programmed in? Would have thought that would be picked up by FTF.
 

zarqon

Well-known member
FTF and SS, for the most part, don't do anything that isn't 1) profitable, or 2) almost always desirable -- or if so, it's configurable. I leave it to others to add in things that they might want to do which are of varying usefulness, wither in the script or as part of their CCS. In this case, since the meat value of substats is practically arbitrary, I don't feel that the script should always cast this if it's available. I'm willing to hear arguments though.
 

Theraze

Active member
I'd see substats as potentially useful as a statis turn, but useless when actual movement in the script is desired. Basically, don't auto-substat instead of attack, it's not worth the extra half second per fight, but if I'm wasting the turn anyways, may as well get some additional substats.
 

Fluxxdog

Active member
That's what I was thinking, since it was going for stasis. 3 actions do no damage. One delevels, one gives substats, and one stuns for 2 turns. There's also one that deals sleaze damage, that we would want to avoid until at least we're exiting stasis. That one would probably be better for BatMan to deal with.

Edit: Easy enough too, it'd just have to check for the skills, not specific equipment.
 
Last edited:

zarqon

Well-known member
Yes, that's what I meant -- in simpler language: are the substats gained worth more or less than the amount of MP needed to cast the skill? My point is, there's no good way for SS to make that call.

I did write a kind of "substat value" function for an eat/drink rewrite I started, though. It weights the value of stats based on which is your mainstat, which is your attack stat, and which is your defense stat. That means if you're a moxie class with a ranged weapon, moxie will be worth a lot and muscle/myst practically worthless. Likewise if you're a muscle class with Hero holding a shield. Perhaps that function will eventually make its way around my other scripts. Until then, instrumental skills are off in BatMan-land.
 

Fluxxdog

Active member
Hmm... well then how would I go about including them in my own CCS without disrupting SS or FTF functionality? I've tried using little bits of CCS actions before the consult line but it would always cause SS and FTF to skip. For me, if I have an MP familiar (Star Starfish or Cocoabo families), I'm going to be stasising (yes I know that's not a word) my MP back anyway so MP cost isn't that big an issue for me. And considering I love my Stocking Mimic, that'll be almost all the time.

... On a side note, do any of you, when using a Snow Angel, refer to it as "Cryostasis"?
 

Raven434

Member
Will there be support for the 3 gazes via the juju mask in a future release?

Or maybe I have not had enough coffee today and simply cannot figure out how to put the logic together on "if you gain gaze of the lightning god" THEN "open up a can of whoop-ass and use wrath of the lightning god".

--- Updated

Enlightement?

I think I figured out a simple way to do this with macros.

I completely glossed over their introduction with a flippant "Pffffft - .ccs files for non-mafia users. BFD!"

--- Updated

Even more clue gained after looking at the kolmafia wiki and its explanation of CCS examples!
;)
 
Last edited:

Edir

Member
Are people sure that this really works for the Disco bandit nemesis quest?
It seems to ALWAYS use Gothy Handwave there, without waiting for the special messages show up(and remember, using the handwave unsuccessefuly once means it cannot be used properly again, even if the enemy does its special move)... Of course, I might have been doing it wrong, say didnt' setup it properly. Still, the script is very useful otherwise.
 

zarqon

Well-known member
Edir, this is a known problem and will be addressed in the next update. At the time of writing I was under the impression that you needed to stasis until the special message was encountered. Since it's only a one-time thing, waving for learning DB skills will probably be moved to FTF.
 

Bale

Minion
At the time of writing I was under the impression that you needed to stasis until the special message was encountered.

You do need to stasis until the correct attack is used. Once you use Gothy Handwave once in a fight it will only work once, so you have to save it for the right moment.
 

Theraze

Active member
One change I've made to SS recently was setting the statis turn count from 26 down to 20. This makes me fail much less often when it's actually trying to use the mosquito for health... at least I get 10 rounds of melee instead of 4. Should this maybe be a configurable option...? Not 20/26, but an int you can set for how many rounds you will spend in stasis max.
 

Edir

Member
Also, shouldn't the hipster be added to the 'familiars you can stasis with' list? Yes, it tends to overkill enemies, but you can still get some meat/HP/MP before that with some luck.
 

zarqon

Well-known member
This script has been in need of an update for a while. It's next on the list, after BBB, which will be done quite soon.

The reason this hasn't already been updated yet is the stupid Crown. That will take some time to add in.
 

Theraze

Active member
Well, I'm trying to do work to help you be able to move on with BatMan. :D If you have specific BatMan ML requests, let me know. :)
 
Top