diff --git a/mods/more_fairies.js b/mods/more_fairies.js index e3eccda8..b8de4614 100644 --- a/mods/more_fairies.js +++ b/mods/more_fairies.js @@ -93,7 +93,7 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) fairyIncludeRandom = false } - //Generate creepers + //Generate fairies if(urlParams.get('generateFairies') !== null) { //if the variable exists at all generateFairies = true } else { //if it doesn't (and it returns null) @@ -115,6 +115,21 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) }; }; + runAfterLoad(function() { + if(typeof(eLists.FAIRY) === "undefined") { eLists.FAIRY = [] }; + eLists.FAIRY.push("acid_fairy"); + eLists.FAIRY.push("oil_fairy"); + eLists.FAIRY.push("honey_fairy"); + fairyChoices = eLists.FAIRY; + for(i = 0; i < eLists.FAIRY.length; i++) { + var fairyName = eLists.FAIRY[i]; + if(!fairyChoices.includes(fairyName)) { + fairyChoices.push(fairyName); + }; + }; + }); + + //Standalone generator function generateFairy(fairyElements,isAfterScriptLoading=false) {//it can be a single element, though //To specify an array fairy, have the array be inside another array. @@ -136,6 +151,7 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) var elementOfFairy = fairyElements[aaf]; var startColor; var randomExcl = 0; + var isNocheer = 0; //console.log("randomExcl set") //console.log(elementOfFairy); @@ -165,6 +181,17 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) //console.log(elementOfFairy[ll]); startColor = startColor.concat(elements[elementOfFairy[ll]].color); }; + + for(ll = 0; ll < elementOfFairy.length; ll++) { + if(typeof(elements[elementOfFairy[ll]].nocheer !== "undefined")) { //if excludeRandom exists (prevent TypeError) + if(elements[elementOfFairy[ll]].nocheer) { //it it's true + isNocheer = 1; //the whole array fairy is excluded + //console.log("array nyet" + elementOfFairy); + }; + }; + //console.log(elementOfFairy[ll]); + startColor = startColor.concat(elements[elementOfFairy[ll]].color); + }; } else { //they should all be strings, so here fairyName = `${elementOfFairy}_fairy`; //auto placer element name startColor = elements[elementOfFairy].color; @@ -177,6 +204,16 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) randomExcl = 0; }; }; + + if(typeof(elements[elementOfFairy].nocheer !== "undefined")) { //if excludeRandom exists (prevent TypeError) + if(elements[elementOfFairy].nocheer) { //it it's true + //console.log("nyet " + elementOfFairy); + isNocheer = 1; //the fairy is excluded + } else { + //console.log("allow " + elementOfFairy); + isNocheer = 0; + }; + }; }; //Color gen if(Array.isArray(startColor)) { //Average arrays, make colors rgb() @@ -251,6 +288,9 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) fairyChoices.push(fairyName); }; } + if(isNocheer) { + elements[fairyName].nocheer = true; + } if(fairyIncludeRandom) { randomExcl ? elements[fairyName].excludeRandom = true : elements[fairyName].excludeRandom = false; } else { @@ -259,7 +299,12 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) if(isAfterScriptLoading) { elements[fairyName].flippableX = true; elementCount++; //increment for new fairy element - createElementButton(fairyName); + if (settings.cheerful && elements[element].nocheer) { + elements[element].hidden = true; + hiddenCount++; + } else { + createElementButton(fairyName); + }; elements[fairyName].id = nextid++; document.getElementById("extraInfo").innerHTML = "
There are " + elementCount + " elements, including " + hiddenCount + " hidden ones.
©2021-" + new Date().getFullYear() + ". All Rights Reserved. R74n
"; //update extra info counts (and the copyright year, due to the method used) }; @@ -288,13 +333,6 @@ if(enabledMods.includes(runAfterAutogenMod) && enabledMods.includes(libraryMod) }; //Post-generation tasks - //Manual eLists.FAIRY updates - runAfterLoad(function() { - eLists.FAIRY.push("acid_fairy"); - eLists.FAIRY.push("oil_fairy"); - eLists.FAIRY.push("honey_fairy"); - }); - //Revamp fairykill behaviors.FAIRYKILL_OLD = behaviors.FAIRYKILL; behaviors.FAIRYKILL = function(pixel) {