(achievements): Separate emoji sorting order.

This commit is contained in:
2022-01-28 21:43:18 +02:00
parent 70a94e79cc
commit 0ed83a6445

View File

@@ -156,6 +156,7 @@ class Achievement:
class Workout(Achievement): class Workout(Achievement):
sorting_index = 8 sorting_index = 8
emoji_index = 4
name = "It's about Power" name = "It's about Power"
levels = [ levels = [
@@ -175,6 +176,7 @@ class Workout(Achievement):
class StudyHours(Achievement): class StudyHours(Achievement):
sorting_index = 1 sorting_index = 1
emoji_index = 1
name = "Dream Big" name = "Dream Big"
levels = [ levels = [
@@ -202,6 +204,7 @@ class StudyHours(Achievement):
class StudyStreak(Achievement): class StudyStreak(Achievement):
sorting_index = 2 sorting_index = 2
emoji_index = 2
name = "Consistency is Key" name = "Consistency is Key"
levels = [ levels = [
@@ -282,6 +285,7 @@ class StudyStreak(Achievement):
class Voting(Achievement): class Voting(Achievement):
sorting_index = 7 sorting_index = 7
emoji_index = 7
name = "We're a Team" name = "We're a Team"
levels = [ levels = [
@@ -301,6 +305,7 @@ class Voting(Achievement):
class DaysStudying(Achievement): class DaysStudying(Achievement):
sorting_index = 3 sorting_index = 3
emoji_index = 3
name = "Aim For The Moon" name = "Aim For The Moon"
levels = [ levels = [
@@ -335,6 +340,7 @@ class DaysStudying(Achievement):
class TasksComplete(Achievement): class TasksComplete(Achievement):
sorting_index = 4 sorting_index = 4
emoji_index = 8
name = "One Step at a Time" name = "One Step at a Time"
levels = [ levels = [
@@ -355,6 +361,7 @@ class TasksComplete(Achievement):
class ScheduledSessions(Achievement): class ScheduledSessions(Achievement):
sorting_index = 5 sorting_index = 5
emoji_index = 5
name = "Be Accountable" name = "Be Accountable"
levels = [ levels = [
@@ -376,6 +383,7 @@ class ScheduledSessions(Achievement):
class MonthlyHours(Achievement): class MonthlyHours(Achievement):
sorting_index = 6 sorting_index = 6
emoji_index = 6
name = "The 30 Days Challenge" name = "The 30 Days Challenge"
levels = [ levels = [
@@ -430,13 +438,12 @@ achievements = [
ScheduledSessions, ScheduledSessions,
MonthlyHours MonthlyHours
] ]
achievements.sort(key=lambda cls: cls.sorting_index)
async def get_achievements_for(member): async def get_achievements_for(member, panel_sort=False):
status = [ status = [
await ach.fetch(member.guild.id, member.id) await ach.fetch(member.guild.id, member.id)
for ach in achievements for ach in sorted(achievements, key=lambda cls: (cls.sorting_index if panel_sort else cls.emoji_index))
] ]
return status return status
@@ -454,7 +461,7 @@ async def cmd_achievements(ctx: LionContext):
Description: Description:
View your progress towards attaining the achievement badges shown on your `profile`. View your progress towards attaining the achievement badges shown on your `profile`.
""" """
status = await get_achievements_for(ctx.author) status = await get_achievements_for(ctx.author, panel_sort=True)
embed = discord.Embed( embed = discord.Embed(
title="Achievements", title="Achievements",