(function () {
// 1) Basic bot filter (extend if you like)
function isBot() {
return /(bot|crawl|spider|google|bing|slurp|yandex|facebook|linkedin|pinterest|preview|whatsapp|discord|telegram|headless|puppeteer)/i
.test(navigator.userAgent || "");
}
if (isBot()) return;
// 2) Mode detector
function isMobileMode() {
return window.matchMedia("(max-width: 767px)").matches ||
/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent || "");
}
// 3) Your ad configs (swap keys/sizes to match your network units)
const AD = {
mobile: { key: "aa6d52a6037d0558c2a19dc52b6aa824", width: 320, height: 50 }, // 320x50
desktop: { key: "a49752dcde88f4fde5987d25efbb7168", width: 468, height: 60 } // 468x60
};
// 4) Create container if it doesn't exist
function ensureContainer() {
let container = document.getElementById("ad-container");
if (!container) {
container = document.createElement("div");
container.id = "ad-container";
container.style.display = "none";
document.body.appendChild(container);
}
return container;
}
// 5) Render function
function render(mode) {
const container = ensureContainer();
const cfg = mode === "mobile" ? AD.mobile : AD.desktop;
// Set global atOptions for ad network
window.atOptions = {
key: cfg.key,
format: "iframe",
height: cfg.height,
width: cfg.width,
params: {}
};
// Clear previous ad/script then inject
container.innerHTML = "";
container.style.display = "block";
const s = document.createElement("script");
s.src = `//selfportraitproved.com/${cfg.key}/invoke.js`;
s.async = true;
container.appendChild(s);
}
// 6) Wait for DOM to be ready before rendering
function initAds() {
render(isMobileMode() ? "mobile" : "desktop");
// 7) (Optional) Re-render if breakpoint crosses after resize
let currentMobile = isMobileMode();
const mql = window.matchMedia("(max-width: 767px)");
if (mql.addEventListener) {
mql.addEventListener("change", (e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
} else if (mql.addListener) { // older browsers
mql.addListener((e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
}
}
// 8) Execute when DOM is ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAds);
} else {
initAds();
}
})();
Destiny 2’s Solstice of Heroes is here for 2022, and it comes packed with activities and rewards new and familiar. The previous year’s weapons and armor ornaments are available, but so is a brand new Stasis Hand Cannon called Something New. It’s a 120 RPM Hand Cannon in the vein of the Bottom Dollar Gambit weapon or The Steady Hand from Iron Banner.
However, getting the Something New Hand Cannon isn’t as straightforward as those other rewards. While it is visible in Eva Levante’s vendor screen, there is no way to pull it, whether you’ve spent Silver Ash or not. Instead, your only source of Something New rolls is through the Bonefire Bash activity unique to the 2022 Solstice event.
Receiving the Something New Hand Cannon
At the end of even Bonfire Bash, after you’ve kindled the bonfire and defeated the Heat Taker boss, you’ll be rewarded with up to four Legendary engrams. One, all, or none can be a Something New Hand Cannon. That means you’ll be spending a lot of time in the Bonfire Bash activity, as even if you fully build the bonfire, you aren’t guaranteed any new rewards. Some might not even be Solstice related, instead pulling for the world loot pool.
Related: How to start the Bonfire Bash activity in Destiny 2 – Solstice of Heroes 2022
👉 For more insights, check out this resource.
Fortunate, then, that Bonfire Bash awards Silver Ash, provided you have some Silver Leaves to burn. The time you spend in the event activity directly affects how often and effectively you can reroll your Candescent Armor. The more rerolls you seek, the more chances at a Something New you have.
Be sure to pick up Solstice Bounties from Eva whenever you return to the Tower, and keep an eye on the different Event Card challenges, so you maximize your farming. Solstice 2022 lasts for three weeks, and while that may seem like plenty of time, let the days get away from you, and you could scramble to farm out that perfect armor or weapon roll.
👉 Discover more in this in-depth guide.