First Things First -- a multipurpose pre-combat consult script

Status
Not open for further replies.
The dictionary will be removed from FTF with the advent of BatMan, since location sensitivity is part of the damage formula for dictionaries.

But... but it was just a week ago that I finally noticed the code for FTF to automatically do that to chasm monsters! ;) Eager to see BatMan.
 
Hey there,

I'm trying to use the Wossname script and when I start it and hit a combat adventure, this shows up in CLI:
Unknown variable 'threshold' (FirstThingsFirst.ash, line 80)
Consult script 'FirstThingsFirst.ash' not found.
You're on your own, partner.

I have FTF in the same folder as Wossname. Actually, I tried using other scripts, but can't get anything to work now. Clearly, I know nothing about scripting. And have something set wrong in FTF??

Here is the CCS script:
[ battlefield (frat uniform) ]
1: consult MrEdge73's CCS-- FarmingHippyHeros.ash
2: consult FirstThingsFirst.ash
3: attack with weapon

[ battlefield (hippy uniform) ]
1: consult MrEdge73's CCS-- FarmingFratHeros.ash
2: consult FirstThingsFirst.ash
3: attack with weapon

[ default ]
1: consult FirstThingsFirst.ash
2: attack with weapon

[ gremlin ]
1: consult SmartStasis.ash
2: attack with weapon

Thanks for the help,
 
Hi there! I've been running this script, and SmartStasis with some success - thanks for them! However, I seem to be having a problem with using olfaction in the script.

For instance, right now I have ftf_olfact set to "zombie waltzers", and a CCS that looks like this:

[zombie waltzers]
1: Consult FirstThingsFirst.ash
2: attack with weapon

But when I encounter zombie waltzers, I simply pick-pocket, then attack. Is there another setting I need to fiddle with? Thanks in advance :-)
 
Make sure you have enough MP (set your restore options appropriately), since FTF will not restore MP to cast skills during combat. This is by design, since it encourages people to pay attention to their restore settings.

If that wasn't the problem, let me know.
 
Make sure you have enough MP (set your restore options appropriately), since FTF will not restore MP to cast skills during combat. This is by design, since it encourages people to pay attention to their restore settings.
Bah. My work around to that problem is to put a line in my mood:

When effect is lost: On the Trail
ash restore_mp(40)

:p
 
Code:
> monsteref zombie waltzers

Some Zombie Waltzers
I guess you should put some zombie waltzers in ftf_olfact, FTF won't match Zombie Waltzers with that, this is how it checks if the monster you are fighting is in your ftf_olfact:
Code:
contains_text(vars["ftf_olfact"],to_lower_case(nowfightingonstageone.to_string()))
It could match a shorter name, but it would involve breaking your ftf_olfact string into a map of monsters, and checking them all.

For future adding of monsters in ftf_olfact, check the name with the monsteref alias:
Code:
alias monsteref => ashq foreach m in $monsters[] if(m.to_lower_case().contains_text($string[%%].to_lower_case())) print(m)
 
Last edited:
Make sure you have enough MP (set your restore options appropriately), since FTF will not restore MP to cast skills during combat. This is by design, since it encourages people to pay attention to their restore settings.

If that wasn't the problem, let me know.

Thanks for the quick reply!

I had my restore settings set so I always had at least 55 mp going into the combat, enough for olfaction and "disco inferno". (Today, I will download a newer build, and incorporate the new combos as well!) But, I think slyz is right about the name problem. I opened the script, and looked at the default setting for ftf_olfact, which included the phrase "some zombie waltzers". So, I'll change it to that, and see if it works.
 
@Bale: ooh, nice workaround. But in the future, it won't help scripts that try to do in-combat restoring according to your settings, in the event that there's a better option in-combat than UR can provide. Just so you know. :)

@Mixie: I'm pretty sure slyz nailed the problem. The name changed a while back, and I changed the default value accordingly, but if you still have the older value in your ftf_olfact setting, it won't work. When you fix it, make sure everything is lowercase.
 
@Bale: ooh, nice workaround. But in the future, it won't help scripts that try to do in-combat restoring according to your settings, in the event that there's a better option in-combat than UR can provide. Just so you know. :)
Y'know... a better solution might be for UR to check if (get_property(autoOlfact) != "" && max_mp() >= 40) and if so, then restore 40MP even if MP restoration is set lower in heal settings... After all, someone wouldn't set autoOlfact unless they wanted to have 40MP minimum at the beginning of a fight...

Your point is still valid, but there are comparatively limited options in combat. Perhaps I'll change my mind once I see how BatMan restores. Perhaps at that point, UR's best option would be to buy goodies for BatMan to use.
 
Last edited:
I put action to word.

Now, if the user has auto-Olfaction on, my Universal_recovery script will ensure that the player starts combat with enough MP to use olfaction.

I'll remove/change that once BatMan is capable of restoring MP. If you want BatMan to take over restoring MP, let me know how UR can recognize that BatMan has the stuff to do a better job of it than UR can. Perhaps there can be a property that we both recognize like _meatperhp. Heck, my script can even purchase seltzer for BatMan's use if it believes it will need some. Let's help our scripts to play well together.

UR still won't recognize ftf's list of automatic olfaction targets. I fear that would be a bit much. Anyway, I really only use auto-Olfaction myself.
 
Last edited:
Excellent!

I don't think UR needs further tweaking to play well with BatMan. If BatMan sees that you need restoration and the available option gets better value than UR does (looking at those _meatper properties), it can do so. The fact that costs are calculated using UR's values automatically means that superior in-combat restore options are seen as profitable.
 
static shock?

I love FTF. Thanks for this and all your other scripts.

I see that you have static shock in SmartStasis, but is there any chance you could make it an option in FTF (when available)? When I'm out of sugar shirts I like to get a little extra mp from easy fights.

Thanks.
 
Intriguing little error:
Code:
[1917] Haunted Billiards Room
Encounter: A Shark's Chum
Encounter: hustled spectre
Strategy: /Users/blwalker/Library/Application Support/KoLmafia/ccs/qualex.ccs [default]
Round 0: qualex wins initiative!
Round 1: Eyestalks is looking a little thin.
Round 1: qualex tries to steal an item!
[B]You acquire an item: cube of billiard chalk
Unrecognized item found: cube out billiard chalk
You snatched 1 none![/B]

Why yes, I was wearing that dratted sword.

(Looking at the code, it's possible this should be a bug report about extract_items(), but since I think that's mainly meant for kmail where the sword doesn't fire, I can understand why it doesn't correct for the dang thing.)
 
That is interesting. I'd suggest submitting a bug report and seeing what the devs' opinion is on the matter.
 
<pretending to take you seriously>
I'm pretty sure Zarqon's a guy. Any time should be fine!
</pretending to take you seriously>

You can easily change the list of which monsters to olfact. The default values for that variable are meant to be helpful defaults: zlib doesn't have any actual internal logic dealing with olfacting waltzers. Asking you to change it at maximum once per ascension to make it work the way you want is hardly a horrible thing.

Heck, since zlib only sees that variable, you could make it automatic yourself -- add to your ascension script a little fragment that checks if you're a moxie class, and adds or subtracts the waltzers from that variable appropriately. Hey, it's annoying string parsing to remove them, but who doesn't love annoying string parsing?
 
Status
Not open for further replies.
Back
Top