Skip to content

Instantly share code, notes, and snippets.

@Tcip
Created May 11, 2025 19:41
Show Gist options
  • Save Tcip/4fbccbc43f8f8ee63f6bc36ce36a9e31 to your computer and use it in GitHub Desktop.
Save Tcip/4fbccbc43f8f8ee63f6bc36ce36a9e31 to your computer and use it in GitHub Desktop.

Revisions

  1. Tcip created this gist May 11, 2025.
    1 change: 1 addition & 0 deletions Arena Battle Stats (Bookmarklet).js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    javascript:(function()%7Bconst%20opponentPlayerName%20%3D%20document.querySelectorAll(%22div%5Bdata-v-5784ed69%5D%5Bdata-v-9ecbd550%5D%5Bdata-v-41e3c504%5D%20span%22)%3Bconst%20opponentPlayerLevel%20%3D%20document.querySelectorAll(%22div.wait-bar.wait-bar-text.ev-text-shadow%20span%22)%3Bconst%20battleStats%20%3D%20document.querySelectorAll(%22div%5Bclass%3D'stat-number'%5D%5Bdata-v-5784ed69-s%5D%22)%3Bconst%20dmgText%20%3D%20document.querySelector(%22%23battle-stat-dmg%22)%3Bconst%20styles%20%3D%20%7BstatTextValue%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%23fff%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CopponentPlayerName%3A%20'padding%3A10px%3Bbackground%3A%231D2123%3Bcolor%3A%23fff%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CopponentPlayerLevel%3A%20'padding%3A10px%3Bbackground%3A%23161111%3Bcolor%3A%23fff%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2ChealthText%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%23f49ce2%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CphysDefense%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%23fd5858%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CmagDefense%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%230bf%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CcritChance%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%23ef9c02%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CcritMultiplier%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%2312ef02%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2Cevasion%3A%20'padding%3A10px%3Bbackground%3A%23963036%3Bcolor%3A%23efe302%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CdmgText%3A%20'padding%3A10px%3Bbackground%3A%23591219%3Bcolor%3A%23fff%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%2CdmgTextValue%3A%20'padding%3A10px%3Bbackground%3A%23591219%3Bcolor%3A%23fff%3Btext-shadow%3A1px%201px%200%20%23000%2C-1px%20-1px%200%20%23000%2C-1px%201px%200%20%23000%2C1px%20-1px%200%20%23000%2C0px%201px%200%20%23000%2C0px%20-1px%200%20%23000%2C1px%200px%200%20%23000%2C-1px%200px%200%20%23000%3Bfont%3A%20120%25%2F1.5%20fantasy%2Carial%3B'%7D%3Bconsole.groupCollapsed(%60%24%7BopponentPlayerName%5B0%5D.textContent%7D%20(%24%7BopponentPlayerLevel%5B0%5D.textContent.replace(%22LVL.%22%2C%22%22)%7D)%60)%3Bconsole.log(%60%25c%20Name%3A%20%5Ct%5Ct%5Ct%5Ct%5Ct%25c%20%24%7BopponentPlayerName%5B0%5D.textContent%7D%60%2C%20styles.opponentPlayerName%2C%20styles.opponentPlayerName)%3Bconsole.log(%60%25c%20Level%3A%20%5Ct%5Ct%5Ct%5Ct%5Ct%5Ct%25c%20%24%7BopponentPlayerLevel%5B0%5D.textContent.replace(%22LVL.%22%2C%22%22)%7D%60%2C%20styles.opponentPlayerLevel%2C%20styles.opponentPlayerLevel)%3Bconsole.log(%60%25c%20Health%3A%20%5Ct%5Ct%5Ct%5Ct%5Ct%25c%20%24%7BbattleStats%5B0%5D.textContent%7D%60%2C%20styles.healthText%2C%20styles.statTextValue)%3Bconsole.log(%60%25c%20Phys.%20Defense%3A%20%5Ct%25c%20%24%7BbattleStats%5B1%5D.textContent%7D%60%2C%20styles.physDefense%2C%20styles.statTextValue)%3Bconsole.log(%60%25c%20Mag.%20Defense%3A%20%5Ct%25c%20%24%7BbattleStats%5B2%5D.textContent%7D%60%2C%20styles.magDefense%2C%20styles.statTextValue)%3Bconsole.log(%60%25c%20Crit%20Chance%3A%20%5Ct%5Ct%25c%20%24%7BbattleStats%5B3%5D.textContent%7D%60%2C%20styles.critChance%2C%20styles.statTextValue)%3Bconsole.log(%60%25c%20Crit%20Multiplier%3A%20%5Ct%25c%20%24%7BbattleStats%5B4%5D.textContent%7D%60%2C%20styles.critMultiplier%2C%20styles.statTextValue)%3Bconsole.log(%60%25c%20Evasion%3A%20%5Ct%5Ct%5Ct%5Ct%25c%20%24%7BbattleStats%5B5%5D.textContent%7D%60%2C%20styles.evasion%2C%20styles.statTextValue)%3Bconsole.log(%60%25c%20Dmg%3A%20%5Ct%5Ct%5Ct%5Ct%5Ct%5Ct%25c%20%24%7BdmgText.textContent.trim().replace(%22Dmg%3A%20%22%2C%22%22)%7D%60%2C%20styles.dmgText%2C%20styles.dmgTextValue)%3Bconsole.groupEnd()%7D)()
    30 changes: 30 additions & 0 deletions Arena Battle Stats.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,30 @@
    const opponentPlayerName = document.querySelectorAll("div[data-v-5784ed69][data-v-9ecbd550][data-v-41e3c504] span");
    const opponentPlayerLevel = document.querySelectorAll("div.wait-bar.wait-bar-text.ev-text-shadow span");
    const battleStats = document.querySelectorAll("div[class='stat-number'][data-v-5784ed69-s]");
    const dmgText = document.querySelector("#battle-stat-dmg");

    const styles = {
    statTextValue: 'padding:10px;background:#963036;color:#fff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    opponentPlayerName: 'padding:10px;background:#1D2123;color:#fff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    opponentPlayerLevel: 'padding:10px;background:#161111;color:#fff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    healthText: 'padding:10px;background:#963036;color:#f49ce2;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    physDefense: 'padding:10px;background:#963036;color:#fd5858;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    magDefense: 'padding:10px;background:#963036;color:#0bf;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    critChance: 'padding:10px;background:#963036;color:#ef9c02;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    critMultiplier: 'padding:10px;background:#963036;color:#12ef02;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    evasion: 'padding:10px;background:#963036;color:#efe302;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    dmgText: 'padding:10px;background:#591219;color:#fff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;',
    dmgTextValue: 'padding:10px;background:#591219;color:#fff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,0px 1px 0 #000,0px -1px 0 #000,1px 0px 0 #000,-1px 0px 0 #000;font: 120%/1.5 fantasy,arial;'
    };

    console.groupCollapsed(`${opponentPlayerName[0].textContent} (${opponentPlayerLevel[0].textContent.replace("LVL.","")})`);
    console.log(`%c Name: \t\t\t\t\t%c ${opponentPlayerName[0].textContent}`, styles.opponentPlayerName, styles.opponentPlayerName);
    console.log(`%c Level: \t\t\t\t\t\t%c ${opponentPlayerLevel[0].textContent.replace("LVL.","")}`, styles.opponentPlayerLevel, styles.opponentPlayerLevel);
    console.log(`%c Health: \t\t\t\t\t%c ${battleStats[0].textContent}`, styles.healthText, styles.statTextValue);
    console.log(`%c Phys. Defense: \t%c ${battleStats[1].textContent}`, styles.physDefense, styles.statTextValue);
    console.log(`%c Mag. Defense: \t%c ${battleStats[2].textContent}`, styles.magDefense, styles.statTextValue);
    console.log(`%c Crit Chance: \t\t%c ${battleStats[3].textContent}`, styles.critChance, styles.statTextValue);
    console.log(`%c Crit Multiplier: \t%c ${battleStats[4].textContent}`, styles.critMultiplier, styles.statTextValue);
    console.log(`%c Evasion: \t\t\t\t%c ${battleStats[5].textContent}`, styles.evasion, styles.statTextValue);
    console.log(`%c Dmg: \t\t\t\t\t\t%c ${dmgText.textContent.trim().replace("Dmg: ","")}`, styles.dmgText, styles.dmgTextValue);
    console.groupEnd();