Feature - Rejected Add hobopolis store to coinmasters

QVamp

Member
Currently the coinmaster functions do not recognize items bought in the hobo marketplace. Can these be added?
 

Bale

Minion
Actually, I'm pretty sure that it cannot be added.

That's not a coinmaster, it's a large choice adventure that incidentally consumes tokens. It requires you to adventure in the market square until you encounter the choice adventure which consumes an unknown number of adventures waiting for the encounter. Then it requires you to navigate a series of choices which are not in the same order each time and are only decipherable if you have the hobo codex equipped. If your hobo codex is not maxed out then it also requires guessing.


I'm marking this feature "rejected."
 
Last edited:

fronobulax

Developer
Staff member
How do you think that might work? Unless I don't understand a mechanic, the Hobo Marketplace is unlike other stores in that you cannot unconditionally visit it whenever you want. Furthermore, if you do not have a complete hobo binder there is no guarantee that you can get a particular item.
 

QVamp

Member
I guess I'm not understanding the arguments here. We have a set of functions that talk, specifically, about things you can buy for coins - and 'hobo nickels' are actually a coin, as opposed to isotopes.

The definition listed is: "Some items can be bought from or sold to various "coinmasters" which are like shops that deal in a currency other than meat. "

The hobo market fits this definition; but the arguments above stating why it is not included here do not. Choice adventure or not has nothing to do with it -- I can also choose not to go to the game grid shop too. Yes, you need to click on a button stating you want to go there, but I don't understand why this is would be a defining characteristic.

Needing a hobo binder with glyphs is closer to relevant. However, I may not have a worthless item to go visit the hermit, or I may not be wearing the right outfit to get to the war store... I assume that's why there is an inaccessible_reason to cover these things. Now, this does feel is somewhat relevant because, you're right, you may or may not be able to get there at all. But again, NOTHING to do with the definition. Same with 'you have to wait until you get the adventure'.

If your arguments are really the reason this is not implemented, then the names of these functions and writeup really need to be changed. But my question back is WHY would it be a negative to include this? It would make the names and definitions correct. If you guys *really* need to differentiate, then let's add an additional function to differentiate, such as 'is_non_conditional'.
 

fronobulax

Developer
Staff member
I'm not sure where you are getting your definitions from, nor why you feel the need to get up on your soapbox and pontificate or presume to tell people how to write documentation that meets your standards. My snarkiness aside, it seems to me that you fundamentally do not understand how KoLmafia works. I hope my attempt at explaining is useful.

If you play KoL without mafia you are visiting pages in a web browser. Some pages are always available to you. Other pages are only available when your character and the game have satisfied certain conditions. For the existing Coinmasters there is one page to be visited to buy all of the things and the conditions required to visit it are deterministic and can be tested for. Under those conditions it is easy to guarantee that a visit will be successful, or not.

Hobopolis, on the other hand requires multiple pages to be visited before an item can purchased, pages are not the same for all characters or visits, and there is no guarantee of success.

To get an item in the browser, first I have to be in a clan that has Hobopolis open. I then have to traverse the sewers and adventure some unpredictable number of times in the town square until I am offered the choice adventure of the Marketplace. Then I have to make the right choices on a couple of screens until I can attempt to buy the item I want. And those pages and choices are almost certainly different the next time I visit.

So if you can tell me how to guarantee success when I try and visit the Marketplace from the Coinmasters any time and every time or prevent the attempt then the suggestion is worthy of reconsideration.
 

slyz

Developer
Choice adventure or not has nothing to do with it
It has everything to do with it. The hobo market is not a shop, you have to adventure to get there. That's different than switching to the right outfit and visiting a specific URL, and brings a whole new layer of problems to consider.

EDIT:
get up on your soapbox
I had to quote this, thanks for the great image Fronobulax :)
 

roippi

Developer
I guess I'm not understanding the arguments here.

No, you are not. Or you fundamentally do not understand how the hobo marketplace works.

The fact that it takes -multiple adventures- to get to the hobo marketplace is sufficient reason not to include it. The fact that those adventures require an item, the zone is not always available, and is part of a choice adventure sequence are also good reasons, but not necessary after the first reason.
 

QVamp

Member
I'm not sure where you are getting your definitions from

This site is kolmafia.us, and there is a section here called 'wiki'. In this area are the definitions for the mafia functions.

nor why you feel the need to get up on your soapbox and pontificate or presume to tell people how to write documentation that meets your standards.

fronobulax, snarkiness aside or not, this seriously seems to be asking why a programmer reading documentation would want the function definitions of an API to reflect what they actually do. This really is the definition of any API, not me getting on a soapbox.

That aside, I do appreciate you explaining what is happening behind the scenes here. I do understand that some things are more difficult than others, and that when you're writing the actual code, one thing can feel very different than another. However, I'm a UI developer... every day I go against programmers who say things like this and reply 'so what.' The API and documentation is written for the product users, not for those that develop it. In fact, the developers are often the worst judges of this, because they 'know what they mean' and cannot be objective.

I am sorry if I personally offended you guys with my statements. But pointing out problems IS what someone who cares about a product does. Personal attacks are what developers do if they don't want to get user feedback. So, guys, please snark down. I like mafia and think it is a great product. Isn't it a compliment that I care enough to offer comments? Doing this is not me insulting you personally, nor denying how much work has been put into mafia.

Back to the issue ... fronobulax, slyz, roippi... your comments point out reasons why something is different than something else, but are still missing the point. Look at slyz' comment:
The hobo market is not a shop
. We can get all up in arms looking up definitions of 'market' and 'shop', but just suffice it to say that for virtually everyone, something called a market IS a shop. So, my original comment is not out of line, there is confusion here. The definition is wrong. Whatever your reasons, whatever your interests. It's still wrong.

My suggestion still stands. Adding the hobo market, however tough and multi-page parsing it is, seems worth it to make these functions correct and useful. I'll continue this in another post with fronobulax' question on how to do this...
 

QVamp

Member
Fronobulax, you asked how to guarantee success when I try and visit the Marketplace from the Coinmasters any time and every time or prevent the attempt. I need a little more information here. If I don't have a game grid token, do these function not tell me that redemption counter items are buyable? I assume that they do, but I don't know that.

I also assume that there is an internal list of items in mafia, as I clearly do not have access to every single item ever made. It also seems reasonable to assume that these items are tagged with attributes. Are any/all of these assumptions wrong? Are all the web pages pulled up and parsed each time?

If you know the answers to these and can let me know. I'll try to help figure out how this data could be returned. And thanks for giving me a chance to help out here.
 

Theraze

Active member
This site is kolmafia.us, and there is a section here called 'wiki'. In this area are the definitions for the mafia functions.
Where? I mean, I've got a full search for everything on the wiki with the word Coinmasters, 500 results on the page, here:
http://wiki.kolmafia.us/index.php?t...redirs=1&search=coinmaster&limit=500&offset=0

Best I get is Item Management giving the quote you had above... Nothing else seems to provide anything else that could be called a definition. And I'm failing to see how that contradicts slyz argument about it requiring adventures unlike normal shops. I'm also failing to see how that contradicts what fronobulax said about how it has a chance of failure unlike normal shops. It says that it's like a [normal] shop that doesn't deal in meat. And normal shops don't take adventures or fail to work right.

The problem, as I see it, is that you're not arguing for something that's in any way like anything that's implemented. It's different. Does that mean it can't be implemented? No... but you haven't been making good arguments for yourself in arguing definitions, quoting the wiki (without giving us specific page links or even telling us that's what you're doing), and telling us that our existing function names are wrong. This:
If your arguments are really the reason this is not implemented, then the names of these functions and writeup really need to be changed. But my question back is WHY would it be a negative to include this? It would make the names and definitions correct.
does not make developers want to do stuff for you. As well, it's not accurate... the name isn't wrong in that it involves currency... coin can also apply to money in general instead of just the flat metal units, casino chips, or anything used as a form of currency. A quick Google define:coin should give you sufficient proof of that valid usage of the word. As such, 'coinmasters' is not inaccurate in that they're using some form of currency to provide... something.
 

fronobulax

Developer
Staff member
I'm glad we veered up to the line but did not cross from civil to uncivil.

From where I am sitting there seem to be two issues. One is that you feel the wiki documentation has a problem - perhaps unclear, incomplete, not precise, whatever. The other is a Feature request to include the Hobopolis Marketplace as a Coinmaster. I think the issue gets confused when the apparent justification for changing the code via a Feature Request is that the documentation is problematic.

Given your background and interest, I think people would welcome your efforts to modify the wiki documentation so you believe it is better, clearer or more accurate. I would encourage you to do so. I suspect that, while doing so, you will come up with questions and feature requests that will be of interest to the community. The wiki is maintained by volunteers who are usually not the people writing the Java code, although many of them are cutting edge users of ASH. You may already have permissions to edit the wiki. If not then ask and I presume they can be granted.

As it currently stands you can visit implemented stores in Coinmasters. Items that you can purchase are in black text. Items that you cannot purchase are displayed in in a faded gray. So your question about not having, say, tokens doesn't seem to apply since the presence or absence of tokens just determines whether you can buy something, not whether you can use KoLmafia to view what might be available. It is true that there are cases where you can view the store inventory in KoLmafia but could not view the inventory in plain vanilla KoL, perhaps because the area is not open or you lack an effect or an outfit. This is considered a feature by the developers and the portion of the user community that has expressed an opinion, with you possibly being an exception.

Without simplifying too much, what makes something a Coinmaster from the code point of view is that the request can always be fulfilled by visiting exactly one page and the pre-conditions for that are known and can be checked for. If you can fit the Marketplace into that technical definition then the suggestion makes technical sense. What people are telling you is that you have not presented any case for changing the technical definition because the Marketplace does not fit into the current technical definition. They are trying to tell you why it doesn't fit into the technical definition and you respond by appealing to the documentation and the English language.

One other comment. I have found, the hard way, that trying to apply professional practices to KoLmafia does not always work, is sometimes not appreciated and is occasionally the wrong thing to do. The dev team is about 10 volunteers of various skill levels and time commitments. The leadership team consists of at most three people who provide varying degrees of guidance, but the general rule is that if a dev wants it then it is likely to be done and if a dev doesn't want it then it will never happen. Part of what you are getting is various devs saying, in essence, even if it were a good idea it is more trouble than their time is worth.
 
Maybe... I can help?
I've looked at Java code, think I will most likely never write anything original, probably not even modify any. I used to write BASIC code, in multiple versions. Been working with computers since 1978. I used to help help people with technology to the point where I was told, "That's not your job." But they didn't know how to use the development database, Word, Q&A for DOS, fax machine, copier, and so on. Finally I did it for a living -- tech support for over 11 ridiculous years.
So in many ways I am an advanced user. With me, troubleshooting is not only training, but something that I really cannot avoid doing.

Here is my point of view:
The Hobo Marketplace functions critically differently from all of the things listed in KoLmafia's Coin Masters. For each of those places, I see a single question to access the markets listed there: Can I simply go there now? The only other question is regarding using the functions allowed by each market: Do I have currency for this place?

For the Hobo Marketplace, the answer to this first question is (as I see it) "No." The answer could be longer. "No, unless you are at this very instant able to meet these criteria and do this long list of things, which list includes using multiple adventures. That leaves out the "simply" part of my question above. Whether short or long, the answer is still "No."

None of this has any causal relationship with documentation written by a user of the program. If "somebody told me" that I can change any aspect of a font in ... let's say Word for DOS 5.0 ... by choosing a menu and then a thing within that menu, and yet I found out I could not make that font sparkle, well I feel it would be entirely unreasonable for me to demand that it happen anyway. In general, words that somebody said do not create reality.

So if I were supposed to help write or edit a book on how to use Word for DOS 5.0, and I became aware of wording that said or implied that anything could be done by choosing a menu, I would advocate changing the wording to better match reality.

"All aspects of the font can be changed from within this menu." That is kind of far-reaching.
"All available font changes are found within this menu." That describes the actual situation more precisely.

"Anything can be done," is different from, "Any available thing can be done." I'm sure some people would be tempted to say, regarding that "All aspects..." statement, "Oh, people aren't actually going to think [or say]...." Come on, get real. Think about it. People think all kinds of things. And I know from extensive personal experience that they will (at times) take a single thing, with the way they view it, and insist that something else must be true. Oh. My. God. How many times have I heard things like, "No! This DSL modem has worked since I got it seven years ago. So it CAN'T be defective!" Uhhhhh. How about, "My bookkeeper [accountant, CPA, mother, boss...] TOLD me QuickBooks will do this, and you HAVE to make it work for me!" No. Not only was this person wrong, but this involves things all of us in tech support are specifically and clearly prohibited from doing; it won't do it, and I can't help you try to beat it into submission, either.

Qvamp [I feel like Larry in the guild, waving at you. "Hi!"], it seems that you are insisting KoLmafia has to work a certain way because of something someone wrote, and the way that you interpret what was written. I think that you have a good grounding in logic. Am I right, or close? I mean about your insisting how KoLmafia must work. If you think about it, might that be how it is? Or put differently, do you see why it might look that way to me?

So. It seems to me that KoLmafia's Coin Masters cannot work for the Hobo Marketplace. I don't mean I believe it's somehow impossible to modify Coin Masters so that it would work for the Hobo Marketplace. I wouldn't be at all surprised if the KoLmafia team were able to do that. While I have a greater understanding of computers (and technology in general) than a lot of people do, many functions of KoLmafia pretty much could be magic, as far as my understanding of it goes. :) And the developers are magicians -- at least figuratively.

However, I think adding the Hobo Marketplace to Coin Masters is a bad idea. First there are the complicated requirements for reaching the Hobo Marketplace. What if I, the user, have NO hobo code binder? What if I have a binder and no codes? Three codes? Fourteen? How many adventures will it take to reach my goal within the Hobo Marketplace? If I get lost, it can take more. If I get lost again, even more. If I get lost a third time.... In KoL, getting to the Hobo Marketplace is not simply a matter of "click, and you're there." Or even "/go hobo mark" in the chat pane. I feel it would be important to separate the Hobo Marketplace from those other "markets." So if access to the Hobo Marketplace were added to KoLmafia's Main Interface, I think it should not be part of Coin Masters.

If anyone read any of this, I do hope it can help.
 

QVamp

Member
Thanks for your most recent replies (and yes, I read all of your reply StorellaDeville). I re-read my original response, and do agree that it came out more demanding than I intended. I apologize for that.

Theraze, what I was quoting isn't deep down. It's on the Inventory page itself:
http://wiki.kolmafia.us/index.php?title=Item_Management

fronobulax, I'm fine with your suggestion about changing the wiki. I'd be glad to modify the wiki to make things more accurate. Do I just change pages, or are there people I need to get approval from? Mostly I'm working on inventory based things, so I may not hit many sections of the wiki.

I admit, I still don't agree with the arguments presented here, but you guys appear to not agree with mine, and I don't have time to learn the Java code. So, how would you feel about a compromise? Right now the seller field of the hobo items is set to 'none'. Is there a reason those cannot be set to 'Hobo Market'?
 

fronobulax

Developer
Staff member
Thanks for your most recent replies (and yes, I read all of your reply StorellaDeville). I re-read my original response, and do agree that it came out more demanding than I intended. I apologize for that.

Theraze, what I was quoting isn't deep down. It's on the Inventory page itself:
http://wiki.kolmafia.us/index.php?title=Item_Management

fronobulax, I'm fine with your suggestion about changing the wiki. I'd be glad to modify the wiki to make things more accurate. Do I just change pages, or are there people I need to get approval from? Mostly I'm working on inventory based things, so I may not hit many sections of the wiki.

I admit, I still don't agree with the arguments presented here, but you guys appear to not agree with mine, and I don't have time to learn the Java code. So, how would you feel about a compromise? Right now the seller field of the hobo items is set to 'none'. Is there a reason those cannot be set to 'Hobo Market'?

I looked at the link you gave and subject to the usual problems with interpreting English, I don't see anything that is actually written there that is problematic. The issue seems to be that there is at least one shop that uses a currency other than meat that is not a coinmaster. But nowhere is it claimed that All such shops are coinmasters so as far as I am concerned it is correct. Of course I am quite comfortable making a distinction between "positive integers" and "non-negative integers" because the former may, or may not, include zero depending upon context and conventions, whereas the latter always includes zero. Bottom line for me is there is nothing wrong but there is room for improvement.

I confess I have not paid much attention to wiki standards and conventions here. I suspect there are some but they might not be documented. Perhaps Bale could/would point you in the right direction. Of course he seems to be the original editor of the documentation in question...

It's probably beating a dead horse, but as I understood it, the original problem you presented could be solved by changing code or by changing documentation. Neither is more intrinsically correct but the latter is certainly easier and there is even some room for interpretation as to whether the documentation is wrong or merely incomplete.

I'm not sure what you mean by the "seller field" but is sounds like you are making a new Feature Request. If so then it is worthy of a new thread.
 

Theraze

Active member
I believe he's wanting a blank coinmaster that doesn't actually work, named hobo market. HM items would be tagged with their location and currency, but an interface to automate them would not exist.

The "seller field" would be the proxy records to look up the coinmaster data...
 

QVamp

Member
Sorry, since I don't know the code, it is tougher to be more specific. If you get the 'items' map, there is a property there called 'seller' (and now that I say that, I must have found it through another script, because I can't find any documentation on the item properties). This is what I was referring to. Yes, I can make another request for this if you guys think it is worth it.
 

Bale

Minion
QVamp, If it helps, think of it this way... All coinmasters have several things in common. These are fairly important similarities:
  • All coinmasters have a native KoL interface where you can select your chosen item from amongst a selection of items and click a button to buy that item. (They have a store-like interface.)
  • All coinmasters do not require any adventuring to gain their items.
  • All coinmasters are incapable of causing you to get into a fight with powerful monsters through no fault of your own. (This will happen with hobo muggers if you don't have a full hobo codex.)

I think that all of those are significant differences.

fronobulax, I'm fine with your suggestion about changing the wiki. I'd be glad to modify the wiki to make things more accurate. Do I just change pages, or are there people I need to get approval from? Mostly I'm working on inventory based things, so I may not hit many sections of the wiki.

Feel free to change anything that you think needs it. To get permission, all you have to do is to create an account. We don't want to make it hard. If someone in charge of the wiki (like myself) feels that you made a mistake we'd just change it back and educate you about our reasons for reverting your change, so don't feel afraid to do anything that strikes your fancy.

I admit, I still don't agree with the arguments presented here, but you guys appear to not agree with mine, and I don't have time to learn the Java code. So, how would you feel about a compromise? Right now the seller field of the hobo items is set to 'none'. Is there a reason those cannot be set to 'Hobo Market'?

The problem with that is that it could confuse scripts into thinking that there's a coinmaster capable of handling those items.
 
Top