[Code/Karma] Karma refactor plans #17441
AffectedArc07
started this conversation in
Documents
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
IMPORTANT
This is about the code implementation of karma, not the unlocks you can buy with it. If you want to comment about what karma unlocks there should and should be, go to the forums. This is a code discussion, not a feature discussion, hence it being here, not the forums
Karma in its current state is flawed. I dont mean in a usability POV, I straight up mean how its implemented, starting with the DB schema.
The first issue here is the fact the table is called
whitelist
. This is a completely invalid name to use as whitelist is something entirely different. Given how we havekarma
(which is a record of karma awardings) andkarmatotals
(exactly what it sounds like), I plan to do the following:whitelist
tokarma_purchases
karmatotals
tokarma_totals
karma
tokarma_log
I also want to switch this table up majorly. Not only does it violate every DB convention known to man, it also limits our options on what can go in here. It really should be
id
(PK) - Purchase IDckey
- Ckey that made the purchasepurchase
- The name of the purchase, matched to a#define
ingame. This will allow us to properly expand the karma system to things more than jobs and species, not to mention make the cleanup easier in the future, as we can just grab all of the purchases as part of a CDL routine and then doclient.hasKarmaPurchase(KARMA_PURCHASE_XYZ)
. This will also allow stuff to be redone in the future.I might also TGUI the karma shop. Yes I know I have said numerous times "No TGUI for OOC interfaces", but the karma UI is hardly a core game thing, and having a search and other features would be good.
I plan to do all of this at some point, including write a converter a-la feedback2, this is just a planning document to get people's opinions.
Beta Was this translation helpful? Give feedback.
All reactions