Is there a valid reason for Xur now having stuff like 3oC and Glass Needles in rotation?
Edit: Nevermind, seems to be a "known issue".
Vendor/UI was built to do one thing, game design evolved to wanting another thing, and the bug is not a showstopper so he'll probably be updated to have the ability to have more inventory when the next major patch goes out (probably with Crimson Days). Depends on how many "surfaces" it touches I guess (UI, Vendor code, yadda yadda)
edit:
based off my ~dev knowledge~ the reason why Xur would have a relatively low limit in the first place would have to do with bits and bytes. If he was set up to have his entire inventory. rolls, and position data to be encoded in say, in 16 bytes, then to push him past you have to change all the backend data and so on up to the next "jump", which is 32. The reason why you would set up such a low limit is that his information has to be sent over the wire to you every tick, so Xur's entire dataset needs to be as small as possible (and the same with every vendor, with IIRC are all blasting data at you constantly like they're each their own server, hence why the tower DDoS'd Kor of Memory out of the game when he was having router packet issues)
Just eyeballing it Xur would have to store:
- What he has in each slot
- What the rolls are for each item in each slot (and even the non-rolled items probably all have innate rolls that are ignored, but they still exist in the dataset for every item in Destiny)
- the cost of each item
- any allow/disallow flags (ie, you have to have X to redeem or buy Y, like they did with the first year for Halloween, or the Xur Urn for Dark Below. Even if he doesn't do this anymore it would still be vestigial code in the engine)
- Probably his location encoded (when Bungie moved him before when the Reef was glitched, he actually appeared in real time in the Tower without needing to re-orbit). Educated guess: there's a certain number of "Xur slots" he can be at, to make is location a single bit and the engine just knows where to put him.
Another example: Halo Reach supported only 26 maximum activated playlists at a time. It sounds low, but then you remember Bungie had to in that era send out the playlist data to all the players playing the game, so what it sounds like they did was store the playlist meta ids in a byte (0-255) and did some software modulus/etc tricks to toggle them on/off or do other things(0 to 25 is 26 unique IDs, then you store extra playlist information in the last digit) (note this is my guess, they never actually wrote a paper on the grit details of their playlist backends)
edit: i'm writing engine posts again, I need my replacement TV to show the fuck up already lol