TheSea.ash - Automated Underwater Quests

lostcalpolydude

Developer
Staff member
You could also use buy($coinmaster[Big Brother], 1, $item[black glass]), apparently. I couldn't check that from my phone before.
 

Veracity

Developer
Staff member
I would think that "buy" should work, too, since coinmaster items create a CoinMasterPurchaseRequest for each item. However, when I search the mall for "black glass", it shows nothing. (Yes, I know it cannot be in the mall, but we show coinmaster purchasable items in that frame.)

I suspect there is something funny about quest items. We probably filter them out of mall searching (since they cannot be in the mall), which would make a search return an empty list, which would probably make "buy" think that it can't.

Given that we now have our first coinmaster-purchasable quest item, perhaps that logic could be adjusted a bit.

Edit: Ooh, lost's post was on a new page. So, you tested, and it does work? Sweet!
 
Last edited:

Theraze

Active member
Well, since we either can use the 'normal' coinmaster handling with create, or explicitly state which coinmaster we want... which would break if/when TPTB inevitably change something about the quest in the future. Since create(1, item) only breaks if the black glass changes names, while buy(coinmaster, 1, item) changes with item or coinmaster, let's do the create for now.

Veracity, did confirm yesterday that buy(1, item) wouldn't get the black glass for me. Possible it was because mafia's inventory count was out of sync and it thought I had more sand dollars than it should, but... don't know. The sea tends to be the place I get inventory out of sync the most. Especially dolphin whistles. :) Ah well.

Unrelated to the whole coinmaster thing... well, partially. Going to using create made buying the map to the skate park fail. Because there isn't an item left after it's done. Changed to (!create) in the 1.2.2 version. :)
 

mstieler

Member
Regarding Mom, were you planning on checking if the person running the script has any of the "find mom faster" stuff available to them (Shark Jumper/Wumpus Hair Sweater, Scale-Mail Underwear, and the effect from using a Comb Jelly), and equip/use as needed during that step, reverting to whatever they had prior to it after the step is completed?
 

Theraze

Active member
I've left equipment on the player except as required. We force the black glass in the Abyss, because it must be. We don't change the gear... unless the player has chosen to change it using the outfit and maximization strings. The player is in control of it...

We may throw in some booleans or ints for choosing to use the speed-up options for the find mom faster (has that actually been spaded?) and building sea lasso skill equipment pieces. We'll see. The mom part probably depends on spading. Sea lasso will definitely have its bonuses in. :)
 

Uli

Member
I've left equipment on the player except as required. We force the black glass in the Abyss, because it must be. We don't change the gear... unless the player has chosen to change it using the outfit and maximization strings. The player is in control of it...

We may throw in some booleans or ints for choosing to use the speed-up options for the find mom faster (has that actually been spaded?) and building sea lasso skill equipment pieces. We'll see. The mom part probably depends on spading. Sea lasso will definitely have its bonuses in. :)


What about any moods? Primarily just non-combats, I think, but I don't know which ones really matter. Or familiar preferences (with the Das Boot)? What is the reason behind not wanting to program certain items like the aerated helm/crappy mask/makeshift gear/whatever? Give the player more freedom or just too much work?
 

Theraze

Active member
Regarding moods, players have a wide variety they can set. What is best depends on how much meat they want to spend, their available skills, and their individual combat setup and plans.

Regarding familiars, which is better... the midget clownfish for a 150% sleazy star starfish or the grouper groupie for a fairy? I'd suggest going with something similar for the +20 starting familiar weight (and still +10 over das boot), but... Additionally, both can either get +5 weight or +sand dollars, depending on which familiar equipment you prefer. So... which helps more? Well, that depends on you, the player. :) Do you prefer to have slightly more MP? Slightly more item drop? Some extra sand dollars to reduce backfarming or mall purchases? *shrugs*

Regarding the programming of certain items, the 'best' option varies on the location and what you're doing, and your effects. Some people will choose to use fishy juice boxes... less appealing now since their price keeps going up, but it means you can ignore the item requirements entirely. In the coral corral, your best equipment-based choices will probably involve the sea cowbow hat, which eliminates the aerated helmet and other hat-based breathing choices, so you'll probably be stuck using the makeshift scuba gear if you want to speed things up.

So... what will we do once we get into areas that force specific equipment pieces? We'll probably figure something out, but... eh, we haven't had any additional area-forced gear until the abyss.
 
In the coral corral, your best equipment-based choices will probably involve the sea cowbow hat, which eliminates the aerated helmet and other hat-based breathing choices

You can train your lasso skill anywhere underwater, not just in the coral. It's better to train lassoing before going into the coral, so you don't risk encountering a seahorse before you are ready, and then waste turns hunting for a second.
 

lostcalpolydude

Developer
Staff member
If the purpose of entering the sea is for the final equipment drop, you can get 50 turns of Fishy from a semi-rare and make a lot of progress during that window, plus 10 more turns from a fishy pipe ideally. I'm pretty sure I won't ever touch fish juice boxes, sushi, or fish meat again. All of that is out of this script's scope though, I expect.

You should not be wearing a sea cowboy hat in the coral corral because lassoing should already be fully trained when you unlock it. If you triple banish (popper and crystal skull are available in the mall at least), the seahorse shows up quickly. I've had this zone take 0 turns, but getting just a few tumbleweeds is common.
 

Theraze

Active member
You can train your lasso skill anywhere underwater, not just in the coral. It's better to train lassoing before going into the coral, so you don't risk encountering a seahorse before you are ready, and then waste turns hunting for a second.

Depends on if you want the chance of gaining additional sea lassos and sea cowbells or if you'd rather purchase them... but anyways, until we have some method of tracking lasso level in mafia, we probably won't be able to automate this too easily. Otherwise we can force combat with a visit_url and throw a lasso, watching at the text, and use run_combat() to finish it up... but that's messy and guarantees that anyone who pre-practiced will be wasting a turn.

Additionally, we've traditionally with the script avoided overriding combat because, at some point, WHAM might be able to handle the lassos. But it wouldn't be able to know whether it's time to throw or avoid unless mafia knows it.

Banishing is part of combat. Combat is at the discretion of the player. :)
 

Winterbay

Active member
Yeha, my local copy of WHAM handles lasso-throwing but I toggled it by commenting it out when I was finished with the skill training sinc eas you say there's no way of detecting it automatically it the moment.
 

Theraze

Active member
And when it only takes ~5-8 adventures to complete the whole training with full gear... :)

Though you'll end up probably spending that many in the sea even with free runaways and great luck. But hey, I'm a fan of responsibility on the player for gear and those choices.

Though I might offering my maximization string into the system as an option eventually for the really lazy. Which would probably include me at that point, but... We'll see. :) If so, would probably be the normal string + 100 mainstat (since that's probably your combat method, and we already force +-melee based on class) and a breathing apparatus by area. Best helmet if you need something and aren't doing taming, scuba if you don't have a helm, etc, etc, etc. Like I said, basic and lazy. But it's gotten me (with some minor combat tweaks, such as forcing EN/WoP instead of WHAM for Peanut and EN/Run from the School of Many) near the end of the library so far.

Thinking that regardless of how much automation we allow, we'll probably want to force the player to finish the end-bosses. Since if you have any passive damage affects on, you lose. And they all have little details on how to make the fights not suck. :)
 

Bale

Minion
Yeha, my local copy of WHAM handles lasso-throwing but I toggled it by commenting it out when I was finished with the skill training sinc eas you say there's no way of detecting it automatically it the moment.

zlib variable to toggle it? I would like the functionality.
 
zlib variable to toggle it? I would like the functionality.
I'll second that.

Also- is the problem with tracking lassoing is the lack of the variable in mafia? Because unless I'm missing something, it should be easier to implant than bang potions. (when underwater, if expertlasso=false --> throw a lasso. If it says "you expertly throw" set expertlasso=true. default is false, and it resets on ascension. Worst case scenario, it wastes a lasso if you pretrained out of mafia.) Then thesea.ash can use this setting to know weather or not it needs to equip cowboy hat/chaps. No banishers, no hunting for seahorses, no wasting adventures.

And why force the player to spend extra adventures in the coral when you can, y'know, not? If someone feels like farming the coral is the best use of their adventures, they can do that after completing the quest with the turns they saved by using an optimal script that didn't waste adventures by training in advance (and more optimally too, since they won't encounter seahorses after training them). It's not a "chance of gaining additional sea lassos and sea cowbells"- it's just wasting adventures (yes, a small number of adventures) when you don't have to- you're going to have to get (and use) the lasso and cowbells eventually, and you're going to have to train your lassoing eventually.
Why not do it in the fastest most efficient way possible, and have the player decide what to do with the resources he has?
We're not talking about galdiator weapon skills- this is a mandatory part of the quest.

Just to be clear, since this is the internet- I'm not going all "you're all lame, this is easy", just trying to understand better (both programing and the choices behind scripts).
 

Theraze

Active member
And why force the player to spend extra adventures in the coral when you can, y'know, not? If someone feels like farming the coral is the best use of their adventures, they can do that after completing the quest with the turns they saved by using an optimal script that didn't waste adventures by training in advance (and more optimally too, since they won't encounter seahorses after training them). It's not a "chance of gaining additional sea lassos and sea cowbells"- it's just wasting adventures (yes, a small number of adventures) when you don't have to- you're going to have to get (and use) the lasso and cowbells eventually, and you're going to have to train your lassoing eventually.
Why not do it in the fastest most efficient way possible, and have the player decide what to do with the resources he has?
We're not talking about galdiator weapon skills- this is a mandatory part of the quest.

It's a mandatory part, but it's a part controlled by combat choices and commands which the player may or may not choose to control earlier. At whatever point mafia has some tracking thing, once we hit the beginning of the Deepcity quest, step one will be getting the lockkey, step two is the stashkey, but step three is checking if the lasso is already at expert. If the player's combat script handles that, I expect it to have been fully trained well before the brothers were both rescued. If they elected not to do that as part of their combat script, then I need to do something for them. That will probably be forcing combat somewhere and throwing lassos, since they appear to not actually doing it.

This is only important if they elected to ignore lasso training, however. I'm not planning on wasting a turn or multiple turns on that if it's already completed. It's just that... combat scripts vary. And hey, I've run TheSea with noodle/runaway a few times after the garden. It's pretty fast. :)

Unrelated to future tracking bits, related to other changes. The boot quest, as implemented in TheSea, didn't work anymore since the choices. So here's a version that does. Changes the bootQuest from T/F to 0-6: 0 means skip; 1 means you want Das Boot over and over; 2 means you want a Fishy Pipe collection; 3 means you want to get (and use) crates of fish meat; 4 means you want to get and open damp wallets (which appear pay out at least as well as the 50 required for the boot). The last two are the ones that should be a bit more intelligent: 5 will get das boot, a fishy pipe, and then get and use the fish meat crates; 6 will get das boot, the fishy pipe, and then open damp wallets.

Also, a bit of sanity checking has been added... if you haven't unlocked Big Brother, you won't be able to buy the damp boot from him, etc.
 

lostcalpolydude

Developer
Staff member
step three is checking if the lasso is already at expert. If the player's combat script handles that, I expect it to have been fully trained well before the brothers were both rescued. If they elected not to do that as part of their combat script, then I need to do something for them. That will probably be forcing combat somewhere and throwing lassos, since they appear to not actually doing it.

This is only important if they elected to ignore lasso training, however. I'm not planning on wasting a turn or multiple turns on that if it's already completed. It's just that... combat scripts vary.

On the other hand, the combat script is probably relying on this script to put on a sea cowboy hat and sea chaps before it starts lasso training, and it would be wasteful for the combat script to start using up lassos before those are equipped. Then there are also things like the mer-kin sneakmask that should be switched back to as soon as lassoing is done. Combat and out-of-combat actions need to be coordinated for the script to work well. Unless the plan is to have the user lasso about 20 times without the appropriate equipment on, which is more expensive but is also easier for everyone.
 

Theraze

Active member
Advanced changing would be a function of the "useMyGear" variable. :) Probably. We'll see what we end up doing there eventually... that'll be a few more ascensions/series on down.

Here's a semi-complicated question with arguments on both sides. When we eventually get to script to the bosses, do we want to just end the script there with a message directing the user as to how to equip for it, or to try to run the combat automatically?

If we were to script the scholar, for example, we'd be doing the scholar outfit; 3 prayerbeads; maximize myst, -10 hp, -hat, -pants, -acc1, -acc2, -acc3. We do the -100% muscle potion (optional, but kinda fun), make sure we have 6 different healing items (so we can heal after the last 90% hit) and the 2 easy delevellers (lasso and mouthsoap). Begin combat, throw 6 healing items, funkslinging our delevellers if we have the skill. Then we just throw our best spell at her until (hopefully) she's dead, and collect our reward. Easy. Maybe. :)

But that takes buying prayerbeads if the user doesn't have them, buying (hopefully) cheap restoratives regardless of mall settings (might find the cheapest 6, might just take a static list and hope we don't get bit), and acquiring the delevellers if the user has funkslinging.

We can do that. Or we can just leave that on the player, which is a bunch easier for me since I don't need to try to figure out their combat options. :) What would be REALLY nifty is if someday BatBrain would be aware of the specific rules tied into them... offering only healing items the first X rounds of yog (based on prayerbeads equipped), offering the right weapon counter for the gladiators, etc. But that's future awesome hope.
 

Winterbay

Active member
I didn't find the fight very hard and I used the same buffs that I had for the rest of the sea (gr8ness and some others) and didn't do anything about my HP and won in one try still. Hardest bit was remembering 6 different healing items from the gigantic drop down...
 

bumcheekcity

Active member
I downloaded and tried to run this, but it said:

Code:
> call scripts/TheSea.ash

ZLib.ash could not be found (TheSea.ash, line 3)

Changed to "zlib" (lowercase) and it was fine. The original zlib file is indeed lowercase.
 

Theraze

Active member
Indeed. I'd noted that at one point with a different script, but forgot to fix this one. Grr. Well, spun version 1.3.1 for that. :)
 
Top