Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Taking a Chiso Preniv book creates a junk personal instance of Chiso Preniv #1557

Open
dgelessus opened this issue Jan 17, 2024 · 3 comments

Comments

@dgelessus
Copy link
Contributor

When an avatar collects a Chiso Preniv book in the Watcher's Pub, this triggers the xRegisterAge.py script to give the avatar a link to Chiso Preniv. That link doesn't point to the public instance of Chiso Preniv though - rather, xRegisterAge.py creates a new personal instance of Chiso Preniv owned by the avatar. This seems wrong - Chiso Preniv isn't supposed to have personal instances.

As far as I can tell, this has no negative effect on gameplay. Even though every avatar's owned Chiso Preniv link now points to a personal instance, the Relto bookshelf links to the correct public instance anyway, thanks to a special case in psnlBookshelf.py (see kHardcodedInstances). We just have a bunch of dead Chiso Preniv instances in our vaults now, which is never nice.

To fix this, I assume xRegisterAge.py needs to set the correct age instance UUID when adding the link. Currently it leaves the UUID unset, so the server generates a random UUID and creates a new instance with that. xRegisterAge.py probably needs a new attribute for the UUID - sadly this means we have to touch GreatTreePub and configure the UUID there. (We could instead look up the UUID in xRegisterAge.py, but that doesn't seem like a great solution.)

@Hoikas
Copy link
Member

Hoikas commented Jan 17, 2024

This is probably similar to city. Everyone has a copy of city, but there is a special case in the engine itself to avoid adding owners to the city vault, which would cause bad slowdowns on Cyan's legacy shard (ala "Hell Hood"). With that in mind, it might be better to just content ourselves with the junk personal instance.

@dgelessus
Copy link
Contributor Author

Hmm, you're probably right that it would make everyone an owner of the public Chiso Preniv instance (with all the associated slowdowns), at least assuming we use the standard "register owned age" logic. That seems to be a purely client-side thing though, so we could create the Chiso link some other way that doesn't blow up the public Chiso Preniv vault tree. Of course, the question is whether implementing this is worth the effort.

@Hazado
Copy link
Contributor

Hazado commented Jan 17, 2024

I designed it this way so that future ages could be added and registered to the vault correctly.

If we are so inclined, it could be changed to use an sdl instead.

Would mean additional sdl changes to personal age

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants