Changes

MediaWiki:Common.js

3,325 bytes added, 06:55, 16 November 2023
Amending regex again
/* Any JavaScript here will be loaded for all users on every page load. */
/* Replaces the word currency keywords (Gold, Gems, Defender Medals) with their icon in elements which include currency costs */const currencyIcons = { "gem": '<a href="/wiki/Gems" class="image"><img alt="Gem Icon.png" src="/images/8/8d/Gem_Icon.png" width="18"></a>', "gold": '<a href="/wiki/Gold" class="image"><img alt="Gold Icon.png" src="/images/2/26/Gold_Icon.png" width="18"></a>', "defender medal": '<a href="/wiki/Defender_Medals" class="image"><img alt="Defender Medal Icon.png" src="/images/a/a7/Defender_Medal_Icon.png" width="18"></a>'} Array.from(document.getElementsByClassName('currency-included')).forEach(function (element) { if (!element.innerHTML.match(/Gem|Gold|Defender Medal/i)) return const currencyRegex = /(Gem|Gold|Defender Medal)s? (\d.*?)(?= |$|\n)|(\d.*?) (Gem|Gold|Defender Medal)s?/gi const phrases = element.innerHTML.match(currencyRegex) phrases.forEach(function (phrase){ const currency = phrase.match(/Gem|Gold|Defender Medal/i).toString().toLowerCase() const replacement = phrase.replace(currencyRegex, currencyIcons[currency] + "gems$2$3" ) element.innerHTML = element.innerHTML.replace(phrase, replacement) })}) /* Replaces the XP keyword with the gem Ascension XP icon in texts where gem costs are mentioned elements which include Ascension XP numbers */Array.from(document.getElementsByClassName('gem-costascension-includedxp')).forEach(function (element) { element.innerHTML = element.innerHTML.replace(/gemsXP (\sd.*?)(?= |$|\n)|(\d+.*?) XP/gi, '<a href="/wiki/Experience" class="image"><img alt="Ascension XP Icon.png" src="/images/c/cf/Ascension_XP_Icon.png" width="18"></a> $1$2')}) /* Replaces the XP keyword with the Defender Pass XP icon in elements which include Defender Pass XP numbers */Array.from(document.getElementsByClassName('pass-xp')).forEach(function (element)|{ element.innerHTML = element.innerHTML.replace(/XP (\d+.*?)(?= |$|\n)|(\sd.*?gems) XP/gi, '<a class="image"><img alt="Defender Pass XP Icon.png" src="/images/2/23/Defender_Pass_XP_Icon.png" width="18"></a> $1$2')}) /* Replaces the rarity keywords like "Worn, "Sturdy", "Powerful", "Epic", "Mythical", "Legendary", and "Godly" to have their icon on the left of the name */Array.from(document.getElementsByClassName('rarity')).forEach(function (element) { element.innerHTML = element.innerHTML.replace(/Worn/gi, '<a class="image"> <img alt="Worn Icon.png" src="/images/3/34/Worn_Icon.png" width="18"> <span style="color: #808080;">Worn</span> </a>'); element.innerHTML = element.innerHTML.replace(/Sturdy/gi, '<a hrefclass="image"> <img alt="Sturdy Icon.png" src="/wikiimages/c/cf/FileSturdy_Icon.png" width="18"> <span style="color:Gem_Icon#808000;">Sturdy</span> </a>'); element.innerHTML = element.innerHTML.replace(/Powerful/gi, '<a class="image"> <img alt="Powerful Icon.png" src="/images/2/29/Powerful_Icon.png" width="18"> <span style="color: #008000;">Powerful</span> </a>'); element.innerHTML = element.innerHTML.replace(/Epic/gi, '<a class="image"> <img alt="Epic Icon.png" src="/images/f/fc/Epic_Icon.png" width="18"> <span style="color: #3366FF;">Epic</span> </a>'); element.innerHTML = element.innerHTML.replace(/Mythical/gi, '<a class="image"><img alt="Gem Mythical Icon.png" src="/images/81/8d18/Gem_IconMythical_Icon.png" width="18" height> <span style="15color: #FF00FF;">Mythical</span></a> $'); element.innerHTML = element.innerHTML.replace(/Legendary/gi, '<a class="image"> <img alt="Legendary Icon.png" src="/images/1$2/11/Legendary_Icon.png" width="18"> <span style="color: #FF9900;">Legendary</span> </a>'); element.innerHTML = element.innerHTML.replace(/Godly/gi, '<a class="image"> <img alt="Godly Icon.png" src="/images/d/d0/Godly_Icon.png" width="18"> <span style="color: #00FFFF;">Godly</span> </a>');
})
WikiDefender, bureaucrat, administrator
617
edits