const Lw = "\u200b".repeat(500);
const weaknesses = {
"노말": ["격투"],
"불꽃": ["물", "땅", "바위"],
"물": ["풀", "전기"],
"풀": ["불꽃", "얼음", "독", "벌레", "비행"],
"전기": ["땅"],
"얼음": ["불꽃", "격투", "바위", "강철"],
"격투": ["비행", "에스퍼", "페어리"],
"독": ["땅", "에스퍼"],
"땅": ["물", "풀", "얼음"],
"비행": ["전기", "얼음", "바위"],
"에스퍼": ["벌레", "고스트", "악"],
"벌레": ["불꽃", "비행", "바위"],
"바위": ["물", "풀", "격투", "땅", "강철"],
"고스트": ["고스트", "악"],
"드래곤": ["얼음", "드래곤", "페어리"],
"악": ["격투", "벌레", "페어리"],
"강철": ["불꽃", "격투", "땅"],
"페어리": ["독", "강철"]
};
const strengths = {
"노말": [""],
"불꽃": ["풀", "벌레", "얼음", "강철"],
"물": ["불", "땅", "바위"],
"풀": ["물", "땅", "바위"],
"전기": ["물", "비행"],
"얼음": ["풀", "땅", "비행", "드래곤"],
"격투": ["노말", "얼음", "바위", "악", "강철"],
"독": ["풀", "에스퍼"],
"땅": ["불꽃", "전기", "독", "바위", "강철"],
"비행": ["격투", "풀", "벌레"],
"에스퍼": ["격투", "독"],
"벌레": ["풀", "에스퍼", "악"],
"바위": ["불꽃", "얼음", "비행", "벌레"],
"고스트": ["고스트", "에스퍼"],
"드래곤": ["드래곤"],
"악": ["에스퍼", "고스트"],
"강철": ["얼음", "바위", "에스퍼"],
"페어리": ["독", "강철", "드래곤"],
};
function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) {
if (msg.startsWith("/포고 ")) {
try {
let name = msg.slice(4).trim();
let a = org.jsoup.Jsoup.connect("https://pokemonkorea.co.kr/pokedex?word=" + name + "&characters=&area=&snumber=1&snumber2=1025&sortselval=number+asc%2Cnumber_count+asc&typetextcs=_________________#pokedex_18").get();
let f = a.select('[class="row list-book per1-1"]').text().replace(/[ㄱ-힣]/g, "").split("No.");
if (f.length <= 1) return replier.reply("없는 포켓몬이에요");
let d = a.select('[class="tumb-wrp"]').get(0);
let ff = a.select('[class$="bx-txt"]').get(0).text().trim();
let name_ = String(a.select('[class$="bx-txt"]').get(0)).split('</p>')[1].replace(/(<([^>]+)>)/g, "").replace(/\n/g, "").replace(/ {2,}/g, " ").trim();
let types = String(ff).split(name_)[1].trim().split(/\,? /);
let num = String(ff).split(name_)[0].trim();
let weaks = {};
let strongs = {};
types.map(e => e.trim()).filter(e => e).forEach(t => {
weaknesses[t].forEach(w => {
weaks[w] = (weaks[w] || 0) + 1;
});
strengths[t].forEach(s => {
strongs[s] = (strongs[s] || 0) + 1;
});
});
let weak_keys = Object.keys(weaks).sort((a, b) => weaks[a] === weaks[b] ? (a > b ? 1 : -1) : weaks[b] - weaks[a]);
let strong_keys = Object.keys(strongs).sort((a, b) => strongs[a] === strongs[b] ? (a > b ? 1 : -1) : strongs[b] - strongs[a]);
replier.reply(
name_ + "\n"
+ "도감번호: " + num + "\n"
+ "타입: " + types + "\n"
+ "약점: " + (weak_keys.length ? weak_keys.map(w => w + ' (' + +Math.pow(1.6, weaks[w]).toFixed(3) + ')').join(', ') : '없음') + "\n"
+ "방어: " + (strong_keys.length ? strong_keys.map(s => s + ' (' + +Math.pow(0.625, strongs[s]).toFixed(3) + ')').join(', ') : '없음') + "\n"
+ "이미지: " + ("h" + String(d).split("h")[1].split("g")[0] + "g")
);
} catch (e) {
replier.reply("없는 포켓몬이에요! " + e + "\n" + e.errorLine);
}
}
}
레쿠쟈 도감번호: 384
타입: 드래곤, 비행
약점: 얼음 (2.56), 드래곤 (1.60), 페어리 (1.60), 전기 (1.60), 바위 (1.60)
이미지: https://example.com/image_of_rekuza.jpg
비행 약점에 전기 있다면서 니가
근데 전기 끼리 0.625배라서 비행이/전기 2중타입은 1배야
자바..?
해당 댓글은 삭제되었습니다.
근데 전기 끼리 0.625배라서 비행이/전기 2중타입은 1배야
드래곤이 전기 반감하는 거 코드에 없자늠