From e5bd08c0c4355cb5dcc2dd29f2e4f6cc44c82e0e Mon Sep 17 00:00:00 2001 From: PneuJai <53138480+Rjlintkh@users.noreply.github.com> Date: Tue, 26 Jan 2021 20:44:48 +0800 Subject: [PATCH] Added CM.Disp.ReplaceCrateTooltipAchievements CM.Disp.ReplaceCrateTooltipAchievements will backup and replace Game.crate and Game.crateTooltip and edit their outputs to show mysterious achievements Also this will check for CM.Options.ShowMysteriousAchievements and CM.Options.ShowMysteriousShadowAchievements --- src/Disp.js | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/Disp.js b/src/Disp.js index f55a4e7..5c1ab60 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -1249,6 +1249,49 @@ CM.Disp.ReplaceTooltipLump = function() { } }; +/** + * This function replaces the original Game.crate and Game.crateTooltip functions of stats page + */ +CM.Disp.ReplaceCrateTooltipAchievements = function() { + CM.Disp.CrateTooltipAchievementsBackup = [Game.crate, Game.crateTooltip]; + Game.crate = function(me,context,forceClickStr,id) { + let output; + if (me.type === 'achievement') { + let icon = me.icon; + if (CM.Options.ShowMysteriousShadowAchievements && me.pool === 'shadow') { + me.pool = 'normal'; + me.isShadow = true; + } + output = CM.Disp.CrateTooltipAchievementsBackup[0](me,context,forceClickStr,id); + if (CM.Options.ShowMysteriousAchievements && me.pool === 'normal' && !me.isShadow) output = output.replace('background-position:0px -336px', 'background-position:'+(-icon[0]*48)+'px '+(-icon[1]*48)+'px'); + if (CM.Options.ShowMysteriousShadowAchievements && me.isShadow) { + me.pool = 'shadow'; + output = output.replace('background-position:0px -336px', 'background-position:'+(-icon[0]*48)+'px '+(-icon[1]*48)+'px'); + } + } else { + output = CM.Disp.CrateTooltipAchievementsBackup[0](me,context,forceClickStr,id); + } + return output; + } + Game.crateTooltip = function(me,context) { + let output; + if (me.type === 'achievement') { + output = CM.Disp.CrateTooltipAchievementsBackup[1](me,context); + if (CM.Options.ShowMysteriousAchievements && me.pool === 'normal') { + output = output.replace('