Jump to content
  • 0

[Potential Bug] Una's Luxuries is not selling rare gems


Question

Posted

After some discussion about rare items in the Character Build forum, I noticed something odd about Una's Luxuries store in Serpent's Crest and did some investigating about how her shop inventory is being generated, especially compared to the shop inventory of The Treasure Trove in the Radiant Court (links go to three separate posts of mine in that thread).

 

I think Una's Luxuries is supposed to have a chance of selling rare gems like Adra Ban, Sapphires, and Rubies (as well as Amber and Emeralds), but she isn't for some reason.

 

This wouldn't be an issue, except when it comes to shops, Adra Ban, Sapphires, and Rubies can only theoretically be bought at her store.  All of the other rare gems like Black Pearls, Amber and Emeralds can be bought elsewhere, so I think there might be some sort of bug/oversight going on for reasons I go into below.

 

Long, very technical explanation of what I am seeing follows in a spoiler box:

Okay, so shop inventories are at least partially generated by Loot Lists found in items.gamedatabundle (as well as some hidden to us code for things that can only be bought once).

 

Una's shop is as follows ([2.0 beta version]):

           {
            "$type": "Game.GameData.LootListGameData, Assembly-CSharp",
            "DebugName": "Store_04_PD_Unas_Luxuries",
            "ID": "7d204d39-7ab8-4a58-929f-37abd5322253",
            "Components": [
                {
                    "$type": "Game.GameData.LootListComponent, Assembly-CSharp",
                    "Conditional": {
                        "Operator": 0,
                        "Components": []
                    },
                    "OutputChance": 1,
                    "OutputMode": "All",
                    "Items": [
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 5,
                            "MaxCount": 8,
                            "Weight": 1,
                            "ItemID": "ca8b16e2-889b-4afe-95a7-226893d4b970",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "d09fcd41-b2f7-4fa3-909d-3a1bf130120c",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "e28180f6-cc3e-4c11-ab84-e04fe494572d",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "8cd137e7-0513-4bc8-aba5-34eead9a4590",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 3,
                            "MaxCount": 5,
                            "Weight": 1,
                            "ItemID": "00000000-0000-0000-0000-000000000000",
                            "LootListID": "b2deaf78-0051-4b69-8da9-2078dbb3bd46",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 3,
                            "MaxCount": 5,
                            "Weight": 1,
                            "ItemID": "00000000-0000-0000-0000-000000000000",
                            "LootListID": "f5153417-4f72-4440-a2e5-1cb28315fc75",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 3,
                            "MaxCount": 5,
                            "Weight": 1,
                            "ItemID": "00000000-0000-0000-0000-000000000000",
                            "LootListID": "a31e5a5c-a2e1-4de0-b9d1-dbb428e5446e",
                            "LockedVisible": "false"
                        }
                    ]
                }
            ]
        }

To fill out her store when it is opened/refreshed, each of those LootLists will be accessed a set number of times.  The LootList "a31e5a5c-a2e1-4de0-b9d1-dbb428e5446e" is the one that governed a list of gems for "Small_Gems_Tropical" which has as possibilities Amber, Adra Ban, Jade, Ruby, Peridot, and Sapphire. 

 

While that Loot List is accessed by several things like critters and containers and other things, Una's store is the ONLY shop that accesses that list.

 

Here is that Loot List I am talking about in detail:

           {
            "$type": "Game.GameData.LootListGameData, Assembly-CSharp",
            "DebugName": "Loot_Small_Gems_Tropical",
            "ID": "a31e5a5c-a2e1-4de0-b9d1-dbb428e5446e",
            "Components": [
                {
                    "$type": "Game.GameData.LootListComponent, Assembly-CSharp",
                    "Conditional": {
                        "Operator": 0,
                        "Components": []
                    },
                    "OutputChance": 1,
                    "OutputMode": "OneRandom",
                    "Items": [
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "125843a1-7b6d-4259-bf82-d186891ef84a",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "1"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706225
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "8fecf40c-f616-43bb-9e73-d1c5a2c0aebf",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "6"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706224
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "44ad3e99-fd00-4649-aafa-40a8bbefd790",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "8"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706234
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "c78ae47d-60ff-4dbc-8aa3-f4778e7c6f0d",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "5"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706221
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "f5ab3a19-47bd-4935-9a27-9c495996fcab",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "6"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706224
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "88b6a5f3-65c5-49f2-bd8a-49d8bc792645",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        }
                    ]
                }
            ]
        }

After some brute force testing (by changing the spawn rate from 3 to 5 to 300 to 500), I was only able to get Jade and Peridot from that list to show up in Una's Luxuries.  Even with a Level 19 character in Act 3, I wasn't able to get any of the other gems in that list to show up.

 

The obvious thing that leapt out to me was the Conditional "IsSceneLevel".  It seems that whatever that is governing is stopping those gems from that list to show up in her shop (as well as similar IsSceneLevel gems from her other LootLists that she accesses).

 

Now this could just be As Designed, except I was able to get IsSceneLevel Greater Than 8 gems to generate in the Treasure Trove shop in the Radiant Court in Dunnage.  That is, equally rare (if not rarer) gems like Amber, Black Pearl, and Emeralds are able to be purchased in the Treasure Trove, even though the Black Pearl one only generates at IsSceneLevel Greater Than 8 (Adra ban, for instance is IsSceneLevel Greater than 5).  Here is one of the LootLists that the Treasure Trove accesses:

           {
            "$type": "Game.GameData.LootListGameData, Assembly-CSharp",
            "DebugName": "Loot_Small_Gems_Coastal",
            "ID": "b2deaf78-0051-4b69-8da9-2078dbb3bd46",
            "Components": [
                {
                    "$type": "Game.GameData.LootListComponent, Assembly-CSharp",
                    "Conditional": {
                        "Operator": 0,
                        "Components": []
                    },
                    "OutputChance": 1,
                    "OutputMode": "OneRandom",
                    "Items": [
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "1a3ddb58-d3f8-49e9-ae94-6e3ef08ebd72",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": []
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "52d4be66-1b00-44b7-9e0b-c6f99544f126",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "1"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706225
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "8d94986f-66cd-4b0d-8e30-e2c58aa574fe",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "2"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706228
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "ec090111-cbc3-4da3-8b70-d0c20ae9fb2c",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "1"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706225
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "8fecf40c-f616-43bb-9e73-d1c5a2c0aebf",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "1"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706225
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "b43f6a5c-9627-426c-b605-e6890a16df0b",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "6"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706224
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "88b6a5f3-65c5-49f2-bd8a-49d8bc792645",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        },
                        {
                            "Conditional": {
                                "Operator": 0,
                                "Components": [
                                    {
                                        "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                        "Data": {
                                            "FullName": "Boolean IsSceneLevel(Operator, Int32)",
                                            "Parameters": [
                                                "GreaterThan",
                                                "8"
                                            ],
                                            "Flags": "",
                                            "UnrealCall": "",
                                            "FunctionHash": -2076448407,
                                            "ParameterHash": 612706234
                                        },
                                        "Not": false,
                                        "Operator": 0
                                    }
                                ]
                            },
                            "OutputChance": 1,
                            "MinCount": 1,
                            "MaxCount": 1,
                            "Weight": 1,
                            "ItemID": "4856e836-930e-470e-be3f-bb6ea7bc58ed",
                            "LootListID": "00000000-0000-0000-0000-000000000000",
                            "LockedVisible": "false"
                        }
                    ]
                }
            ]
        }

Unlike in Una's Luxuries, I am able to get every single one of the gems from that list to show up in the Treasure Trove shop. I did some testing at other shops in Neketaka and was able to get items that has IsSceneLevel Greater Than 4 items to show up, though I only checked a couple of stores, and not as rigorously as I tested these two shops.

 

Una's Luxuries items "capping out" at a certain "IsSceneLevel" wouldn't be an issue, except Adra Ban, Rubies, and Sapphires can't be bought at the Treasure Trove or any other store for that matter.  A player has to get them in the guaranteed spots in the game or hope for a super rare drop/find.

This might be an intentional design decision, but other equally rare (or rarer) gems CAN be bought in stores. And the fact that the LootList "Loot_Small_Gems_Tropical" ("a31e5a5c-a2e1-4de0-b9d1-dbb428e5446e") only shows up in her shop when it comes to stores (it DOES show up in a few other places as I noted earlier, FWIW) makes me wonder if this was an oversight.

 

Like, perhaps the IsSceneLevel was making sure that things like Adra Ban and Sapphires wouldn't be found in containers/elsewhere in low level areas, but it might be an unintentional oversight that they're not appearing in the store it MIGHT have been designed to be bought in.

------

 

If Una's Luxuries isn't supposed to sell rare gems, perhaps the design team could consider adding the loot list "Loot_Small_Gems_Tropical" to the TreasureTrove shop in Dunnage, or another shop that has access to high level items. It just seems odd that some very rare gems can be bought, but gems which might be less rare can't be bought. 

 

Just calling attention to a possible oversight/unintended design issue where some gems can't be bought in the game. :)

  • Like 6

8 answers to this question

Recommended Posts

  • 0
Posted (edited)

I'm at the stage of the game where I've got a lot of money and I'm starting to use it to upgrade my kit. Mother of pearl is something that seems to be very much in demand (it's used in a *lot* of enchantments), but I'm having difficulty finding any.

 

I hoped that I could find some in Una's Luxuries, but was disappointed when I saw that she was only selling jasper, pyrites, and aquamarines (as well as two magical rings which I think can only be bought at her shop). So much for her boast of selling rare and valuable gems, huh!

 

Um, I dunno. It seems like she only has a very small stock and not much variety. Is that a bug? The invisible hand of the Random Number God? Who knows? Not me.

Edited by Chandagnac
  • 0
Posted

I'm at the stage of the game where I've got a lot of money and I'm starting to use it to upgrade my kit. Mother of pearl is something that seems to be very much in demand (it's used in a *lot* of enchantments), but I'm having difficulty finding any.

 

I hoped that I could find some in Una's Luxuries, but was disappointed when I saw that she was only selling jet, pyrites, and aquamarines (as well as two magical rings which I think can only be bought at her shop). So much for her boast of selling rare and valuable gems, huh!

 

Um, I dunno. It seems like she only has a very small stock and not much variety. Is that a bug? The invisible hand of the Random Number God? Who knows? Not me.

 

Mother of Pearl can be found at:

 

The Treasure Trove in the Radiant Court in Dunnage.

Ernezzo's Supplies in Delver's Row

Una's Luxuries in Serpent's Crown.

 

Just verified all three. You might have gotten unlucky when it comes to Una.  

 

If an item isn't in a store, wait 26 hours and try again and see if it pops up or not.  If they sell it, of course. :)

  • Like 1
  • 0
Posted

Maybe one of the DLCs will unlock Una's claim of selling the finest collection of rare stones ... because at the moment, that is false.

 

I would trade Tekehu in a heartbeat for the chance to buy adra ban.

All Stop. On Screen.

  • 0
Posted

so hard to buy some ingredients right now

all depend on chance

store should at least have 3 or 4 of every kind of their main merchandise

  • 0
Posted (edited)

I'm loathe to bump this back up, but I was wonder if this really was an intentional design decision on the DevTeam or not.

 

I was mostly reminded about this because we are semi-regularly getting comments in the Spoiler and the CharOp sections about the lack of Adra Ban (and to a lesser degree Sapphires and Rubies) in the game.

 

If it IS intentional that Una's Luxuries can never get rarer gems, perhaps the three mentioned in the OP could be bought at another store?  Even one that might not be usually reached until the mid-game (like Tikawara or Crookspur or Ori o Koki)?

 

Just seems odd that the one and only store in the game that DOES get 'Tropical Gems' can't sell most of them. 

Edited by Zap Gun For Hire
  • Like 1
  • 0
Posted

The DLC added a bunch of extra sapphires, which is great. But there are still only like 4 guaranteed adra ban in the game, and most people won't see more than ~6. That's three one handed weapons, or one and a two-handed to legendary. Less if you want non-quality enchant that costs them (like the new hunting bow; 6 adra ban to fully upgrade it - RIP all your other gear).

  • Like 1
  • 0
Posted
On 8/11/2018 at 5:20 AM, thundercleese said:

The DLC added a bunch of extra sapphires, which is great. But there are still only like 4 guaranteed adra ban in the game, and most people won't see more than ~6. That's three one handed weapons, or one and a two-handed to legendary. Less if you want non-quality enchant that costs them (like the new hunting bow; 6 adra ban to fully upgrade it - RIP all your other gear).

Is this true? There are like a dozen adra bans or so in my games. Anyway, on topic: There is a mod that addresses this for Una's store, since the devs never addressed this.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...