Raid Statistics | uwuowo

const textMap = {
  "Combat Readiness": "전투 태세",
  "Pistoleer": "핸드거너",
  "Loyal Companion": "두번째 동료",
  "Time to Hunt": "사냥의 시간",
  "Communication Overflow": "넘치는 교감",
  "Evolutionary Legacy": "진화의 유산",
  "Lone Knight": "고독한 기사",
  "Berserker Technique": "광전사의 비기",
  "Demonic Impulse": "멈출 수 없는 충동",
  "Firepower Enhancement": "화력 강화",
  "Wind Fury": "질풍노도",
  "Drizzle": "이슬비",
  "Brawl King Storm": "권왕파천무",
  "Robust Spirit": "역천지체",
  "Full Moon Harvester": "만월의 집행자",
  "Shock Training": "충격 단련",
  "Esoteric Skill Enhancement": "오의 강화",
  "Mayhem": "광기",
  "Peacemaker": "피스메이커",
  "Judgment": "심판자",
  "Arthetinean Skill": "아르데타인의 기술",
  "Enhanced Weapon": "전술 탄환",
  "Asura's Path": "수라의 길",
  "First Intention": "초심",
  "Night's Edge": "그믐의 경계",
  "Perfect Suppression": "완벽한 억제",
  "Ultimate Skill: Taijutsu": "극의: 체술",
  "Barrage Enhancement": "포격 강화",
  "Igniter": "점화",
  "Death Strike": "죽음의 습격",
  "Esoteric Flurry": "오의난무",
  "Control": "절제",
  "Punisher": "처단자",
  "Predator": "포식자",
  "Order of the Emperor": "황제",
  "Phantom Beast Awakening": "환수 각성",
  "Ferality": "야성",
  "Hunger": "갈증",
  "Rage Hammer": "분노의 망치",
  "Pinnacle": "절정",
  "Gravity Training": "중력 수련",
  "Energy Overflow": "세맥타통",
  "Master Summoner": "상급 소환사",
  "Reflux": "환류",
  "Lunar Voice": "달의 소리",
  "Grace of the Empress": "황후",
  "Remaining Energy": "잔재된 기운",
  "Surge": "버스트 강화",
  "Shining Knight": "빛의 기사",  
  "Deathblow": "일격필살",
  "Recurrence": "회귀",
  "True Courage": "진실된 용맹",  
};

function replaceTextInNode(node) {
  if (node.nodeType === Node.TEXT_NODE) {
    for (const [key, value] of Object.entries(textMap)) {
      if (node.nodeValue.includes(key)) {
        node.nodeValue = node.nodeValue.replaceAll(key, value);
      }
    }
  } else {
    for (const child of node.childNodes) {
      replaceTextInNode(child);
    }
  }
}

// 페이지 전체 텍스트 바꾸기 (초기 실행)
replaceTextInNode(document.body);

// 이후 DOM 변화 감지해서 자동 변환
const observer = new MutationObserver((mutations) => {
  for (const mutation of mutations) {
    if (mutation.addedNodes.length > 0 || mutation.type === "childList") {
      replaceTextInNode(document.body);
      break;
    }
  }
});

observer.observe(document.body, {
  childList: true,
  subtree: true,
});