array-based generation for overlapping birthdays
+ more idols
This commit is contained in:
parent
95749d4108
commit
8ca26a4dbb
|
|
@ -6,43 +6,70 @@ if(enabledMods.includes(haseuliteMod)) {
|
||||||
shortenedTest = (urlParams.get('shortenedTest') !== null);
|
shortenedTest = (urlParams.get('shortenedTest') !== null);
|
||||||
|
|
||||||
loonaObject = {
|
loonaObject = {
|
||||||
"01-02": {member: "Jihyo", color: "rgb(250,200,87)", group: "Twice"},
|
"08-01": [
|
||||||
"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},
|
{member: "Seo Dahyun",color: "rgb(251,160,227)",group: "tripleS"},
|
||||||
"09-02": {member: "Kim Yooyeon", color: "rgb(205,102,171)", group: "tripleS"},
|
{member: "Kwak Yeonji",color: "rgb(89,116,255)",group: "tripleS"},//Fod gucking damn it
|
||||||
"21-02": {member: "Leeseo", color: "rgb(255,240,1)", group: "IVE"},
|
],
|
||||||
"10-02": {member: "Kim Lip", color: "rgb(234,2,1)", group: "Loona"},
|
"23-01": {member: "Isa",color: "rgb(0,0,0)",group: "STAYC"},
|
||||||
"24-03": {member: "Mina", color: "rgb(111,197,194)", group: "Twice"},
|
"01-02": {member: "Jihyo",color: "rgb(250,200,87)",group: "Twice"},
|
||||||
"12-04": {member: "Jeong Hyerin", color: "rgb(142,108,255)", group: "tripleS"},
|
"03-02": [
|
||||||
"23-04": {member: "Chaeyoung", color: "rgb(255,23,68)", group: "Twice"},
|
{member: "Rei",color: "rgba(105,195,45)",group: "IVE"},
|
||||||
"24-05": {member: "Yves", color: "rgb(125,0,30)", group: "Loona"},
|
{member: "Gong Yubin",color: "rgb(255,227,226)",group: "tripleS"},
|
||||||
"28-05": {member: "Dahyun", color: "rgb(255,255,255)", group: "Twice"},
|
],
|
||||||
"04-06": {member: "Choerry", color: "rgb(92,44,146)", group: "Loona"},
|
"09-02": {member: "Kim Yooyeon",color: "rgb(205,102,171)",group: "tripleS"},
|
||||||
"13-06": {member: "JinSoul", color: "rgb(20,36,176)", group: "Loona"},
|
"21-02": {member: "Leeseo",color: "rgb(255,240,1)",group: "IVE"},
|
||||||
"14-06": {member: "Tzuyu", color: "rgb(2,119,189)", group: "Twice"},
|
"10-02": {member: "Kim Lip",color: "rgb(234,2,1)",group: "Loona"},
|
||||||
"06-08": {member: "Yoon Seoyeon", color: "rgb(34,174,255)", group: "tripleS"},
|
"10-03": {member: "Kotone",color: "rgb(255,246,84)",group: "tripleS"},
|
||||||
"18-08": {member: "HaSeul", color: "rgb(0,166,81)", group: "Loona"},
|
"13-03": {member: "Sumin",color: "rgb(255,192,203)",group: "STAYC"},
|
||||||
"31-08": {member: "Wonyoung", color: "rgb(255,0,30)", group: "IVE"}, //stay mad
|
"24-03": {member: "Mina",color: "rgb(111,197,194)",group: "Twice"},
|
||||||
"01-09": {member: "Yujin", color: "rgb(255,57,154)", group: "IVE"},
|
"12-04": {member: "Jeong Hyerin",color: "rgb(142,108,255)",group: "tripleS"},
|
||||||
"22-09": {member: "Nayeon", color: "rgb(129,212,250)", group: "Twice"},
|
"14-04": {member: "Yoon",color: "rgb(50,205,50)",group: "STAYC"},//so pretty soijejdsjiodiopziajreldkxf
|
||||||
"24-09": {member: "Gaeul", color: "rgb(0,85,168)", group: "IVE"},
|
"23-04": {member: "Chaeyoung",color: "rgb(255,23,68)",group: "Twice"},
|
||||||
"03-10": {member: "Kim Soomin", color: "rgb(236,138,165)", group: "tripleS"},
|
"24-05": {member: "Yves",color: "rgb(125,0,30)",group: "Loona"},
|
||||||
"13-10": {member: "Kim Nakyoung", color: "rgb(101,153,164)", group: "tripleS"},
|
"28-05": {member: "Dahyun",color: "rgb(255,255,255)",group: "Twice"},
|
||||||
"19-10": {member: "HeeJin", color: "rgb(255,0,146)", group: "Loona"},
|
"04-06": {member: "Choerry",color: "rgb(92,44,146)",group: "Loona"},
|
||||||
"20-10": {member: "Chuu", color: "rgb(246,144,126)", group: "Loona"},
|
"13-06": {member: "JinSoul",color: "rgb(20,36,176)",group: "Loona"},
|
||||||
"24-10": {member: "Lee Jiwoo", color: "rgb(255,249,36)", group: "tripleS"},
|
"14-06": [
|
||||||
"01-11": {member: "Jeongyeon", color: "rgb(188,215,118)", group: "Twice"},
|
{member: "Seeun",color: "rgb(135,206,235)",group: "STAYC"},
|
||||||
"09-11": {member: "Momo", color: "rgb(248,207,215)", group: "Twice"},
|
{member: "Tzuyu",color: "rgb(2,119,189)",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"},
|
"01-08": {member: "Sieun",color: "rgb(255,255,255)",group: "STAYC"},
|
||||||
"15-11": {member: "HyunJin", color: "rgb(255,204,0)", group: "Loona"},
|
"06-08": {member: "Yoon Seoyeon",color: "rgb(34,174,255)",group: "tripleS"},
|
||||||
"19-11": {member: "Go Won", color: "rgb(48,195,156)", group: "Loona"},
|
"18-08": {member: "HaSeul",color: "rgb(0,166,81)",group: "Loona"},
|
||||||
"21-11": {member: "Liz", color: "rgb(0,195,245)", group: "IVE"},
|
"31-08": {member: "Wonyoung",color: "rgb(255,0,30)",group: "IVE"},//stay mad
|
||||||
"04-12": {member: "Kim Chaeyeon", color: "rgb(141,191,65)", group: "tripleS"},
|
"01-09": {member: "Yujin",color: "rgb(255,57,154)",group: "IVE"},
|
||||||
"09-12": {member: "ViVi", color: "rgb(255,152,180)", group: "Loona"},
|
"22-09": {member: "Nayeon",color: "rgb(129,212,250)",group: "Twice"},
|
||||||
"20-12": {member: "Kaede", color: "rgb(255,201,53)", group: "tripleS"},
|
"24-09": {member: "Gaeul",color: "rgb(0,85,168)",group: "IVE"},
|
||||||
"29-12": {member: "Sana", color: "rgb(159,168,218)", group: "Twice"}
|
"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;
|
var february10Override = false;
|
||||||
|
|
||||||
function getDayMonth() {
|
function getDayMonth() {
|
||||||
|
|
@ -55,34 +82,46 @@ if(enabledMods.includes(haseuliteMod)) {
|
||||||
return (fakeDate === null ? dayMonth : fakeDate);
|
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 = "";
|
var fakeDateMessage = "";
|
||||||
if(fakeDate !== null) {
|
if(fakeDate !== null) {
|
||||||
fakeDateMessage += "(Fake date) ";
|
fakeDateMessage += "(Fake date) ";
|
||||||
};
|
};
|
||||||
|
|
||||||
var shortenedTestMessage = "";
|
var shortenedTestMessage = "";
|
||||||
if(shortenedTest) {
|
if(shortenedTest) {
|
||||||
shortenedTestMessage += "(Shortened to 2) ";
|
shortenedTestMessage += "(Shortened) ";
|
||||||
};
|
|
||||||
if(clickedElements[name] === false) {
|
|
||||||
clickedElements[name] = 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}!`);
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function evaluateTheClickedElements() {
|
memberName = memberData.member;
|
||||||
|
|
||||||
|
if(clickedElements[memberName][elementName] === false) {
|
||||||
|
clickedElements[memberName][elementName] = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
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(memberName) {
|
||||||
var done = true;
|
var done = true;
|
||||||
for(element in clickedElements) {
|
for(element in clickedElements[memberName]) {
|
||||||
done = done && clickedElements[element];
|
done = done && clickedElements[memberName][element];
|
||||||
};
|
};
|
||||||
return done;
|
return done;
|
||||||
};
|
};
|
||||||
|
|
@ -98,18 +137,30 @@ Member: ${fakeDateMessage}${shortenedTestMessage}${memberMessage}. Stan ${loonaO
|
||||||
document.getElementById(`elementButton-${element}`).style["box-shadow"] = `0px 0px ${blurRadius} ${spreadRadius} ${color}`;
|
document.getElementById(`elementButton-${element}`).style["box-shadow"] = `0px 0px ${blurRadius} ${spreadRadius} ${color}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
clickedElements = {};
|
||||||
|
|
||||||
runAfterAutogen(function() {
|
runAfterAutogen(function() {
|
||||||
|
|
||||||
changingDescElements = ["distance_display","find_toggle","prop","number_adjuster","replace","alt_replace","alt_alt_replace","change","alt_change","alt_alt_change"];
|
var alreadyHighlightedElements = [];
|
||||||
|
|
||||||
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 changingDescElements = ["distance_display","find_toggle","prop","number_adjuster","replace","alt_replace","alt_alt_replace","change","alt_change","alt_alt_change"];
|
||||||
|
|
||||||
dayMonth = getDayMonth();
|
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"];
|
||||||
|
|
||||||
|
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 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]) {
|
if(loonaObject[dayMonth]) {
|
||||||
randomElements = Object.keys(elements).filter(function(e) {
|
var data = loonaObject[dayMonth];
|
||||||
|
|
||||||
|
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;
|
var cat = elements[e].category;
|
||||||
if(cat == undefined) { cat = "other" };
|
if(cat == undefined) { cat = "other" };
|
||||||
cat = cat.toLowerCase();
|
cat = cat.toLowerCase();
|
||||||
|
|
@ -136,47 +187,61 @@ Member: ${fakeDateMessage}${shortenedTestMessage}${memberMessage}. Stan ${loonaO
|
||||||
!elements[e].nocheer &&
|
!elements[e].nocheer &&
|
||||||
!changingDescElements.includes(e) &&
|
!changingDescElements.includes(e) &&
|
||||||
!blacklist.includes(e) &&
|
!blacklist.includes(e) &&
|
||||||
|
!alreadyHighlightedElements.includes(e) &&
|
||||||
!elements[e].hidden &&
|
!elements[e].hidden &&
|
||||||
!baseArray.includes(e)
|
!baseArray.includes(e)
|
||||||
);
|
);
|
||||||
}); shuffleArray(randomElements); randomElements = randomElements.slice(0,shortenedTest ? 2 : 12);
|
}); shuffleArray(randomElementSets[member]); randomElementSets[member] = randomElementSets[member].slice(0,shortenedTest ? 2 : 12);
|
||||||
|
|
||||||
clickedElements = {};
|
clickedElements[member] = {};
|
||||||
for(i = 0; i < randomElements.length; i++) {
|
|
||||||
var elemName = randomElements[i];
|
alreadyHighlightedElements = alreadyHighlightedElements.concat(randomElementSets[member]);
|
||||||
clickedElements[elemName] = false;
|
|
||||||
|
for(i = 0; i < randomElementSets[member].length; i++) {
|
||||||
|
var elemName = randomElementSets[member][i];
|
||||||
|
clickedElements[member][elemName] = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
runAfterButtons(function() {
|
runAfterButtons(function() {
|
||||||
var elems = Object.keys(clickedElements);
|
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++) {
|
for(j = 0; j < elems.length; j++) {
|
||||||
var name = elems[j];
|
var name = elems[j];
|
||||||
var color = loonaObject[dayMonth].color;
|
var color = data[memberIndex].color;
|
||||||
if(data.gradient) {
|
if(data.gradient) {
|
||||||
color = "rgb(255,255,255)";
|
color = "rgb(255,255,255)";
|
||||||
};
|
};
|
||||||
//console.log(name);
|
//console.log(name);
|
||||||
//console.log(color);
|
//console.log(color);
|
||||||
highlightButton(name,color,7,2);
|
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(randomElements);
|
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]);
|
||||||
|
|
||||||
var data = loonaObject[dayMonth];
|
//console.log(member, funnyElements);
|
||||||
for(ya = 0; ya < funnyElements.length; ya++) {
|
|
||||||
var elemName = funnyElements[ya];
|
for(element in funnyElements) {
|
||||||
|
var elemName = funnyElements[element];
|
||||||
var info = elements[elemName];
|
var info = elements[elemName];
|
||||||
var loonaTheHTML = null;
|
var memberData = data[memberIndex];
|
||||||
if(baseArray.includes(elemName)) {
|
|
||||||
loonaTheHTML = `<span style="${data.gradient ? ('background: ' + data.color + '; background-clip: text; -webkit-background-clip: text; text-fill-color: transparent; -webkit-text-fill-color: transparent;') : ('color:' + data.color)}">Happy birthday, ${data.member}!</span>`;
|
|
||||||
} else {
|
|
||||||
loonaTheHTML = `<em style="${data.gradient ? ('background: ' + data.color + '; background-clip: text; -webkit-background-clip: text; text-fill-color: transparent; -webkit-text-fill-color: transparent;') : ('color:' + data.color)}" onclick=registerElemClick("${elemName}")>Happy birthday, ${data.member}!</em>`
|
|
||||||
};
|
|
||||||
if(typeof(info.desc) === "undefined") {
|
if(typeof(info.desc) === "undefined") {
|
||||||
info.desc = loonaTheHTML
|
info.desc = ""
|
||||||
} else if(typeof(info.desc) === "string") {
|
} else {
|
||||||
info.desc += ("<br/>" + loonaTheHTML);
|
info.desc += "<br/>"
|
||||||
|
};
|
||||||
|
|
||||||
|
var normalDesc = baseArray.includes(elemName);
|
||||||
|
|
||||||
|
loonaTheHTML = normalDesc ? `<span style="${memberData.gradient ? ('background: ' + memberData.color + '; background-clip: text; -webkit-background-clip: text; text-fill-color: transparent; -webkit-text-fill-color: transparent;') : ('color:' + memberData.color)}">Happy birthday, ${memberData.member}!</span>` : `<em style="${memberData.gradient ? ('background: ' + memberData.color + '; background-clip: text; -webkit-background-clip: text; text-fill-color: transparent; -webkit-text-fill-color: transparent;') : ('color:' + memberData.color)}" onclick=registerElemClick("${elemName}",${memberIndex})>Happy birthday, ${memberData.member}!</em>`;
|
||||||
|
|
||||||
|
info.desc += loonaTheHTML;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue