From fe288235c3febfb5a72ed88c7e245853479f0ed4 Mon Sep 17 00:00:00 2001 From: "Jill \"oatmealine\" Monoids" Date: Mon, 9 Jan 2023 15:28:25 +0300 Subject: [PATCH] the Rainbow Purge --- config.example.toml | 2 ++ src/crystal-gauntlet.cr | 4 ++++ src/endpoints/comments/getLevelComments.cr | 19 +++++++++++++------ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/config.example.toml b/config.example.toml index acbb3de..a82a920 100644 --- a/config.example.toml +++ b/config.example.toml @@ -19,6 +19,8 @@ hostname = "localhost:8080" # if you're putting the server behind nginx or cloudflare, # keep this on to keep ips accurate trust_proxy = true +# 🤫 +easter_eggs = false [formatting] # whether to format dates as relative or absolute diff --git a/src/crystal-gauntlet.cr b/src/crystal-gauntlet.cr index ed99e8b..1c5cc91 100644 --- a/src/crystal-gauntlet.cr +++ b/src/crystal-gauntlet.cr @@ -88,6 +88,10 @@ module CrystalGauntlet @@template_endpoints end + def self.is_funny + config_get("general.easter_eggs", false) + end + def severity_color(severity : Log::Severity) : Colorize::Object case severity when .trace? diff --git a/src/endpoints/comments/getLevelComments.cr b/src/endpoints/comments/getLevelComments.cr index f093c18..a75ca75 100644 --- a/src/endpoints/comments/getLevelComments.cr +++ b/src/endpoints/comments/getLevelComments.cr @@ -26,8 +26,15 @@ CrystalGauntlet.endpoints["/getGJComments21.php"] = ->(context : HTTP::Server::C end user_rank = account_id ? Ranks.get_rank(account_id) : nil - LOG.debug { user_rank.not_nil!.name } - LOG.debug { user_rank.not_nil!.text_color } + + text_color = ((user_rank ? user_rank.text_color : nil) || [0, 0, 0]).join(",") + badge = user_rank ? user_rank.badge : 0 + if CrystalGauntlet.is_funny && Time.utc.hour == 5 && Time.utc.minute == 55 + text_color = "#{rand(255)},#{rand(255)},#{rand(255)}" + if badge == 0 + badge = 1 + end + end if Versions.parse(params["gameVersion"]? || "19") >= Versions::V2_1 comments_str << [ @@ -41,8 +48,8 @@ CrystalGauntlet.endpoints["/getGJComments21.php"] = ->(context : HTTP::Server::C 8 => account_id, 9 => Time.parse(created_at, Format::TIME_FORMAT, Time::Location::UTC), 10 => percent || 0, - 11 => user_rank ? user_rank.badge : 0, - 12 => ((user_rank ? user_rank.text_color : nil) || [0, 0, 0]).join(","), + 11 => badge, + 12 => text_color, }), Format.fmt_comment({ 1 => username || "-", @@ -65,8 +72,8 @@ CrystalGauntlet.endpoints["/getGJComments21.php"] = ->(context : HTTP::Server::C 8 => account_id, 9 => Time.parse(created_at, Format::TIME_FORMAT, Time::Location::UTC), 10 => percent || 0, - 11 => user_rank ? user_rank.badge : 0, - 12 => ((user_rank ? user_rank.text_color : nil) || [0, 0, 0]).join(","), + 11 => badge, + 12 => text_color, }) users_str << [user_id, username || "-", account_id || udid ].join(":")