104 lines
3.8 KiB
Plaintext
104 lines
3.8 KiB
Plaintext
// If the element has reactions, loop through each one (it is an object), if the value for elem1 or elem2 is not an element and is not null, remove that key
|
|
if (elements[key].reactions) {
|
|
for (var reaction in elements[key].reactions) {
|
|
// If elem1 exists
|
|
if (elements[key].reactions[reaction].elem1) {
|
|
// If elem1 is an array, loop through each element, else check once. Don't delete if it === null
|
|
if (Array.isArray(elements[key].reactions[reaction].elem1)) {
|
|
for (var i = 0; i < elements[key].reactions[reaction].elem1.length; i++) {
|
|
if (elements[key].reactions[reaction].elem1[i] && !elements[elements[key].reactions[reaction].elem1[i]]) {
|
|
elements[key].reactions[reaction].elem1.splice(i,1);
|
|
}
|
|
}
|
|
}
|
|
else if (elements[key].reactions[reaction].elem1 && !elements[elements[key].reactions[reaction].elem1]) {
|
|
delete elements[key].reactions[reaction].elem1;
|
|
}
|
|
}
|
|
// If elem2 exists
|
|
if (elements[key].reactions[reaction].elem2) {
|
|
// If elem2 is an array, loop through each element, else check once. Don't delete if it === null
|
|
if (Array.isArray(elements[key].reactions[reaction].elem2)) {
|
|
for (var i = 0; i < elements[key].reactions[reaction].elem2.length; i++) {
|
|
if (elements[key].reactions[reaction].elem2[i] && !elements[elements[key].reactions[reaction].elem2[i]]) {
|
|
elements[key].reactions[reaction].elem2.splice(i,1);
|
|
}
|
|
}
|
|
}
|
|
else if (elements[key].reactions[reaction].elem2 && !elements[elements[key].reactions[reaction].elem2]) {
|
|
delete elements[key].reactions[reaction].elem2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// If the element's stateHigh or stateLow is not an element, remove it and tempHigh/Low
|
|
if (elements[key].stateHigh) {
|
|
// If it's an array, do it for each item, otherwise, just do it once
|
|
if (Array.isArray(elements[key].stateHigh)) {
|
|
for (var i = 0; i < elements[key].stateHigh.length; i++) {
|
|
if (!elements[elements[key].stateHigh[i]] && elements[key].stateHigh[i] !== null) {
|
|
elements[key].stateHigh.splice(i,1);
|
|
}
|
|
}
|
|
if (elements[key].stateHigh.length == 0) {
|
|
delete elements[key].stateHigh;
|
|
delete elements[key].tempHigh;
|
|
}
|
|
}
|
|
else {
|
|
if (!elements[elements[key].stateHigh] && elements[key].stateHigh !== null) {
|
|
delete elements[key].stateHigh;
|
|
delete elements[key].tempHigh;
|
|
}
|
|
}
|
|
}
|
|
if (elements[key].stateLow) {
|
|
if (Array.isArray(elements[key].stateLow)) {
|
|
for (var i = 0; i < elements[key].stateLow.length; i++) {
|
|
if (!elements[elements[key].stateLow[i]] && elements[key].stateLow[i] !== null) {
|
|
elements[key].stateLow.splice(i,1);
|
|
}
|
|
}
|
|
if (elements[key].stateLow.length == 0) {
|
|
delete elements[key].stateLow;
|
|
delete elements[key].tempLow;
|
|
}
|
|
}
|
|
else {
|
|
if (!elements[elements[key].stateLow] && elements[key].stateLow !== null) {
|
|
delete elements[key].stateLow;
|
|
delete elements[key].tempLow;
|
|
}
|
|
}
|
|
}
|
|
// same for burnInto
|
|
if (elements[key].burnInto) {
|
|
if (Array.isArray(elements[key].burnInto)) {
|
|
for (var i = 0; i < elements[key].burnInto.length; i++) {
|
|
if (!elements[elements[key].burnInto[i]]) {
|
|
delete elements[key].burnInto[i];
|
|
}
|
|
}
|
|
if (elements[key].burnInto.length == 0) {
|
|
delete elements[key].burnInto;
|
|
}
|
|
}
|
|
else {
|
|
if (!elements[elements[key].burnInto]) {
|
|
delete elements[key].burnInto;
|
|
}
|
|
}
|
|
}
|
|
// same for breakInto
|
|
if (elements[key].breakInto) {
|
|
if (Array.isArray(elements[key].breakInto)) {
|
|
for (var i = 0; i < elements[key].breakInto.length; i++) {
|
|
if (elements[key].breakInto[i]!==null && !elements[elements[key].breakInto[i]]) { delete elements[key].breakInto[i]; }
|
|
}
|
|
if (elements[key].breakInto.length == 0) { delete elements[key].breakInto; }
|
|
}
|
|
else {
|
|
if (elements[key].breakInto[i]!==null && !elements[elements[key].breakInto]) { delete elements[key].breakInto; }
|
|
}
|
|
} |