Dev build/Linux: Ingredients bought from an alchemist do not stack automatically [RESOLVED]

Locked
User avatar
pango
Posts: 3359
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Dev build/Linux: Ingredients bought from an alchemist do not stack automatically [RESOLVED]

Post by pango »

Ingredients do not stack as their put into the basket (seems consistent with at least other shops), but they do not coalesce when bought either as they should.

gamesave in an alchemist shop with duplicate ingredients
Attachments
SAVE88.zip
(234.13 KiB) Downloaded 73 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Hazelnut
Posts: 3016
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by Hazelnut »

They should do, I will take a look.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
pango
Posts: 3359
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by pango »

If I buy two "Green Berries", they have different itemGroup and groupIndex:

Code: Select all

                {
                    "uid": 33624425,
                    "shortName": "Green berries",
                    "nativeMaterialValue": 0,
                    "dyeColor": "Unchanged",
                    "weightInKg": 0.5,
                    "drawOrder": 4,
                    "value1": 4,
                    "value2": 0,
                    "hits1": 5,
                    "hits2": 5,
                    "hits3": 0,
                    "stackCount": 1,
                    "enchantmentPoints": 0,
                    "message": 0,
                    "legacyMagic": null,
                    "playerTextureArchive": 0,
                    "playerTextureRecord": 0,
                    "worldTextureArchive": 254,
                    "worldTextureRecord": 16,
                    "itemGroup": "PlantIngredients2",  <==========
                    "groupIndex": 6,
                    "currentVariant": 0,
                    "isQuestItem": false,
                    "questUID": 0,
                    "questItemSymbol": null,
                    "trappedSoulType": "None",
                    "className": null,
                    "poisonType": "None",
                    "$version": "v1"
                },
                {
                    "uid": 33624420,
                    "shortName": "Green berries",
                    "nativeMaterialValue": 0,
                    "dyeColor": "Unchanged",
                    "weightInKg": 0.5,
                    "drawOrder": 4,
                    "value1": 4,
                    "value2": 0,
                    "hits1": 5,
                    "hits2": 5,
                    "hits3": 0,
                    "stackCount": 1,
                    "enchantmentPoints": 0,
                    "message": 0,
                    "legacyMagic": null,
                    "playerTextureArchive": 0,
                    "playerTextureRecord": 0,
                    "worldTextureArchive": 254,
                    "worldTextureRecord": 16,
                    "itemGroup": "PlantIngredients1",  <==========
                    "groupIndex": 7,
                    "currentVariant": 0,
                    "isQuestItem": false,
                    "questUID": 0,
                    "questItemSymbol": null,
                    "trappedSoulType": "None",
                    "className": null,
                    "poisonType": "None",
                    "$version": "v1"
                }
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Hazelnut
Posts: 3016
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by Hazelnut »

Oh, I see - well they should not be combined as they are different items. They just happen to share the same name & icon and look identical. :D

No idea why this is the case, but assume it's to match classic or something? There's quite a bit of overlap between the ingredients enums. I'll give some thought to solutions / work arounds when I'm back next week.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

R.D.
Posts: 379
Joined: Fri Oct 07, 2016 10:41 am

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by R.D. »

Yeah it's to match classic. They are just called PlantIngredients1, PlantIngredients2, etc. in Daggerfall Unity's enums, but in Daggerfall Chronicles I think they are called things like "warm ingredients" and "cold ingredients". Just like you might have some overlap of enemy type in both a levelled list for a desert area and one for a snow area, there is overlap here. I don't think, though, that classic actually uses these for "warm" or "cold" regions (maybe that was the plan), but we need to keep it the same to get the same possible ingredients as classic for dungeon loot, enemy loot, etc.

Of course, classic doesn't have item stacking outside of arrows, so the fact that there are two different green berries, etc. wasn't a problem there.

User avatar
Hazelnut
Posts: 3016
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by Hazelnut »

The only easy solution I can come up with that preserves Daggerfall classic imports and everything else is to add a differentiator to the long name which is displayed in the tooltips. This will at least let the player know why the plants are not stacking.

I've gone for the suffixes "(northern)" and "(southern)" based on Allofich's suggestion. Happy to take any better suggestions.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
pango
Posts: 3359
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by pango »

I like it, and hopefully that would be enough to prevent some future bug reports.
Visual differences would help even more with that, but as you said earlier, "if it contains new graphics, it's a mod", so I guess the options are:
- repurpose unused graphics in the game. I'm not sure they're unused ingredient graphics, but probably not enough for this;
- procedurally create new visuals from existing ones (modifying tint, like armor materials, that kind of trick);
- and allow mods to separately overload each variant.

Just for my own curiosity how does that work with alchemy, are all variants equivalent when brewing a potion?
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Hazelnut
Posts: 3016
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Dev build/Linux: Ingredients bought from an alchemist do not stack automatically

Post by Hazelnut »

Pretty sure that's the case since recipes just refer to the name. Another unimplemented aspect of classic I guess.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

Locked