diff --git a/mods/date_test.js b/mods/date_test.js index 5b82e940..88d804b0 100644 --- a/mods/date_test.js +++ b/mods/date_test.js @@ -6,42 +6,69 @@ if(enabledMods.includes(haseuliteMod)) { shortenedTest = (urlParams.get('shortenedTest') !== null); loonaObject = { - "01-02": {member: "Jihyo", color: "rgb(250,200,87)", group: "Twice"}, - "03-02": {member: "Rei and Gong Yubin", color: "linear-gradient(90deg, rgba(105,195,45,1) 0%, rgba(105,195,45,1) 20%, rgba(255,227,226,1) 80%, rgba(255,227,226,1) 100%)", group: "IVE and tripleS", gradient: true}, - "09-02": {member: "Kim Yooyeon", color: "rgb(205,102,171)", group: "tripleS"}, - "21-02": {member: "Leeseo", color: "rgb(255,240,1)", group: "IVE"}, - "10-02": {member: "Kim Lip", color: "rgb(234,2,1)", group: "Loona"}, - "24-03": {member: "Mina", color: "rgb(111,197,194)", group: "Twice"}, - "12-04": {member: "Jeong Hyerin", color: "rgb(142,108,255)", group: "tripleS"}, - "23-04": {member: "Chaeyoung", color: "rgb(255,23,68)", group: "Twice"}, - "24-05": {member: "Yves", color: "rgb(125,0,30)", group: "Loona"}, - "28-05": {member: "Dahyun", color: "rgb(255,255,255)", group: "Twice"}, - "04-06": {member: "Choerry", color: "rgb(92,44,146)", group: "Loona"}, - "13-06": {member: "JinSoul", color: "rgb(20,36,176)", group: "Loona"}, - "14-06": {member: "Tzuyu", color: "rgb(2,119,189)", group: "Twice"}, - "06-08": {member: "Yoon Seoyeon", color: "rgb(34,174,255)", group: "tripleS"}, - "18-08": {member: "HaSeul", color: "rgb(0,166,81)", group: "Loona"}, - "31-08": {member: "Wonyoung", color: "rgb(255,0,30)", group: "IVE"}, //stay mad - "01-09": {member: "Yujin", color: "rgb(255,57,154)", group: "IVE"}, - "22-09": {member: "Nayeon", color: "rgb(129,212,250)", group: "Twice"}, - "24-09": {member: "Gaeul", color: "rgb(0,85,168)", group: "IVE"}, - "03-10": {member: "Kim Soomin", color: "rgb(236,138,165)", group: "tripleS"}, - "13-10": {member: "Kim Nakyoung", color: "rgb(101,153,164)", group: "tripleS"}, - "19-10": {member: "HeeJin", color: "rgb(255,0,146)", group: "Loona"}, - "20-10": {member: "Chuu", color: "rgb(246,144,126)", group: "Loona"}, - "24-10": {member: "Lee Jiwoo", color: "rgb(255,249,36)", group: "tripleS"}, - "01-11": {member: "Jeongyeon", color: "rgb(188,215,118)", group: "Twice"}, - "09-11": {member: "Momo", color: "rgb(248,207,215)", group: "Twice"}, - "11-11": {member: "YeoJin", color: "rgb(244,111,31)", group: "Loona"}, - "13-11": {member: "Olivia Hye", color: "rgb(143,143,143)", group: "Loona"}, - "15-11": {member: "HyunJin", color: "rgb(255,204,0)", group: "Loona"}, - "19-11": {member: "Go Won", color: "rgb(48,195,156)", group: "Loona"}, - "21-11": {member: "Liz", color: "rgb(0,195,245)", group: "IVE"}, - "04-12": {member: "Kim Chaeyeon", color: "rgb(141,191,65)", group: "tripleS"}, - "09-12": {member: "ViVi", color: "rgb(255,152,180)", group: "Loona"}, - "20-12": {member: "Kaede", color: "rgb(255,201,53)", group: "tripleS"}, - "29-12": {member: "Sana", color: "rgb(159,168,218)", group: "Twice"} + "08-01": [ + {member: "Seo Dahyun",color: "rgb(251,160,227)",group: "tripleS"}, + {member: "Kwak Yeonji",color: "rgb(89,116,255)",group: "tripleS"},//Fod gucking damn it + ], + "23-01": {member: "Isa",color: "rgb(0,0,0)",group: "STAYC"}, + "01-02": {member: "Jihyo",color: "rgb(250,200,87)",group: "Twice"}, + "03-02": [ + {member: "Rei",color: "rgba(105,195,45)",group: "IVE"}, + {member: "Gong Yubin",color: "rgb(255,227,226)",group: "tripleS"}, + ], + "09-02": {member: "Kim Yooyeon",color: "rgb(205,102,171)",group: "tripleS"}, + "21-02": {member: "Leeseo",color: "rgb(255,240,1)",group: "IVE"}, + "10-02": {member: "Kim Lip",color: "rgb(234,2,1)",group: "Loona"}, + "10-03": {member: "Kotone",color: "rgb(255,246,84)",group: "tripleS"}, + "13-03": {member: "Sumin",color: "rgb(255,192,203)",group: "STAYC"}, + "24-03": {member: "Mina",color: "rgb(111,197,194)",group: "Twice"}, + "12-04": {member: "Jeong Hyerin",color: "rgb(142,108,255)",group: "tripleS"}, + "14-04": {member: "Yoon",color: "rgb(50,205,50)",group: "STAYC"},//so pretty soijejdsjiodiopziajreldkxf + "23-04": {member: "Chaeyoung",color: "rgb(255,23,68)",group: "Twice"}, + "24-05": {member: "Yves",color: "rgb(125,0,30)",group: "Loona"}, + "28-05": {member: "Dahyun",color: "rgb(255,255,255)",group: "Twice"}, + "04-06": {member: "Choerry",color: "rgb(92,44,146)",group: "Loona"}, + "13-06": {member: "JinSoul",color: "rgb(20,36,176)",group: "Loona"}, + "14-06": [ + {member: "Seeun",color: "rgb(135,206,235)",group: "STAYC"}, + {member: "Tzuyu",color: "rgb(2,119,189)",group: "Twice"} + ], + "01-08": {member: "Sieun",color: "rgb(255,255,255)",group: "STAYC"}, + "06-08": {member: "Yoon Seoyeon",color: "rgb(34,174,255)",group: "tripleS"}, + "18-08": {member: "HaSeul",color: "rgb(0,166,81)",group: "Loona"}, + "31-08": {member: "Wonyoung",color: "rgb(255,0,30)",group: "IVE"},//stay mad + "01-09": {member: "Yujin",color: "rgb(255,57,154)",group: "IVE"}, + "22-09": {member: "Nayeon",color: "rgb(129,212,250)",group: "Twice"}, + "24-09": {member: "Gaeul",color: "rgb(0,85,168)",group: "IVE"}, + "03-10": {member: "Kim Soomin",color: "rgb(236,138,165)",group: "tripleS"}, + "13-10": {member: "Kim Nakyoung",color: "rgb(101,153,164)",group: "tripleS"}, + "19-10": {member: "HeeJin",color: "rgb(255,0,146)",group: "Loona"}, + "20-10": {member: "Chuu",color: "rgb(246,144,126)",group: "Loona"}, + "24-10": {member: "Lee Jiwoo",color: "rgb(255,249,36)",group: "tripleS"}, + "01-11": {member: "Jeongyeon",color: "rgb(188,215,118)",group: "Twice"}, + "09-11": {member: "Momo",color: "rgb(248,207,215)",group: "Twice"}, + "11-11": {member: "YeoJin",color: "rgb(244,111,31)",group: "Loona"}, + "13-11": {member: "Olivia Hye",color: "rgb(143,143,143)",group: "Loona"}, + "15-11": {member: "HyunJin",color: "rgb(255,204,0)",group: "Loona"}, + "19-11": {member: "Go Won",color: "rgb(48,195,156)",group: "Loona"}, + "21-11": {member: "Liz",color: "rgb(0,195,245)",group: "IVE"}, + "04-12": {member: "Kim Chaeyeon",color: "rgb(141,191,65)",group: "tripleS"}, + "09-12": [ + {member: "ViVi",color: "rgb(255,152,180)",group: "Loona"}, + {member: "J",color: "rgb(255,0,0)",group: "STAYC"} + ], + "20-12": {member: "Kaede",color: "rgb(255,201,53)",group: "tripleS"}, + "29-12": {member: "Sana",color: "rgb(159,168,218)",group: "Twice"} }; + + var chaos = []; + for(date in loonaObject) { + if(date == "chaos") { continue }; + if(!(loonaObject[date] instanceof Array)) { loonaObject[date] = [loonaObject[date]] }; //array wrap + + chaos = chaos.concat(loonaObject[date]); + }; + loonaObject.chaos = chaos; var february10Override = false; @@ -55,34 +82,46 @@ if(enabledMods.includes(haseuliteMod)) { return (fakeDate === null ? dayMonth : fakeDate); } - function registerElemClick(name) { + function registerElemClick(elementName,memberDataIndex) { + var dateData = loonaObject[getDayMonth()]; + if(!dateData) { + alert("No birthday data here"); + return false; + }; + + var memberData = dateData[memberDataIndex]; + var fakeDateMessage = ""; if(fakeDate !== null) { fakeDateMessage += "(Fake date) "; }; + var shortenedTestMessage = ""; if(shortenedTest) { - shortenedTestMessage += "(Shortened to 2) "; + shortenedTestMessage += "(Shortened) "; }; - if(clickedElements[name] === false) { - clickedElements[name] = true; + + memberName = memberData.member; + + if(clickedElements[memberName][elementName] === false) { + clickedElements[memberName][elementName] = true; }; - if(evaluateTheClickedElements()) { - var dayMonth = getDayMonth(); - var memberMessage = loonaObject[dayMonth]; - if(memberMessage == undefined) { memberMessage = "[No such member?]" }; - if(typeof(memberMessage) === "object") { - memberMessage = memberMessage.member; - }; -alert(`You have clicked on all ${Object.keys(clickedElements).length} birthday messages spread throughout some of the elements. -Member: ${fakeDateMessage}${shortenedTestMessage}${memberMessage}. Stan ${loonaObject[getDayMonth()].group}!`); + + if(evaluateTheClickedElements(memberName)) { + alert( + `You have clicked on all ${Object.keys(clickedElements[memberName]).length} birthday messages spread throughout some of the elements.` + + "\n" + + `Member: ${fakeDateMessage}${shortenedTestMessage}${memberName}. Stan ${memberData.group}!` + ); }; + + return typeof(clickedElements[memberName][elementName]) === "boolean"; }; - function evaluateTheClickedElements() { + function evaluateTheClickedElements(memberName) { var done = true; - for(element in clickedElements) { - done = done && clickedElements[element]; + for(element in clickedElements[memberName]) { + done = done && clickedElements[memberName][element]; }; return done; }; @@ -98,85 +137,111 @@ Member: ${fakeDateMessage}${shortenedTestMessage}${memberMessage}. Stan ${loonaO document.getElementById(`elementButton-${element}`).style["box-shadow"] = `0px 0px ${blurRadius} ${spreadRadius} ${color}`; }; + clickedElements = {}; + runAfterAutogen(function() { - changingDescElements = ["distance_display","find_toggle","prop","number_adjuster","replace","alt_replace","alt_alt_replace","change","alt_change","alt_alt_change"]; + var alreadyHighlightedElements = []; + + var changingDescElements = ["distance_display","find_toggle","prop","number_adjuster","replace","alt_replace","alt_alt_replace","change","alt_change","alt_alt_change"]; - blacklist = ["toxin","poison","blood","cancer","rotten_meat","frozen_rotten_meat","zombie_blood","plague","stench","infection","acid","acid_gas","rot","shit","shit_gravel","poo","dioxin","lean"]; + var blacklist = ["toxin","poison","blood","cancer","rotten_meat","frozen_rotten_meat","zombie_blood","plague","stench","infection","acid","acid_gas","rot","shit","shit_gravel","poo","dioxin","lean","cyanide"]; - dayMonth = getDayMonth(); + var dayMonth = getDayMonth(); var baseArray = ["heejinite","heejinite_powder","molten_heejinite","heejinite_gas","haseulite","haseulite_powder","molten_haseulite","haseulite_gas","jinsoulite","jinsoulite_powder","molten_jinsoulite","jinsoulite_gas","haseulite_vent","loona","loona_gravel","molten_loona"]; + + var loonaTheHTML = ""; + + var randomElementSets = {}; if(loonaObject[dayMonth]) { - randomElements = Object.keys(elements).filter(function(e) { - var cat = elements[e].category; - if(cat == undefined) { cat = "other" }; - cat = cat.toLowerCase(); - return ( - cat !== "clouds" && - cat !== "auto creepers" && - cat !== "auto_bombs" && - cat !== "auto_fey" && - cat !== "spouts" && - cat !== "singularities" && - cat !== "random" && - cat !== "weapons" && - cat !== "idk" && - cat !== "corruption" && - cat !== "radioactive" && - cat !== "piss" && - cat !== "shit" && - cat !== "vomit" && - cat !== "cum" && - !e.includes("head") && - (!e.includes("body") || e.includes("antibody")) && - !cat.includes("random") && - !cat.includes("udstone") && - !elements[e].nocheer && - !changingDescElements.includes(e) && - !blacklist.includes(e) && - !elements[e].hidden && - !baseArray.includes(e) - ); - }); shuffleArray(randomElements); randomElements = randomElements.slice(0,shortenedTest ? 2 : 12); - - clickedElements = {}; - for(i = 0; i < randomElements.length; i++) { - var elemName = randomElements[i]; - clickedElements[elemName] = false; - }; - - runAfterButtons(function() { - var elems = Object.keys(clickedElements); - for(j = 0; j < elems.length; j++) { - var name = elems[j]; - var color = loonaObject[dayMonth].color; - if(data.gradient) { - color = "rgb(255,255,255)"; - }; - //console.log(name); - //console.log(color); - highlightButton(name,color,7,2); - }; - }); - - var funnyElements = ["heejinite","heejinite_powder","molten_heejinite","heejinite_gas","haseulite","haseulite_powder","molten_haseulite","haseulite_gas","jinsoulite","jinsoulite_powder","molten_jinsoulite","jinsoulite_gas","haseulite_vent","loona","loona_gravel","molten_loona"].concat(randomElements); - var data = loonaObject[dayMonth]; - for(ya = 0; ya < funnyElements.length; ya++) { - var elemName = funnyElements[ya]; - var info = elements[elemName]; - var loonaTheHTML = null; - if(baseArray.includes(elemName)) { - loonaTheHTML = `Happy birthday, ${data.member}!`; - } else { - loonaTheHTML = `Happy birthday, ${data.member}!` + + for(var memberIndex = 0; memberIndex < data.length; memberIndex++) { + var member = data[memberIndex].member; + randomElementSets[member] = Object.keys(elements).filter(function(e) { + var cat = elements[e].category; + if(cat == undefined) { cat = "other" }; + cat = cat.toLowerCase(); + return ( + cat !== "clouds" && + cat !== "auto creepers" && + cat !== "auto_bombs" && + cat !== "auto_fey" && + cat !== "spouts" && + cat !== "singularities" && + cat !== "random" && + cat !== "weapons" && + cat !== "idk" && + cat !== "corruption" && + cat !== "radioactive" && + cat !== "piss" && + cat !== "shit" && + cat !== "vomit" && + cat !== "cum" && + !e.includes("head") && + (!e.includes("body") || e.includes("antibody")) && + !cat.includes("random") && + !cat.includes("udstone") && + !elements[e].nocheer && + !changingDescElements.includes(e) && + !blacklist.includes(e) && + !alreadyHighlightedElements.includes(e) && + !elements[e].hidden && + !baseArray.includes(e) + ); + }); shuffleArray(randomElementSets[member]); randomElementSets[member] = randomElementSets[member].slice(0,shortenedTest ? 2 : 12); + + clickedElements[member] = {}; + + alreadyHighlightedElements = alreadyHighlightedElements.concat(randomElementSets[member]); + + for(i = 0; i < randomElementSets[member].length; i++) { + var elemName = randomElementSets[member][i]; + clickedElements[member][elemName] = false; }; - if(typeof(info.desc) === "undefined") { - info.desc = loonaTheHTML - } else if(typeof(info.desc) === "string") { - info.desc += ("
" + loonaTheHTML); + + runAfterButtons(function() { + var data = loonaObject[getDayMonth()]; + //console.log(data); + for(var memberIndex = 0; memberIndex < data.length; memberIndex++) { + var member = data[memberIndex].member; + //console.log(member, data[memberIndex]); + var elems = Object.keys(clickedElements[member]); + //console.log(elems); + for(j = 0; j < elems.length; j++) { + var name = elems[j]; + var color = data[memberIndex].color; + if(data.gradient) { + color = "rgb(255,255,255)"; + }; + //console.log(name); + //console.log(color); + color == "rgb(0,0,0)" ? highlightButton(name,color,15,12) : highlightButton(name,color,7,2); + }; + }; + }); + + var funnyElements = ["heejinite","heejinite_powder","molten_heejinite","heejinite_gas","haseulite","haseulite_powder","molten_haseulite","haseulite_gas","jinsoulite","jinsoulite_powder","molten_jinsoulite","jinsoulite_gas","haseulite_vent","loona","loona_gravel","molten_loona"].concat(randomElementSets[member]); + + //console.log(member, funnyElements); + + for(element in funnyElements) { + var elemName = funnyElements[element]; + var info = elements[elemName]; + var memberData = data[memberIndex]; + if(typeof(info.desc) === "undefined") { + info.desc = "" + } else { + info.desc += "
" + }; + + var normalDesc = baseArray.includes(elemName); + + loonaTheHTML = normalDesc ? `Happy birthday, ${memberData.member}!` : `Happy birthday, ${memberData.member}!`; + + info.desc += loonaTheHTML; }; }; }; @@ -186,4 +251,4 @@ Member: ${fakeDateMessage}${shortenedTestMessage}${memberMessage}. Stan ${loonaO if(!enabledMods.includes(haseuliteMod)) { enabledMods.splice(enabledMods.indexOf(modName),0,haseuliteMod) }; localStorage.setItem("enabledMods", JSON.stringify(enabledMods)); alert(`The "${haseuliteMod}" mod is required and has been automatically inserted (reload for this to take effect).`) -}; \ No newline at end of file +};