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

Status
Not open for further replies.
Hey everyone, need a little help. I'm working on making the combat ghost summoning smarter. When I originally wrote that functionality into FTF (quite soon after the advent of combat ghosts, I seem to recall), mafia was not keeping track of your ghost type/experience. Now that it does, FTF can be smarter about when to summon, and save your summons for when they would be most helpful. Or at least not waste them.

I don't have any PMs at the moment, so could someone please confirm what the property "pastamancerGhostType" contains? It looks to be an empty string if you have no ghost. When you do have a ghost, is the ghost type exactly as listed on the wiki? Capitalized/all-lowercase?
 
The type will be one of:
"Undead Elbow Macaroni",
"Spice Ghost",
"Angel Hair Wisp",
"Lasagmbie",
"Vermincelli",
"Boba Fettucini",
"Penne Dreadful",
"Vampieroghi",
"Bow Tie Bat"
 
Aha, more of those pesky ucwords. Thanks!

And now, introducing

Intelligent PM Ghost Summoning!

Here is the logic now used by FTF as of 3.1 for summoning PM combat ghosts:

  • Angel Hair Wisp
    Summons if the monster will probably not do enough damage to you to make the wisp leave you in disgust.
  • Boba Fettucini
    If your Boba is level 10, summons if you can handle combat against a sandworm, otherwise summons if you are not in the clear.
  • Bow Tie Bat
    For level 10, summons if the monster drops items. Otherwise, summons if you are not in the clear.
  • Lasagmbie
    Summons if the monster drops meat and is not a spooky-aligned monster.
  • Penne Dreadful
    For levels 1-4, summons if the monster drops booze. For levels 5-9, summons if the monster drops booze or food. For level 10, summons if the monster drops any items at all.
  • Spice Ghost
    Summons if it is your first combat with a Spice Ghost, or if you are not in the clear.
  • Undead Elbow Macaroni
    Summons if you are not in the clear and the monster is not spooky-aligned.
  • Vampieroghi
    Summons for sure if your HP is below your specified minimum in the HP/MP usage tab. Otherwise, summons if either your HP or MP will benefit well from the Vampieroghi's restores. Calculations are based on you getting roughly 2 crappy restores or one good one.
  • Vermincelli
    Summons for sure if it will remove Beaten Up or Cunctatitis. (I'm quite open to adding other negative effects to the list.) Otherwise, summons if you are not in the clear.

Please make any suggestions for improving this logic below.
 
Last edited:
We seem to have a small issue:

Unknown variable 'item_drops' (FirstThingsFirst.ash, line 86)
Consult script 'smartstasis.ash' not found.
You're on your own, partner.

Just swapped out the new version, and SS is too there.

EDIT:
D'oh! It's always the little gotchas... Works now. :)
 
Last edited:
Please make any suggestions for improving this logic below.

Some logic to use up remaining summons if remaining adventures are low (and full/drunk/... I see, no good way to test for potential adventures from spleen :()?

The spice ghost *may* also benefit from a "if level 10, autosummon on second chance too"
 
I am sure that I got multiple spices from my spice ghost before it was level 10.
And do keep in mind that it will take 100 days to reach level 10 if FTF is only willing to use it once a day. :)
 
Haha. Well, if you are fighting monsters above your safety threshold (as I expect most everyone does anyway during an ascension) you will quickly use up your available summonses. But perhaps adding a check to make sure you get your automatic 10th-level second spices is a good idea.

And I forgot to mention there is already logic in place that will always use remaining summons if it is within your last remainingSummons adventures + 1. In other words, if you still have five summons and only six adventures left, it will always summon. I didn't bother checking full/drunk/spleen because I assume most people do most of their consumption for breakfast. I also assume that for the most part people will have used up all their summonses by the end of the day.
 
I notice that I'm not getting any steal results when watching the CLI. Is there a way to get more verbose responses?
 
I just downloaded this a couple days ago. Very nice.

I do have a question though. You say it will automatically try to steal from weaker monsters whenever I can. Well, how weak do they have to be?

One of my characters is a level 30 DB and the script doesn't attempt to steal from monsters in the castle. I tend to think the monsters are low enough below me as to be inconsequential, (no ML raising) yet it doesn't steal. I must confess I haven't tried it in low level areas, but as a band-aid I've just added pickpocket to my CSS before it consults FTF.
 
3.2 Updates

I have been meaning for some time to change all the class-checking and other checks to a simple contains_text() check to see if you can steal when getting the jump. So, I finally put that into this update. See if that eliminates your pickpocketing woes. Note that it will only pickpocket if the monster drops items (or is an unknown monster).

Also, a few things to help out in the Primordial Soup:

1) Added the violent fungus to the Olfaction list.
2) Special handling for Cyrus. FTF now throws base pairs at Cyrus, and keeps a record of which base pairs it has thrown so that it can avoid duplicates. The next update to BBB also has some Soup stuff that plays very nicely with this.
 
You can also flyer Cyrus to finish the arena (it's probably the fastest way to complete it now) so that might be something worthwhile to add.
 
Elsewhere, Bale brought up the idea of making FTF transparent with mafia's one-time Olfaction setting. Continuing that discussion here:

As far as I know you can only choose 1 item or 1 monster or "goals" as the value. If you could chose more than 1 item or monster it would be interesting. Maybe I'll try that out later and see if it works, or if it gives me an error.

Also, the value can have " abort" at the end to have it stop adventuring after using olfaction.

Ok, then at least it could be transparent with monsters/items. Still not able to work intelligently with goals though, which I think is the most useful of the three. Do you think it should still olfact goal monsters even without knowing the amount of needed goals, given that the setting is one-time and user-enabled?

All of this can also apply to the putty/4-d camera setting. An interesting scripting challenge... if I'd known I'd be doing this up front I might have chosen a different algorithm for determining whether or not to olfact/putty.
 
I'll start by saying I'm an idiot and it's my own fault.
I had a rather lengthy list of olfacted monsters in FTF. I toggle REMming out the monsters depending on my goals. I downloded the newest version and overwrote the old version...effectively overwriting my list. I don't know how many people put in their own olfacted monsters, but it would be good for me if there was a seperate text file placed in the data folder that you could list olfacted monsters. It could be optional with the default monsters left in code. That would save boneheads like me a lot of frustration.

Oh, by the way, I do love all of your scripts. Thanks.
 
Status
Not open for further replies.
Back
Top