This PR adds in functionality that will set a static 420xp per level progression cap for levels past 176 in order to smooth out leveling progress now that the majority of badge users are high level.
The original system expanded the per level requirement endlessly which was fine initially, but it's become evident that this is having a negative effect on reliably generating new badges for people to trade with and the supply has dwindled.
Existing users that are already above 176 will finish out their current level using their old requirement and then once they've leveled will transition to using the new static requirement from that point forward. I've also added a new special badge that everyone over 176 will receive with the migration file to commemorate those old hard-earned levels.
Why 176 and 420?
I originally tried to find a target goal by looking at the XP totals for the top 25 users, finding the average, and then figuring out what Level and next-level-requirement that would map to. Even after removing the top 5 users as outliers, this brought me to Level 269 which was 606 XP to the next level. That still seemed pretty high if we're trying to inject some life into the system, so instead I just worked backwards from the goal XP of 420 (because it's funny and still reasonably large) which landed us at Level 176.
Other Stuff
Bunch of misc stuff in here too.
Couple small wording changes
New /levelcheck command to quickly see how close you are to your next level
We can modify level by !qset now (and it's listed with !qget)
The top 25 total XP ranking report now includes Level as a column
Removed some config cruft and allowed /wishlist commands in #badgeys-badgeys
New drops
Moved the currently solo drop we have checked-in underneath a new drops/extended directory (the only reason we have it checked in is because it's 3 minutes long which we can't host on Imgur with their 1 minute limit). Moving this to a sub-directory will prevent it from being accidentally deleted by !clear_media
/wishlist matches now has a public flag if you want to share your wishlist with the channel at large
py-cord-dev 2.5.0rc5
So the main pycord project is still kinda stuck with some weird drama with the primary maintainer I haven't really looked into yet. I guess they can't release their official 2.5.0 version
It's been many many months now and instead they've just recommended people use this other fork for the time being to get the current functionality, so that's been bumped.
You'll need to do a make docker-build after merging and pulling this down
Migration
Once pulled down and with Aggy running you'll also need to run:
MIGRATION_FILE=./migrations/v1.28.0.sql make db-migrate
This PR adds in functionality that will set a static 420xp per level progression cap for levels past 176 in order to smooth out leveling progress now that the majority of badge users are high level.
The original system expanded the per level requirement endlessly which was fine initially, but it's become evident that this is having a negative effect on reliably generating new badges for people to trade with and the supply has dwindled.
Existing users that are already above 176 will finish out their current level using their old requirement and then once they've leveled will transition to using the new static requirement from that point forward. I've also added a new special badge that everyone over 176 will receive with the migration file to commemorate those old hard-earned levels.
Why 176 and 420?
I originally tried to find a target goal by looking at the XP totals for the top 25 users, finding the average, and then figuring out what Level and next-level-requirement that would map to. Even after removing the top 5 users as outliers, this brought me to Level 269 which was 606 XP to the next level. That still seemed pretty high if we're trying to inject some life into the system, so instead I just worked backwards from the goal XP of 420 (because it's funny and still reasonably large) which landed us at Level 176.
Other Stuff
Bunch of misc stuff in here too.
/levelcheck
command to quickly see how close you are to your next levellevel
by !qset now (and it's listed with !qget)/wishlist
commands in #badgeys-badgeysdrops/extended
directory (the only reason we have it checked in is because it's 3 minutes long which we can't host on Imgur with their 1 minute limit). Moving this to a sub-directory will prevent it from being accidentally deleted by!clear_media
/wishlist matches
now has a public flag if you want to share your wishlist with the channel at largepy-cord-dev 2.5.0rc5
So the main pycord project is still kinda stuck with some weird drama with the primary maintainer I haven't really looked into yet. I guess they can't release their official 2.5.0 version
It's been many many months now and instead they've just recommended people use this other fork for the time being to get the current functionality, so that's been bumped.
You'll need to do a
make docker-build
after merging and pulling this downMigration
Once pulled down and with Aggy running you'll also need to run:
That's it
Should hopefully be some positive changes. 🤞