From 3ff3b970a0b87cc719c12ba5c199b2a428353324 Mon Sep 17 00:00:00 2001 From: Eric Olsen Date: Fri, 4 Oct 2019 23:42:05 -0600 Subject: [PATCH 1/6] Fortune Cookie Effects configuration --- src/Config.js | 7 +++++++ src/Main.js | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/Config.js b/src/Config.js index 63c6b18..a75f8f8 100644 --- a/src/Config.js +++ b/src/Config.js @@ -148,6 +148,13 @@ for (var i = 0; i < 101; i++) { CM.ConfigData.GCSoundURL = {label: 'Golden Cookie Sound URL:', desc: 'URL of the sound to be played when a Golden Cookie spawns'}; CM.ConfigData.GCTimer = {label: ['Golden Cookie Timer OFF', 'Golden Cookie Timer ON'], desc: 'A timer on the Golden Cookie when it has been spawned', toggle: true, func: function() {CM.Disp.ToggleGCTimer();}}; CM.ConfigData.Favicon = {label: ['Favicon OFF', 'Favicon ON'], desc: 'Update favicon with Golden/Wrath Cookie', toggle: true, func: function() {CM.Disp.UpdateFavicon();}}; +CM.ConfigData.FortuneFlash = {label: ['Fortune Cookie Flash OFF', 'Fortune Cookie Flash ON'], desc: 'Flash screen on Fortune Cookie', toggle: true}; +CM.ConfigData.FortuneSound = {label: ['Fortune Cookie Sound OFF', 'Fortune Cookie Sound ON'], desc: 'Play a sound on Fortune Cookie', toggle: true}; +CM.ConfigData.FortuneVolume = {label: [], desc: 'Volume of the Fortune Cookie sound'}; +for (var i = 0; i < 101; i++) { + CM.ConfigData.FortuneVolume.label[i] = i + '%'; +} +CM.ConfigData.FortuneSoundURL = {label: 'Fortune Cookie Sound URL:', desc: 'URL of the sound to be played when the Ticker has a Fortune Cookie'}; CM.ConfigData.SeaFlash = {label: ['Season Special Flash OFF', 'Season Special Flash ON'], desc: 'Flash screen on Season Popup', toggle: true}; CM.ConfigData.SeaSound = {label: ['Season Special Sound OFF', 'Season Special Sound ON'], desc: 'Play a sound on Season Popup', toggle: true}; CM.ConfigData.SeaVolume = {label: [], desc: 'Volume of the Season Special sound'}; diff --git a/src/Main.js b/src/Main.js index 4a87586..34bb595 100644 --- a/src/Main.js +++ b/src/Main.js @@ -266,6 +266,10 @@ CM.ConfigDefault = { GCSoundURL: 'https://freesound.org/data/previews/66/66717_931655-lq.mp3', GCTimer: 1, Favicon: 1, + FortuneFlash: 1, + FortuneSound: 1, + FortuneVolume: 100, + FortuneSoundURL: 'https://freesound.org/data/previews/419/419594_7062176-lq.mp3', SeaFlash: 1, SeaSound: 1, SeaVolume: 100, From 8e2777df0eea0b0e32d427e3659d8520e19ced8e Mon Sep 17 00:00:00 2001 From: Eric Olsen Date: Fri, 4 Oct 2019 23:44:33 -0600 Subject: [PATCH 2/6] more Fortune Cookie config stuff --- src/Disp.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Disp.js b/src/Disp.js index 4197b76..8bdff76 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -1112,6 +1112,10 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(url('GCSoundURL')); frag.appendChild(listing('GCTimer')); frag.appendChild(listing('Favicon')); + frag.appendChild(listing('FortuneFlash')); + frag.appendChild(listing('FortuneSound')); + frag.appendChild(vol('FortuneVolume')); + frag.appendChild(url('FortuneSoundURL')); frag.appendChild(listing('SeaFlash')); frag.appendChild(listing('SeaSound')); frag.appendChild(vol('SeaVolume')); From 8af54cfe8c302f4ccc9cb49babcc6d50dcb25352 Mon Sep 17 00:00:00 2001 From: Eric Olsen Date: Fri, 4 Oct 2019 23:46:42 -0600 Subject: [PATCH 3/6] Fortune Cookie checker function and added to the main loop --- src/Disp.js | 10 ++++++++++ src/Main.js | 3 +++ 2 files changed, 13 insertions(+) diff --git a/src/Disp.js b/src/Disp.js index 8bdff76..c8f98be 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -869,6 +869,15 @@ CM.Disp.CheckGoldenCookie = function() { } } +CM.Disp.CheckTickerFortune = function() { + if (CM.Disp.lastTickerFortuneState != (Game.TickerEffect && Game.TickerEffect.type == 'fortune')) { + CM.Disp.lastTickerFortuneState = (Game.TickerEffect && Game.TickerEffect.type == 'fortune'); + if (CM.Disp.lastTickerFortuneState) { + CM.Disp.Flash(3, 'FortuneFlash'); + CM.Disp.PlaySound(CM.Config.FortuneSoundURL, 'FortuneSound', 'FortuneVolume'); + } + } +} CM.Disp.CheckSeasonPopup = function() { if (CM.Disp.lastSeasonPopupState != Game.shimmerTypes['reindeer'].spawned) { @@ -2030,6 +2039,7 @@ CM.Disp.colorBrown = 'Brown'; CM.Disp.colors = [CM.Disp.colorBlue, CM.Disp.colorGreen, CM.Disp.colorYellow, CM.Disp.colorOrange, CM.Disp.colorRed, CM.Disp.colorPurple, CM.Disp.colorGray, CM.Disp.colorPink, CM.Disp.colorBrown]; CM.Disp.buffColors = {'Frenzy': CM.Disp.colorYellow, 'Dragon Harvest': CM.Disp.colorBrown, 'Elder frenzy': CM.Disp.colorGreen, 'Clot': CM.Disp.colorRed, 'Click frenzy': CM.Disp.colorBlue, 'Dragonflight': CM.Disp.colorPink}; CM.Disp.lastGoldenCookieState = 0; +CM.Disp.lastTickerFortuneState = 0; CM.Disp.lastSeasonPopupState = 0; CM.Disp.lastGardenNextStep = 0; CM.Disp.goldenShimmer; diff --git a/src/Main.js b/src/Main.js index 34bb595..75c5bb7 100644 --- a/src/Main.js +++ b/src/Main.js @@ -186,6 +186,9 @@ CM.Loop = function() { // Check Golden Cookies CM.Disp.CheckGoldenCookie(); + // Check Fortune Cookies + CM.Disp.CheckTickerFortune(); + // Check Season Popup CM.Disp.CheckSeasonPopup(); From 836804b3f957f2c7491e6a6560f4e6880f80f4f9 Mon Sep 17 00:00:00 2001 From: Eric Olsen Date: Fri, 4 Oct 2019 23:58:30 -0600 Subject: [PATCH 4/6] combine Fortune Cooke effect commits into CookieMonster.js --- CookieMonster.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CookieMonster.js b/CookieMonster.js index 8aa733b..ab60b8b 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -542,6 +542,13 @@ for (var i = 0; i < 101; i++) { CM.ConfigData.GCSoundURL = {label: 'Golden Cookie Sound URL:', desc: 'URL of the sound to be played when a Golden Cookie spawns'}; CM.ConfigData.GCTimer = {label: ['Golden Cookie Timer OFF', 'Golden Cookie Timer ON'], desc: 'A timer on the Golden Cookie when it has been spawned', toggle: true, func: function() {CM.Disp.ToggleGCTimer();}}; CM.ConfigData.Favicon = {label: ['Favicon OFF', 'Favicon ON'], desc: 'Update favicon with Golden/Wrath Cookie', toggle: true, func: function() {CM.Disp.UpdateFavicon();}}; +CM.ConfigData.FortuneFlash = {label: ['Fortune Cookie Flash OFF', 'Fortune Cookie Flash ON'], desc: 'Flash screen on Fortune Cookie', toggle: true}; +CM.ConfigData.FortuneSound = {label: ['Fortune Cookie Sound OFF', 'Fortune Cookie Sound ON'], desc: 'Play a sound on Fortune Cookie', toggle: true}; +CM.ConfigData.FortuneVolume = {label: [], desc: 'Volume of the Fortune Cookie sound'}; +for (var i = 0; i < 101; i++) { + CM.ConfigData.FortuneVolume.label[i] = i + '%'; +} +CM.ConfigData.FortuneSoundURL = {label: 'Fortune Cookie Sound URL:', desc: 'URL of the sound to be played when the Ticker has a Fortune Cookie'}; CM.ConfigData.SeaFlash = {label: ['Season Special Flash OFF', 'Season Special Flash ON'], desc: 'Flash screen on Season Popup', toggle: true}; CM.ConfigData.SeaSound = {label: ['Season Special Sound OFF', 'Season Special Sound ON'], desc: 'Play a sound on Season Popup', toggle: true}; CM.ConfigData.SeaVolume = {label: [], desc: 'Volume of the Season Special sound'}; @@ -1449,6 +1456,15 @@ CM.Disp.CheckGoldenCookie = function() { } } +CM.Disp.CheckTickerFortune = function() { + if (CM.Disp.lastTickerFortuneState != (Game.TickerEffect && Game.TickerEffect.type == 'fortune')) { + CM.Disp.lastTickerFortuneState = (Game.TickerEffect && Game.TickerEffect.type == 'fortune'); + if (CM.Disp.lastTickerFortuneState) { + CM.Disp.Flash(3, 'FortuneFlash'); + CM.Disp.PlaySound(CM.Config.FortuneSoundURL, 'FortuneSound', 'FortuneVolume'); + } + } +} CM.Disp.CheckSeasonPopup = function() { if (CM.Disp.lastSeasonPopupState != Game.shimmerTypes['reindeer'].spawned) { @@ -1692,6 +1708,10 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(url('GCSoundURL')); frag.appendChild(listing('GCTimer')); frag.appendChild(listing('Favicon')); + frag.appendChild(listing('FortuneFlash')); + frag.appendChild(listing('FortuneSound')); + frag.appendChild(vol('FortuneVolume')); + frag.appendChild(url('FortuneSoundURL')); frag.appendChild(listing('SeaFlash')); frag.appendChild(listing('SeaSound')); frag.appendChild(vol('SeaVolume')); @@ -2606,6 +2626,7 @@ CM.Disp.colorBrown = 'Brown'; CM.Disp.colors = [CM.Disp.colorBlue, CM.Disp.colorGreen, CM.Disp.colorYellow, CM.Disp.colorOrange, CM.Disp.colorRed, CM.Disp.colorPurple, CM.Disp.colorGray, CM.Disp.colorPink, CM.Disp.colorBrown]; CM.Disp.buffColors = {'Frenzy': CM.Disp.colorYellow, 'Dragon Harvest': CM.Disp.colorBrown, 'Elder frenzy': CM.Disp.colorGreen, 'Clot': CM.Disp.colorRed, 'Click frenzy': CM.Disp.colorBlue, 'Dragonflight': CM.Disp.colorPink}; CM.Disp.lastGoldenCookieState = 0; +CM.Disp.lastTickerFortuneState = 0; CM.Disp.lastSeasonPopupState = 0; CM.Disp.lastGardenNextStep = 0; CM.Disp.goldenShimmer; @@ -2822,6 +2843,9 @@ CM.Loop = function() { // Check Golden Cookies CM.Disp.CheckGoldenCookie(); + // Check Fortune Cookies + CM.Disp.CheckTickerFortune(); + // Check Season Popup CM.Disp.CheckSeasonPopup(); @@ -2902,6 +2926,10 @@ CM.ConfigDefault = { GCSoundURL: 'https://freesound.org/data/previews/66/66717_931655-lq.mp3', GCTimer: 1, Favicon: 1, + FortuneFlash: 1, + FortuneSound: 1, + FortuneVolume: 100, + FortuneSoundURL: 'https://freesound.org/data/previews/419/419594_7062176-lq.mp3', SeaFlash: 1, SeaSound: 1, SeaVolume: 100, From 431b1e6cd0c8636c913278f0c3e73c442b34b284 Mon Sep 17 00:00:00 2001 From: Eric Olsen Date: Sat, 5 Oct 2019 00:29:57 -0600 Subject: [PATCH 5/6] cleaned-up whitespace formatting to match the rest (tabs instead of spaces) --- CookieMonster.js | 30 +++++++++++++++--------------- src/Config.js | 2 +- src/Disp.js | 20 ++++++++++---------- src/Main.js | 8 ++++---- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index ab60b8b..e82666d 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -546,7 +546,7 @@ CM.ConfigData.FortuneFlash = {label: ['Fortune Cookie Flash OFF', 'Fortune Cooki CM.ConfigData.FortuneSound = {label: ['Fortune Cookie Sound OFF', 'Fortune Cookie Sound ON'], desc: 'Play a sound on Fortune Cookie', toggle: true}; CM.ConfigData.FortuneVolume = {label: [], desc: 'Volume of the Fortune Cookie sound'}; for (var i = 0; i < 101; i++) { - CM.ConfigData.FortuneVolume.label[i] = i + '%'; + CM.ConfigData.FortuneVolume.label[i] = i + '%'; } CM.ConfigData.FortuneSoundURL = {label: 'Fortune Cookie Sound URL:', desc: 'URL of the sound to be played when the Ticker has a Fortune Cookie'}; CM.ConfigData.SeaFlash = {label: ['Season Special Flash OFF', 'Season Special Flash ON'], desc: 'Flash screen on Season Popup', toggle: true}; @@ -1457,13 +1457,13 @@ CM.Disp.CheckGoldenCookie = function() { } CM.Disp.CheckTickerFortune = function() { - if (CM.Disp.lastTickerFortuneState != (Game.TickerEffect && Game.TickerEffect.type == 'fortune')) { - CM.Disp.lastTickerFortuneState = (Game.TickerEffect && Game.TickerEffect.type == 'fortune'); - if (CM.Disp.lastTickerFortuneState) { - CM.Disp.Flash(3, 'FortuneFlash'); - CM.Disp.PlaySound(CM.Config.FortuneSoundURL, 'FortuneSound', 'FortuneVolume'); - } - } + if (CM.Disp.lastTickerFortuneState != (Game.TickerEffect && Game.TickerEffect.type == 'fortune')) { + CM.Disp.lastTickerFortuneState = (Game.TickerEffect && Game.TickerEffect.type == 'fortune'); + if (CM.Disp.lastTickerFortuneState) { + CM.Disp.Flash(3, 'FortuneFlash'); + CM.Disp.PlaySound(CM.Config.FortuneSoundURL, 'FortuneSound', 'FortuneVolume'); + } + } } CM.Disp.CheckSeasonPopup = function() { @@ -1709,9 +1709,9 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(listing('GCTimer')); frag.appendChild(listing('Favicon')); frag.appendChild(listing('FortuneFlash')); - frag.appendChild(listing('FortuneSound')); - frag.appendChild(vol('FortuneVolume')); - frag.appendChild(url('FortuneSoundURL')); + frag.appendChild(listing('FortuneSound')); + frag.appendChild(vol('FortuneVolume')); + frag.appendChild(url('FortuneSoundURL')); frag.appendChild(listing('SeaFlash')); frag.appendChild(listing('SeaSound')); frag.appendChild(vol('SeaVolume')); @@ -2926,10 +2926,10 @@ CM.ConfigDefault = { GCSoundURL: 'https://freesound.org/data/previews/66/66717_931655-lq.mp3', GCTimer: 1, Favicon: 1, - FortuneFlash: 1, - FortuneSound: 1, - FortuneVolume: 100, - FortuneSoundURL: 'https://freesound.org/data/previews/419/419594_7062176-lq.mp3', + FortuneFlash: 1, + FortuneSound: 1, + FortuneVolume: 100, + FortuneSoundURL: 'https://freesound.org/data/previews/419/419594_7062176-lq.mp3', SeaFlash: 1, SeaSound: 1, SeaVolume: 100, diff --git a/src/Config.js b/src/Config.js index a75f8f8..1598ebf 100644 --- a/src/Config.js +++ b/src/Config.js @@ -152,7 +152,7 @@ CM.ConfigData.FortuneFlash = {label: ['Fortune Cookie Flash OFF', 'Fortune Cooki CM.ConfigData.FortuneSound = {label: ['Fortune Cookie Sound OFF', 'Fortune Cookie Sound ON'], desc: 'Play a sound on Fortune Cookie', toggle: true}; CM.ConfigData.FortuneVolume = {label: [], desc: 'Volume of the Fortune Cookie sound'}; for (var i = 0; i < 101; i++) { - CM.ConfigData.FortuneVolume.label[i] = i + '%'; + CM.ConfigData.FortuneVolume.label[i] = i + '%'; } CM.ConfigData.FortuneSoundURL = {label: 'Fortune Cookie Sound URL:', desc: 'URL of the sound to be played when the Ticker has a Fortune Cookie'}; CM.ConfigData.SeaFlash = {label: ['Season Special Flash OFF', 'Season Special Flash ON'], desc: 'Flash screen on Season Popup', toggle: true}; diff --git a/src/Disp.js b/src/Disp.js index c8f98be..63caeba 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -870,13 +870,13 @@ CM.Disp.CheckGoldenCookie = function() { } CM.Disp.CheckTickerFortune = function() { - if (CM.Disp.lastTickerFortuneState != (Game.TickerEffect && Game.TickerEffect.type == 'fortune')) { - CM.Disp.lastTickerFortuneState = (Game.TickerEffect && Game.TickerEffect.type == 'fortune'); - if (CM.Disp.lastTickerFortuneState) { - CM.Disp.Flash(3, 'FortuneFlash'); - CM.Disp.PlaySound(CM.Config.FortuneSoundURL, 'FortuneSound', 'FortuneVolume'); - } - } + if (CM.Disp.lastTickerFortuneState != (Game.TickerEffect && Game.TickerEffect.type == 'fortune')) { + CM.Disp.lastTickerFortuneState = (Game.TickerEffect && Game.TickerEffect.type == 'fortune'); + if (CM.Disp.lastTickerFortuneState) { + CM.Disp.Flash(3, 'FortuneFlash'); + CM.Disp.PlaySound(CM.Config.FortuneSoundURL, 'FortuneSound', 'FortuneVolume'); + } + } } CM.Disp.CheckSeasonPopup = function() { @@ -1122,9 +1122,9 @@ CM.Disp.AddMenuPref = function(title) { frag.appendChild(listing('GCTimer')); frag.appendChild(listing('Favicon')); frag.appendChild(listing('FortuneFlash')); - frag.appendChild(listing('FortuneSound')); - frag.appendChild(vol('FortuneVolume')); - frag.appendChild(url('FortuneSoundURL')); + frag.appendChild(listing('FortuneSound')); + frag.appendChild(vol('FortuneVolume')); + frag.appendChild(url('FortuneSoundURL')); frag.appendChild(listing('SeaFlash')); frag.appendChild(listing('SeaSound')); frag.appendChild(vol('SeaVolume')); diff --git a/src/Main.js b/src/Main.js index 75c5bb7..8181f9a 100644 --- a/src/Main.js +++ b/src/Main.js @@ -269,10 +269,10 @@ CM.ConfigDefault = { GCSoundURL: 'https://freesound.org/data/previews/66/66717_931655-lq.mp3', GCTimer: 1, Favicon: 1, - FortuneFlash: 1, - FortuneSound: 1, - FortuneVolume: 100, - FortuneSoundURL: 'https://freesound.org/data/previews/419/419594_7062176-lq.mp3', + FortuneFlash: 1, + FortuneSound: 1, + FortuneVolume: 100, + FortuneSoundURL: 'https://freesound.org/data/previews/419/419594_7062176-lq.mp3', SeaFlash: 1, SeaSound: 1, SeaVolume: 100, From b5eac1ce224561b4891dfa3670efc179f5b29763 Mon Sep 17 00:00:00 2001 From: Eric Olsen Date: Sat, 5 Oct 2019 15:33:36 -0600 Subject: [PATCH 6/6] Add [F] to title when Fortune Cookie is present (remove when it's not) --- CookieMonster.js | 9 ++++++++- src/Disp.js | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index e82666d..3e58a23 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1502,6 +1502,7 @@ CM.Disp.UpdateTitle = function() { var addSP = false; var titleGC; + var titleFC = ''; var titleSP; if (CM.Disp.lastGoldenCookieState) { if (CM.Disp.goldenShimmer.wrath) { @@ -1517,6 +1518,9 @@ CM.Disp.UpdateTitle = function() { else { titleGC = '[GS]' } + if (CM.Disp.lastTickerFortuneState) { + titleFC = '[F]'; + } if (Game.season == 'christmas') { addSP = true; if (CM.Disp.lastSeasonPopupState) { @@ -1532,11 +1536,14 @@ CM.Disp.UpdateTitle = function() { str = str.substring(str.lastIndexOf(']') + 1); } - document.title = titleGC + (addSP ? titleSP : '') + ' ' + str; + document.title = titleFC + titleGC + (addSP ? titleSP : '') + ' ' + str; } else if (CM.Config.Title == 2) { var str = ''; var spawn = false; + if (CM.Disp.lastTickerFortuneState) { + str += '[F]'; + } if (CM.Disp.lastGoldenCookieState) { spawn = true; if (CM.Disp.goldenShimmer.wrath) { diff --git a/src/Disp.js b/src/Disp.js index 63caeba..1b201ba 100644 --- a/src/Disp.js +++ b/src/Disp.js @@ -915,6 +915,7 @@ CM.Disp.UpdateTitle = function() { var addSP = false; var titleGC; + var titleFC = ''; var titleSP; if (CM.Disp.lastGoldenCookieState) { if (CM.Disp.goldenShimmer.wrath) { @@ -930,6 +931,9 @@ CM.Disp.UpdateTitle = function() { else { titleGC = '[GS]' } + if (CM.Disp.lastTickerFortuneState) { + titleFC = '[F]'; + } if (Game.season == 'christmas') { addSP = true; if (CM.Disp.lastSeasonPopupState) { @@ -945,11 +949,14 @@ CM.Disp.UpdateTitle = function() { str = str.substring(str.lastIndexOf(']') + 1); } - document.title = titleGC + (addSP ? titleSP : '') + ' ' + str; + document.title = titleFC + titleGC + (addSP ? titleSP : '') + ' ' + str; } else if (CM.Config.Title == 2) { var str = ''; var spawn = false; + if (CM.Disp.lastTickerFortuneState) { + str += '[F]'; + } if (CM.Disp.lastGoldenCookieState) { spawn = true; if (CM.Disp.goldenShimmer.wrath) {