TShock icon indicating copy to clipboard operation
TShock copied to clipboard

Rewrite ssc

Open QuiCM opened this issue 5 years ago • 3 comments

This is wildly untested and smashed out in a night. Some hardcore review (and testing if possible!) would be appreciated.

Pulled as much of the SSC subsystem out of the various handlers and methods it was in as I could and turned it into a first class system. It now hooks things on its own and is hopefully a lot cleaner to look at

QuiCM avatar Jun 03 '20 13:06 QuiCM

Thanks for the pull request! TShock's maintainers would like you to go ahead and give yourself credit by updating the CHANGELOG.md as soon as you can. Your pull request will likely not be accepted without this. This both helps us document changes to TShock, as well as give you credit for your work. You deserve it, so go take credit! :sparkles:

maka-albarn[bot] avatar Jun 03 '20 13:06 maka-albarn[bot]

No idea if overridessc and uploadssc commands still work. No idea how stable anything is. No idea if there's other login/logout/account/etc use cases I haven't considered yet Haven't tested that it works with an aged SSC database, but not much has changed in terms of data in/out

QuiCM avatar Jun 03 '20 13:06 QuiCM

No idea if overridessc and uploadssc commands still work. No idea how stable anything is. No idea if there's other login/logout/account/etc use cases I haven't considered yet Haven't tested that it works with an aged SSC database, but not much has changed in terms of data in/out

Some test results:

-Overridessc and uploadssc commands do not work (Log: Command: ERROR: System.NullReferenceException) -Logout account does not ignore the player the same way as when the player enters the server the first time -I used a clean database created by that branch and in another test an existing database and apparently there were no problems -Superadmin accounts or groups with permission 'tshock.ignore.ssc', usually ignore SSC inventory, but some errors occur. As I don't usually use this function, I don't know if in the old way it is intentional to save the current items in the database. So one must treat or add the check if the player has permission in SaveAllPlayersData, OnPlayerLogout, OnPlayerHpChange, OnPlayerManaChange

Thank for this work!

rickojp avatar Jun 10 '20 01:06 rickojp