Feature - Rejected Purchasing from NPCs only

Bale

Minion
Seriously? That's your reason? Your reason is that people aren't able to learn the proper commands?
 

Winterbay

Active member
Well, expectation is a big part of learning how a command works and if a command works in a way that feels counter-intuitive people will definitely get bitten at least once. And in a way that could be potentially expensive as well.
And if the argument is that "the recent change made Mafia behave just as KoL" that's not entirely true since you need to very specifically go to the mall to get the "buy into hagnks" (no idea how the chat-command works, but I doubt that goes via the mall at all) while in Mafia it will pick one at what may seem like random to someone new to Mafia.
Doing "help buy" gives buy [I]item[/I] [@ [I]limit[/I]] [, [I]another[/I]]... - buy from NPC store or the Mall. which does not indicate that anything may end up in hagnks when you're in Ronin/Hardcore.

Also, why does mallbuy do the exact same thing as buy? That sounds illogical to me...
 

fronobulax

Developer
Staff member
Seriously? That's your reason? Your reason is that people aren't able to learn the proper commands?

This is an issue because KoL changed and what were the proper commands a month ago are not the proper commands today. While I am sure people smarter and more insightful than I am immediately realized the implications of being able to stock Hagnks from the mall during ronin with Hagnk's meat, some of the slower folks had to learn that the hard way.

That said, I maintain that the way forward is to just make script writers and users aware of how buy works, now and in the foreseeable future until KoL changes again. Perhaps it is worth changing KoLmafia to assist in getting the message out, but if not grep, conversations with script authors and a few updates to the wiki will accomplish the goal.

If someone is truly motivated, I can imagine a nice picture or table for the wiki that shows each of the ash commands that will obtain an item, what settings apply to that command, possible sources of the item (or ingredients), and where items end up. I might even take a stab at this myself. My vision is that if the information is properly presented then the script writer who wants to be "safe" and honor the user's preferences will have an obvious path to do so.
 

Winterbay

Active member
The least we can do, I feel, is to update the help-text for buy to indicate that it will put things in hagnks if used while you cannot interact normally with the mall.
 

Bale

Minion
This is an issue because KoL changed and what were the proper commands a month ago are not the proper commands today.

The correct command is and always was acquire or retrieve_item(). It behaves the same way it ever did. Why would you use buy() unless you already know can_intereact() and have a reason to override the player's preferences. The only script I have which does this is UR and it does check can_interact() so I didn't have to update it when mafia updated to the KoL change.

Only bad practices need to be changed. Mafia was updated in such a way that anyone who scripted properly will find their script didn't need updating, just like UR.


The least we can do, I feel, is to update the help-text for buy to indicate that it will put things in hagnks if used while you cannot interact normally with the mall.

Seriously? That's just KoL! Does KoL put a warning message on the mall saying the exact same thing? (No.) I think that players should expect that buying through mafia will do the same thing as buying through KoL's mall interface.
 

Veracity

Developer
Staff member
I think that all reasonable people now agree that buy() vs. retrieve_item() is not really an issue; scripts just need to do the right thing. And if you want to always use an NPC rather than the mall (presumably because you want to spend extra Meat some of the time), you can use the little ASH function I posted.

The current complaints have moved to the "buy" command. Here is a sample usage:

> buy 1 pog #11

Searching for "pog #11 (Naughty Sorceress)"...
Search complete.
Purchasing pog #11 (Naughty Sorceress) (1 @ 8,975)...
Purchases complete.
Now, I am out of Ronin (and I have 8 more Yearbook camera pictures to turn in, so it will be a while before I'm back), so I can't see what it says for mall purchases in that case, but I think it would be reasonable for the output to say something like:

Purchasing pog #11 (Naughty Sorceress) (1 @ 8,975)…
(8,975 Meat spent from storage, 1 pog #11 (Naughty Sorceress) sent to storage)...
Purchases complete.

You DO get that kind of feedback from KoL if you buy using the native interface.
 

Bale

Minion
I think that all reasonable people now agree that buy() vs. retrieve_item() is not really an issue

If you define "all reasonable people" as the set containing thee and me.


Now, I am out of Ronin (and I have 8 more Yearbook camera pictures to turn in, so it will be a while before I'm back), so I can't see what it says for mall purchases in that case, but I think it would be reasonable for the output to say something like:

Purchasing pog #11 (Naughty Sorceress) (1 @ 8,975)…
(8,975 Meat spent from storage, 1 pog #11 (Naughty Sorceress) sent to storage)...
Purchases complete.

You DO get that kind of feedback from KoL if you buy using the native interface.

That would not be a bad thing. FYI, the exact response from KoL (when you are in ronin) is:


KoL said:
You acquire an item: tattered scrap of paper (stored in Hagnk's Ancestral Mini-Storage)

(You spent 1,200 meat from Hagnk's.
You have 85,380,443 meat left.)
 
Top