SmartStasis -- a complex script for a simple CCS

Okay! If you have the time you could do either of these things:

1) In the same manner as the switch statement at the top of SS, write a function which returns an advevent of average income for this round by switching on your enthroned familiar. Any of the attributes listed in the advevent type (declared in SS) are important, but you can skip damage for now, since that is less relevant to stasising than the others. Make a comment by any value which may change during combat and thus require detection (for example, after getting an item, the meat value may drop to 0).

At the least, flesh this out as much as you can:

PHP:
advevent enthroned_fam_effects() {
   advevent res;
   if (!have_equipped($item[crown of thrones])) return res;
   switch (to_familiar(my enthroned familiar)) {     // is there a mafia property for this?
      case $familiar[wereturtle]: if (round < 4) res.meat += 10; break;
      case $familiar[]: 
   }
   return res;
}

Or 2) add in-combat ML tracking to mafia. :)
 
Working on number 2 right now... there's a patch in the bug report/feature request section based on that. It should track in-combat weapon ML delevelling. Need to work out the bits on combat items... skills should now properly be tracked (using that) with the monster_level_adjustment. It wasn't passing the fightrequest.levelmodifier back to the level check...

For that matter, it doesn't pass back any of the temporary bits currently. Anything that affects monster base hp or other suchlikes during combat is ignored by everything that matters... at least, as far as I could tell.

Also added in the ability to do attackmodifier and defensemodifier, since some of the ML modifiers only do one or the other. Didn't attach it to anything yet, but it's initialized, checked when the code is examining safe combat and the like, and cleared when the combat finishes.
 
Well, changing MCD settings and/or ML WOULD affect monster base hp, if it were checked again based on current information... Which is why it's good that it checks for the health using its spawned instance.
 
OKay - firstly, I'm unsire if this is SmartStasis or FTF related, posting here first:

When called from the 'script' CaB - I get a string of errors on SmartStasis, each of the following:

Code:
back 40
other back 40
Multiple matches against 0.
back 40
other back 40
Multiple matches against 0.

This before anything happens, then Mafia just sits there, lagging at me like a very sad thing. This is on all recent builds, and I'm just bemused
 
SmartStasis correctly uses identified rave combos to increase item and meat drops, but not to steal items. It does however try to use pickpocket if you get the jump. What would you need to do to get it to:
1) Use pickpocket
2) If it fails use rave steal
3) Whatever else it wants to do

Sincer rave steal is a guaranteed item it is nice to be able to use it. Currently my CCS looks like:
"pickpocket"
combo rave steal
consult smartstasis.ash
attack

which feels suboptimal in some way.
 
Rave Steal is 100% pickpocket rate? Well, this is news to me.

SS calculates the profitability of each disco combo, and casts the most profitable one. Making the chance of getting an (unconditional) drop 100% may increase the chance that Rave Steal is chosen, but it will still depend entirely on the items dropped by the monster. I'll change this and make sure it works before the next update. Rave Steal has been working very well for me, although for castle-farming usually Rave Nirvana is the first combo cast.
 
Rave Steal is 100% pickpocket rate? Well, this is news to me.

From the wiki:
"Can also act as a form of Pickpocket elsewhere, though it doesn't knock loose Pickpocket-only items and only works if the initial Pickpocket was not successful. If the initial pickpocket was not successful and the combo is called, however, it will always dislodge an unconditional item if the monster has any."

Also: I think it interesting that the script values duct tape at 25µ (autosell value) when, at least in aftercore, it feels like it should be worth roughly 2500/4 (lower limit of aduct tape wallet diveded by the amount of duct tape used to make one).
 
Last edited:
Rave Steal is 100% pickpocket rate? Well, this is news to me.

It's really awesome. It's fun doing the DB Nemesis quest in hardcore, just so that I can complete the Orchard with only 1 turn in each zone. Guaranteed 100% chance to get fithworm scent glands!
 
It's really awesome. It's fun doing the DB Nemesis quest in hardcore, just so that I can complete the Orchard with only 1 turn in each zone. Guaranteed 100% chance to get fithworm scent glands!

Heh, I did wonder why the Orchard went by so bloody fast this time around. That does explain it, never thought about it :)
 
This change makes it slightly harder to stasis in early game.

Not really. The seal tooth is the new totem.

It's actually easier to stasis in the early game since you're very likely to be able to get a seal tooth before your first turn, regardless of character class. It'll cost some of my pork gem meat, but it won't cost any turns to get both an accordion and a seal tooth. That makes hardcore easier.
 
Last edited:
Been getting this while running smartstasis: (unable to macrofy due to action: consult SmartStasis.ash)

Sometimes this error kicks me out of a script I'm running. How do I fix it?

I'm running the most current SmartStasis, FTF, and Zlib and running Mafia version r8758.
 
You can't... a consult script breaks the macrofication. But it doesn't abort anything else, it just affects your combat speed. What script are you getting kicked out of that you're thinking SS is to blame for?
 
As Theraze says. That's not an error, it's just information.

Sometimes this error kicks me out of a script I'm running. How do I fix it?

You're being kicked out because of KoL's change to turtle totems. Unfortunately SS still thinks that they are a combat item. Search the script for "turtle totem". Delete that line and it will work again. Hopefully zarqon will update this script soon.

Delete this: if (item_amount($item[turtle totem]) > 0) return $item[turtle totem];
 
Last edited:
Back
Top