From 130fae6e0ce08f8443db46170d5722d855dafff1 Mon Sep 17 00:00:00 2001 From: Idrees Hassan Date: Wed, 21 Jan 2026 22:36:12 -0500 Subject: [PATCH] Add hat collection message --- dist/extension.zip | Bin 154034 -> 154192 bytes dist/extension/birb.js | 30 ++++++++++++++++++++++++------ dist/obsidian/main.js | 30 ++++++++++++++++++++++++------ dist/userscript/birb.user.js | 30 ++++++++++++++++++++++++------ dist/web/birb.embed.js | 30 ++++++++++++++++++++++++------ dist/web/birb.js | 30 ++++++++++++++++++++++++------ src/application.js | 20 ++++++++++++++++---- src/fieldGuide.js | 0 src/hats.js | 2 +- src/stylesheet.css | 8 +++++++- 10 files changed, 144 insertions(+), 36 deletions(-) create mode 100644 src/fieldGuide.js diff --git a/dist/extension.zip b/dist/extension.zip index 88c37aecf11fcbbbb54eb11e17fd7a0495e459a5..8d055b9bb164fcaaa450946d9b736e5753190c5a 100644 GIT binary patch delta 30757 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 delta 30559 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 z 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 NAcLV-dYf%v{|9 { + switchHat(hatId); + hatCanvas.remove(); + const message = makeElement("birb-message-content"); + message.appendChild(document.createTextNode("You've unlocked the ")); + const bold = document.createElement("b"); + bold.textContent = HAT_METADATA[hatId].name; + message.appendChild(bold); + message.appendChild(document.createTextNode("! To see all of your unlocked accessories, click the Wardrobe from the menu.")); + insertModal("New Hat Found!", message); + }); // Create hat animation const hatAnimation = createHatItemAnimation(hatId, HATS_SPRITE_SHEET); @@ -2826,6 +2843,7 @@ * @param {string} hat */ function switchHat(hat) { + log("Switching hat to: " + hat); currentHat = hat; save(); } diff --git a/dist/obsidian/main.js b/dist/obsidian/main.js index 4b1fd4c..536995d 100644 --- a/dist/obsidian/main.js +++ b/dist/obsidian/main.js @@ -740,7 +740,7 @@ module.exports = class PocketBird extends Plugin { if (hatId === HAT.NONE) { return new Layer([], TAG.DEFAULT); } - const hatIndex = Object.keys(HAT).indexOf(hatId) - 1; + const hatIndex = Object.values(HAT).indexOf(hatId) - 1; let hatPixels = getLayerPixels(spriteSheet, hatIndex, HAT_WIDTH); hatPixels = pad(hatPixels, 1, 1, 1, 1); hatPixels = drawOutline(hatPixels, true); @@ -1717,10 +1717,16 @@ module.exports = class PocketBird extends Plugin { image-rendering: pixelated; position: absolute; bottom: 0; - transform-origin: bottom; transform: scale(calc(var(--birb-scale) * 1.5)) !important; transform-origin: bottom; + transition-duration: 0.2s; z-index: 2147483630 !important; + cursor: pointer; +} + +.birb-item:hover { + transform: scale(calc(var(--birb-scale) * 2)) !important; + transition-duration: 0.2s; } .birb-window { @@ -2381,7 +2387,7 @@ module.exports = class PocketBird extends Plugin { focusOnElement(true); // TODO: This is for testing - generateHat(); + insertHat(); } function update() { @@ -2565,13 +2571,13 @@ module.exports = class PocketBird extends Plugin { /** * Insert the hat as an item element in the document if possible */ - function generateHat() { + function insertHat() { if (document.querySelector("#" + HAT_ID)) { return; } // Select a random hat - const hatKeys = Object.keys(HAT); - const hatId = hatKeys[Math.floor(Math.random() * (hatKeys.length - 1)) + 1]; + const hats = Object.values(HAT); + const hatId = hats[Math.floor(Math.random() * (hats.length - 1)) + 1]; // Find a random valid element to place the hat on const element = getRandomValidElement(); @@ -2589,6 +2595,17 @@ module.exports = class PocketBird extends Plugin { if (!hatCtx) { return; } + onClick(hatCanvas, () => { + switchHat(hatId); + hatCanvas.remove(); + const message = makeElement("birb-message-content"); + message.appendChild(document.createTextNode("You've unlocked the ")); + const bold = document.createElement("b"); + bold.textContent = HAT_METADATA[hatId].name; + message.appendChild(bold); + message.appendChild(document.createTextNode("! To see all of your unlocked accessories, click the Wardrobe from the menu.")); + insertModal("New Hat Found!", message); + }); // Create hat animation const hatAnimation = createHatItemAnimation(hatId, HATS_SPRITE_SHEET); @@ -2869,6 +2886,7 @@ module.exports = class PocketBird extends Plugin { * @param {string} hat */ function switchHat(hat) { + log("Switching hat to: " + hat); currentHat = hat; save(); } diff --git a/dist/userscript/birb.user.js b/dist/userscript/birb.user.js index 3a33416..21b9da3 100644 --- a/dist/userscript/birb.user.js +++ b/dist/userscript/birb.user.js @@ -749,7 +749,7 @@ if (hatId === HAT.NONE) { return new Layer([], TAG.DEFAULT); } - const hatIndex = Object.keys(HAT).indexOf(hatId) - 1; + const hatIndex = Object.values(HAT).indexOf(hatId) - 1; let hatPixels = getLayerPixels(spriteSheet, hatIndex, HAT_WIDTH); hatPixels = pad(hatPixels, 1, 1, 1, 1); hatPixels = drawOutline(hatPixels, true); @@ -1679,10 +1679,16 @@ image-rendering: pixelated; position: absolute; bottom: 0; - transform-origin: bottom; transform: scale(calc(var(--birb-scale) * 1.5)) !important; transform-origin: bottom; + transition-duration: 0.2s; z-index: 2147483630 !important; + cursor: pointer; +} + +.birb-item:hover { + transform: scale(calc(var(--birb-scale) * 2)) !important; + transition-duration: 0.2s; } .birb-window { @@ -2343,7 +2349,7 @@ focusOnElement(true); // TODO: This is for testing - generateHat(); + insertHat(); } function update() { @@ -2527,13 +2533,13 @@ /** * Insert the hat as an item element in the document if possible */ - function generateHat() { + function insertHat() { if (document.querySelector("#" + HAT_ID)) { return; } // Select a random hat - const hatKeys = Object.keys(HAT); - const hatId = hatKeys[Math.floor(Math.random() * (hatKeys.length - 1)) + 1]; + const hats = Object.values(HAT); + const hatId = hats[Math.floor(Math.random() * (hats.length - 1)) + 1]; // Find a random valid element to place the hat on const element = getRandomValidElement(); @@ -2551,6 +2557,17 @@ if (!hatCtx) { return; } + onClick(hatCanvas, () => { + switchHat(hatId); + hatCanvas.remove(); + const message = makeElement("birb-message-content"); + message.appendChild(document.createTextNode("You've unlocked the ")); + const bold = document.createElement("b"); + bold.textContent = HAT_METADATA[hatId].name; + message.appendChild(bold); + message.appendChild(document.createTextNode("! To see all of your unlocked accessories, click the Wardrobe from the menu.")); + insertModal("New Hat Found!", message); + }); // Create hat animation const hatAnimation = createHatItemAnimation(hatId, HATS_SPRITE_SHEET); @@ -2831,6 +2848,7 @@ * @param {string} hat */ function switchHat(hat) { + log("Switching hat to: " + hat); currentHat = hat; save(); } diff --git a/dist/web/birb.embed.js b/dist/web/birb.embed.js index 5992b61..43eb0bb 100644 --- a/dist/web/birb.embed.js +++ b/dist/web/birb.embed.js @@ -735,7 +735,7 @@ if (hatId === HAT.NONE) { return new Layer([], TAG.DEFAULT); } - const hatIndex = Object.keys(HAT).indexOf(hatId) - 1; + const hatIndex = Object.values(HAT).indexOf(hatId) - 1; let hatPixels = getLayerPixels(spriteSheet, hatIndex, HAT_WIDTH); hatPixels = pad(hatPixels, 1, 1, 1, 1); hatPixels = drawOutline(hatPixels, true); @@ -1659,10 +1659,16 @@ image-rendering: pixelated; position: absolute; bottom: 0; - transform-origin: bottom; transform: scale(calc(var(--birb-scale) * 1.5)) !important; transform-origin: bottom; + transition-duration: 0.2s; z-index: 2147483630 !important; + cursor: pointer; +} + +.birb-item:hover { + transform: scale(calc(var(--birb-scale) * 2)) !important; + transition-duration: 0.2s; } .birb-window { @@ -2323,7 +2329,7 @@ focusOnElement(true); // TODO: This is for testing - generateHat(); + insertHat(); } function update() { @@ -2507,13 +2513,13 @@ /** * Insert the hat as an item element in the document if possible */ - function generateHat() { + function insertHat() { if (document.querySelector("#" + HAT_ID)) { return; } // Select a random hat - const hatKeys = Object.keys(HAT); - const hatId = hatKeys[Math.floor(Math.random() * (hatKeys.length - 1)) + 1]; + const hats = Object.values(HAT); + const hatId = hats[Math.floor(Math.random() * (hats.length - 1)) + 1]; // Find a random valid element to place the hat on const element = getRandomValidElement(); @@ -2531,6 +2537,17 @@ if (!hatCtx) { return; } + onClick(hatCanvas, () => { + switchHat(hatId); + hatCanvas.remove(); + const message = makeElement("birb-message-content"); + message.appendChild(document.createTextNode("You've unlocked the ")); + const bold = document.createElement("b"); + bold.textContent = HAT_METADATA[hatId].name; + message.appendChild(bold); + message.appendChild(document.createTextNode("! To see all of your unlocked accessories, click the Wardrobe from the menu.")); + insertModal("New Hat Found!", message); + }); // Create hat animation const hatAnimation = createHatItemAnimation(hatId, HATS_SPRITE_SHEET); @@ -2811,6 +2828,7 @@ * @param {string} hat */ function switchHat(hat) { + log("Switching hat to: " + hat); currentHat = hat; save(); } diff --git a/dist/web/birb.js b/dist/web/birb.js index 5992b61..43eb0bb 100644 --- a/dist/web/birb.js +++ b/dist/web/birb.js @@ -735,7 +735,7 @@ if (hatId === HAT.NONE) { return new Layer([], TAG.DEFAULT); } - const hatIndex = Object.keys(HAT).indexOf(hatId) - 1; + const hatIndex = Object.values(HAT).indexOf(hatId) - 1; let hatPixels = getLayerPixels(spriteSheet, hatIndex, HAT_WIDTH); hatPixels = pad(hatPixels, 1, 1, 1, 1); hatPixels = drawOutline(hatPixels, true); @@ -1659,10 +1659,16 @@ image-rendering: pixelated; position: absolute; bottom: 0; - transform-origin: bottom; transform: scale(calc(var(--birb-scale) * 1.5)) !important; transform-origin: bottom; + transition-duration: 0.2s; z-index: 2147483630 !important; + cursor: pointer; +} + +.birb-item:hover { + transform: scale(calc(var(--birb-scale) * 2)) !important; + transition-duration: 0.2s; } .birb-window { @@ -2323,7 +2329,7 @@ focusOnElement(true); // TODO: This is for testing - generateHat(); + insertHat(); } function update() { @@ -2507,13 +2513,13 @@ /** * Insert the hat as an item element in the document if possible */ - function generateHat() { + function insertHat() { if (document.querySelector("#" + HAT_ID)) { return; } // Select a random hat - const hatKeys = Object.keys(HAT); - const hatId = hatKeys[Math.floor(Math.random() * (hatKeys.length - 1)) + 1]; + const hats = Object.values(HAT); + const hatId = hats[Math.floor(Math.random() * (hats.length - 1)) + 1]; // Find a random valid element to place the hat on const element = getRandomValidElement(); @@ -2531,6 +2537,17 @@ if (!hatCtx) { return; } + onClick(hatCanvas, () => { + switchHat(hatId); + hatCanvas.remove(); + const message = makeElement("birb-message-content"); + message.appendChild(document.createTextNode("You've unlocked the ")); + const bold = document.createElement("b"); + bold.textContent = HAT_METADATA[hatId].name; + message.appendChild(bold); + message.appendChild(document.createTextNode("! To see all of your unlocked accessories, click the Wardrobe from the menu.")); + insertModal("New Hat Found!", message); + }); // Create hat animation const hatAnimation = createHatItemAnimation(hatId, HATS_SPRITE_SHEET); @@ -2811,6 +2828,7 @@ * @param {string} hat */ function switchHat(hat) { + log("Switching hat to: " + hat); currentHat = hat; save(); } diff --git a/src/application.js b/src/application.js index 6f1af83..6c3273e 100644 --- a/src/application.js +++ b/src/application.js @@ -396,7 +396,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { focusOnElement(true); // TODO: This is for testing - generateHat(); + insertHat(); } function update() { @@ -583,13 +583,13 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { /** * Insert the hat as an item element in the document if possible */ - function generateHat() { + function insertHat() { if (document.querySelector("#" + HAT_ID)) { return; } // Select a random hat - const hatKeys = Object.keys(HAT); - const hatId = hatKeys[Math.floor(Math.random() * (hatKeys.length - 1)) + 1]; + const hats = Object.values(HAT); + const hatId = hats[Math.floor(Math.random() * (hats.length - 1)) + 1]; // Find a random valid element to place the hat on const element = getRandomValidElement(); @@ -607,6 +607,17 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { if (!hatCtx) { return; } + onClick(hatCanvas, () => { + switchHat(hatId); + hatCanvas.remove(); + const message = makeElement("birb-message-content"); + message.appendChild(document.createTextNode("You've unlocked the ")); + const bold = document.createElement("b"); + bold.textContent = HAT_METADATA[hatId].name; + message.appendChild(bold); + message.appendChild(document.createTextNode("! To see all of your unlocked accessories, click the Wardrobe from the menu.")); + insertModal("New Hat Found!", message); + }); // Create hat animation const hatAnimation = createHatItemAnimation(hatId, HATS_SPRITE_SHEET); @@ -892,6 +903,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { * @param {string} hat */ function switchHat(hat) { + log("Switching hat to: " + hat); currentHat = hat; save(); } diff --git a/src/fieldGuide.js b/src/fieldGuide.js new file mode 100644 index 0000000..e69de29 diff --git a/src/hats.js b/src/hats.js index c875e59..e106356 100644 --- a/src/hats.js +++ b/src/hats.js @@ -124,7 +124,7 @@ function buildHatItemLayer(spriteSheet, hatId) { if (hatId === HAT.NONE) { return new Layer([], TAG.DEFAULT); } - const hatIndex = Object.keys(HAT).indexOf(hatId) - 1; + const hatIndex = Object.values(HAT).indexOf(hatId) - 1; let hatPixels = getLayerPixels(spriteSheet, hatIndex, HAT_WIDTH); hatPixels = pad(hatPixels, 1, 1, 1, 1); hatPixels = drawOutline(hatPixels, true); diff --git a/src/stylesheet.css b/src/stylesheet.css index c02f3d3..4ea5aab 100644 --- a/src/stylesheet.css +++ b/src/stylesheet.css @@ -45,10 +45,16 @@ image-rendering: pixelated; position: absolute; bottom: 0; - transform-origin: bottom; transform: scale(calc(var(--birb-scale) * 1.5)) !important; transform-origin: bottom; + transition-duration: 0.2s; z-index: 2147483630 !important; + cursor: pointer; +} + +.birb-item:hover { + transform: scale(calc(var(--birb-scale) * 2)) !important; + transition-duration: 0.2s; } .birb-window {