(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();
}
})();
Elden Ring takes place in The Lands Between, a vast realm under the Erdtree, the gigantic spectral tree visible from nearly everywhere in the game. The Lands Between were once governed by Queen Marika the Eternal.
The area thrived under the rule of Queen Marika and the power of the Elden Ring, an immensely powerful enchantment that kept everything in The Lands Between under the dictates of a Greater Will. The Greater Will was a kind of divine plan that ensured everything was going smoothly.
But, as is the case in most Soulsborne games, something went terribly wrong. The Elden Ring was shattered, and the Greater Will abandoned the Lands Between. Queen Marika disappeared. Her children fought an epic and gruesome war among themselves called the Shattering, eventually managing to get a hold of different shards of the now-broken Elden Ring, which still hold a huge amount of power.
Marika’s children, all of whom are demigods, now govern their own provinces in The Lands Between corresponding to one of the different areas in the game. Tarnished start the game in Limgrave, the home of Stormveil Castle. Liurnia is dominated by the large and very shallow Lake Liurnia and the academy of Raya Lucaria, headquarters of Glintstone sorcery. Caelid is a spooky, festering region blighted by Scarlet Rot, a nasty plague. The Altus Plateau is high up near the Erdtree, near the seat of Marika’s throne. Even further aloft are the Mountaintops of the Giants, abandoned by the creatures who once lived there.
👉 For more insights, check out this resource.
Those are just the largest areas of The Lands Between. There’s also some smaller regions, including an underground area and dozens of tunnels and dungeons. All told, The Lands Between is a huge place.
👉 Discover more in this in-depth guide.