It's right there in my inventory.You're sure you didn't eat the fish?
Also, the event is supposed to be repeatable 'from the interaction menu, with a cooldown'. What interaction menu?
showShop({
items: [],
shopkeeper: smee,
saleableFilter: function(e) {
return ["SpottegGrout", "BlueSteerpike", "PaleAlito", "GoldenFanfin"].includes(e.getClassName())
},
onInspect: rs,
shopMode: _.yO.SELL
Then there should be some form of notification that it cannot be sold.It seems to be Spotted Grout, specifically, that cannot be sold.
It's a typo in the Shop code. See the edit to my above post.Then there should be some form of notification that it cannot be sold.
When I 'cheated' in all 4 fish, the Spotted Grout was the only one that couldn't be sold.Just to clarify, it's only the Spotted Grout that's not appearing as a sellable item, correct? This should be fixed for the next release.
Ugh. As an object-oriented programmer of several decades, this is very ugly. Why not just give the objects a flag "isNTFish" and test for the presence of that flag? That way, all tests, both for leaving the planet and for selling, are the same, AND you can add new fish at any time without touching the code.It seems to be Spotted Grout, specifically, that cannot be sold.
"SpottegGrout" > "SpottedGrout"Code:showShop({ items: [], shopkeeper: smee, saleableFilter: function(e) { return ["SpottegGrout", "BlueSteerpike", "PaleAlito", "GoldenFanfin"].includes(e.getClassName()) }, onInspect: rs, shopMode: _.yO.SELL
Understandable critique, and I do agree. But this project, since the Flash times and after the JavaScript code migration period has always been a bit of a slap-dash approach--mainly for readability when old code is revisited and new code is tacked on for unique content. I'm sure the dev team will agree that if and when a new project is created, that there will be a more formal and neater way of coding, especially with all the experience built up so far. But as it stands right now, unicorn sections of the code can remain bespoke if there doesn't seem to be any future expansions to the respective content (fish in this case--if this was a fishing simulator or had multiple fishing events, yes, that coding critique would hold more weight!).Ugh. As an object-oriented programmer of several decades, this is very ugly. Why not just give the objects a flag "isNTFish" and test for the presence of that flag? That way, all tests, both for leaving the planet and for selling, are the same, AND you can add new fish at any time without touching the code.
Considering the amount of data in the creature object that almost never gets used (e.g. pregnancy data, shopkeeper data, etc) and the amount of stuff that gets serialized in the saves as a result, "bloat[ing] save data" is a bit of weak argument.Edit: And for adding a new flag, while it sounds simple enough, and works well for expandable content, our save system will need to account for that, so adding one flag for a simple item object may add that flag to multiple items, especially those that don't even use it, and will bloat save data (like in the case of chameleon tech items).
Yes, agreed--though I wasn't trying to make an argument, just stating the team's rationale of why things are the way they are at current. Tacking on things that can potentially be serialized is just another concern to add to the list of concerns. For me personally, I would rather not add more bloat if it can be helped, though these fish items are probably not the best example for that.Considering the amount of data in the creature object that almost never gets used (e.g. pregnancy data, shopkeeper data, etc) and the amount of stuff that gets serialized in the saves as a result, "bloat[ing] save data" is a bit of weak argument.
Yep, and we are definitely still cooking, even if it feels like slow cooking from the outside. We'd rather not have janitorial duties that lead to more janitorial duties while in the final stretches (and as mentioned, we've had numerous waves of custodial tasks before that we'd rather not re-experience) that ultimately slows the project down even more. For a newer project, hopefully it'll be a much smoother and well-regulated experience compared to this decade-old project.But I agree - this late in a project, you have to balance paying off technical debt vs. just finishing the project and declaring technical bankruptcy. BUT: If you aren't going to finish the project, then a derivative of the old aphorism applies: "The best time to write clean code was a decade ago. The second best time to write clean code is now."