One issue that I noticed about the new appeals system is that modded items such as furniture don’t have appeal values. This makes sense, since they haven’t had values for appeals set for them. However, many modded items are simply variations of other items. These modded items also have tags attached to them relating to stockpile sorting, etc.
So, what if, when an item doesn’t already have an appeal value, it could compare those tags that the item has to a table of default appeal values mapped to those tags?
I like the idea of utilizing the tags for what hearthlings like more than an arbitrary number. This way you could utilize a combination of what the item’s value is and its tags. This would allow for a more dynamic matrix anyway. Some hearthlings prefer stone objects others want flashy gold in their objects.
Hmm! Thats not what I was referring to but thats also a good idea!
I was saying that there could be a table of ‘default appeal values’ that if an item doesn’t already have an appeal value but has a material tag matching a tag in this table, itcan just use that default table value.
I wonder if theres any individualism to the appeals code in general, like what you’re talking about
Looking through the code in components\appeal of all places I didn’t see anything to suggest that. The methods for sampling seem pretty interesting but again I am no coder anymore. Below is a comment from the lua.
“Keeps track of a character’s opinion of their environment by sampling nearby objects.”
We’re not super consistent on our use of tags. I agree it’s an interesting approach; there would just be some housekeeping we would need to do at the same time.
As for the default appeal for modded items, that I’m a little unsure of how to handle. I’ll bring it up, but it may fall back on the modders to add that information.
I agree, modder accountability for appeals is number one.
I feel like the tagging system is underdeveloped, but that as systems get larger, it’ll become more important and useful. Has there been any internal discussion about this? What if this were turned into a community project?
Default appeal could be a similar function to the effort concept. If appeal is in the entities json then that would be used, if not and it is an entity a formula between cost or recipe ingredients’ cost, item level and possibly material tags could make a temporary appeal. Of course the easiest would be for modders to add it in.
@stonemonkey Nice idea! This actually sounds like a much smarter way of implementing a default value mechanic than my “default appeal” lookup table.
The first thing modders would (should) do with that value is overwrite it with what they want for the item, so any default-value algorithm would be a waste.
Not only that, but there is edge cases like using positive items like flowers to create a negative item like a mob repellent, so a tag based system would be tricked.
I don’t see a problem for outdated items to get a 0 value like now. I’m actually impressed outdated mods are even active in a23, I would thought with all these changes they would raise the api level to 4.
@BrunoSupremo Agree that modders need to control their content and agree that all tags could be problematic but I think the tags could be more effective at allowing a more dynamic appeal. As it stands I was just looking over the variable quality that appears to adjust both cost and appeal randomly anyway which I don’t really understand yet.
As to my mods there really isn’t anything special. I knew A23 was promising a lot of changes so they are almost entirely content mods without any functionality.
Looking over the Stonehearth Editor it looks like you could set the appeal through the recipe editor? I only just loaded it up and admit it isn’t as intuitive as it could be but if this is possible then it would be very quick to accomplish over a mod. And if someone could add appeal to the “net worth visualizer” it would probably allow for a more uniform flow.
It just adds more value to an item.
A tier 3 crate has no negative appeal for example.
Not sure. This is what is in the constants.json.
@BrunoSupremo my bad I didn’t see that you also added appeal as well. Ignore my last post Thanks again.