From cbff19858352c7334787fcba9373b4871155be78 Mon Sep 17 00:00:00 2001 From: "Laetitia (O-01-67)" <68935009+O-01-67@users.noreply.github.com> Date: Fri, 24 Feb 2023 21:04:15 -0500 Subject: [PATCH] simplify code --- mods/fire_mod.js | 87 +++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 53 deletions(-) diff --git a/mods/fire_mod.js b/mods/fire_mod.js index 301ef1bd..d6e2096d 100644 --- a/mods/fire_mod.js +++ b/mods/fire_mod.js @@ -23,36 +23,19 @@ if(enabledMods.includes(libraryMod)) { //doBurning function doBurning(pixel) { if (pixel.burning) { // Burning + pixel.burnStart ??= pixelTicks; var info = elements[pixel.element]; - var burnTempChange = info.burnTempChange - if (burnTempChange == undefined) { - burnTempChange = 1; - }; - //move fire ahead so that cold burners don't light hot burners + var burnTempChange = info.burnTempChange ?? 1; var fireIsCold; - //Fire getter block - var fire = info.fireElement; - if (fire == undefined) { - fire = 'fire'; - } - else if(fire instanceof Array) { - fire = fire[Math.floor(Math.random()*fire.length)]; - } - //End fire getter block - //Fire temp getter block - var fireTemp = info.fireSpawnTemp; - if (fireTemp == undefined) { - fireTemp = pixel.temp; - }; - //End fire temp getter block - //Fire chance getter block - var fireChance = info.fireSpawnChance; - if (fireChance == undefined) { - fireChance = 10; - }; - //End fire chance getter block + var fire = info.fireElement === undefined ? "fire" : info.fireElement; //allow null but disallow undefined + //console.log(info.fireElement,fire); + while(fire instanceof Array) { + fire = fire[Math.floor(Math.random()*fire.length)]; + }; + var fireTemp = info.fireSpawnTemp ?? pixel.temp; + var fireChance = info.fireSpawnChance ?? 10; var fireIsCold = (fire === "cold_fire"); - var fireInfo = elements[fire]; + //var fireInfo = fire === null ? null : elements[fire]; pixel.temp += burnTempChange; pixelTempCheck(pixel); @@ -64,17 +47,11 @@ if(enabledMods.includes(libraryMod)) { var newPixel = pixelMap[x][y]; var newInfo = elements[newPixel.element]; var newFireIsCold; - //Fire getter block - var newFire = newInfo.fireElement; - if (newFire == undefined) { - newFire = 'fire'; - } - else if(newFire instanceof Array) { - newFire = newFire[Math.floor(Math.random()*newFire.length)]; - } - //End fire getter block + var newFire = newInfo.fireElement == undefined ? "fire" : newInfo.fireElement; + while(newFire instanceof Array) { + newFire = newFire[Math.floor(Math.random()*newFire.length)]; + }; newFireIsCold = (newFire === "cold_fire"); - //console.log(`burning pixel ${pixel.element}: ${fire} (${fireIsCold}) / burned element ${newPixel.element}: ${newFire} (${newFireIsCold})`); if((!fireIsCold && !newFireIsCold) || (fireIsCold && newFireIsCold)) { if (elements[newPixel.element].burn && !newPixel.burning) { @@ -88,14 +65,13 @@ if(enabledMods.includes(libraryMod)) { } if ((pixelTicks - pixel.burnStart > (info.burnTime || 200)) && Math.floor(Math.random()*100)<(info.burn || 10)) { - var burnInto = info.burnInto; - if (burnInto == undefined) { - burnInto = 'fire'; - } - else if (burnInto instanceof Array) { + var burnInto = info.burnInto ?? "fire"; + while(burnInto instanceof Array) { burnInto = burnInto[Math.floor(Math.random()*burnInto.length)]; - } - changePixel(pixel,burnInto,(burnInto !== "smoke")); + }; + changePixel(pixel,burnInto,burnInto !== "smoke"); + //console.log("ass"); + pixel.temp = fireTemp; if (info.fireColor != undefined && burnInto == "fire") { pixel.color = pixelColorPick(pixel,info.fireColor); } @@ -104,19 +80,24 @@ if(enabledMods.includes(libraryMod)) { } } else if (Math.floor(Math.random()*100)