From fa565bf8a4cdd2d2db321cdaa33f7fa192f7e52b Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Thu, 20 Feb 2025 19:52:17 -0800 Subject: [PATCH 1/6] Update nekonicos_stuff.js --- mods/nekonicos_stuff.js | 351 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 349 insertions(+), 2 deletions(-) diff --git a/mods/nekonicos_stuff.js b/mods/nekonicos_stuff.js index b86c74fa..d2473836 100644 --- a/mods/nekonicos_stuff.js +++ b/mods/nekonicos_stuff.js @@ -124,6 +124,79 @@ elements.corn_starch = { isFood: true } +elements.desand = { + color: "#192a88", + tool: function (pixel) { + if (pixel.element === "sand") { + deletePixel(pixel.x,pixel.y) + } + else if (pixel.element === "packed_sand") { + changePixel(pixel,"foam") + } + else if (pixel.element === "color_sand") { + pixel.element = "smoke"; + } + else if (pixel.element === "glass") { + deletePixel(pixel.x,pixel.y) + } + else if (pixel.element === "rad_glass") { + changePixel(pixel,"radiation") + } + else if (pixel.element === "glass_shard") { + deletePixel(pixel.x,pixel.y) + } + else if (pixel.element === "rad_shard") { + changePixel(pixel,"radiation") + } + else if (pixel.element === "molten_glass") { + changePixel(pixel,"fire") + } + else if (pixel.element === "molten_rad_glass") { + changePixel(pixel,"fire") + } + else if (pixel.element === 'stained_glass') { + pixel.element = "smoke"; + } + else if (pixel.element === "wet_sand") { + changePixel(pixel,"water") + } + else if (pixel.element === "sandstorm") { + if (Math.random() < 0.95) { + pixel.element = "foam"; + } + else { + changePixel(pixel,"cloud") + } + } + else if (pixel.element === "tornado") { + if (pixel.fired === "sand") { + pixel.fired = null + pixel.color = pixelColorPick(pixel,elements.tornado.color) + } + } + else if (pixel.element === "concrete") { + if (Math.random() < 0.95) { + pixel.element = "gravel"; + } + else { + changePixel(pixel,"oxygen") + } + } + else if (pixel.element === "cement") { + if (Math.random() < 0.80) { + pixel.element = "gravel"; + } + else { + changePixel(pixel,"water") + } + } + else if ([pixel.element].startsWith("sand_")) { + deletePixel(pixel.x,pixel.y) + } + }, + category: "tools", +} + elements.oobleck = { color: "#8ef1b8", tick: function(pixel){ @@ -396,7 +469,281 @@ elements.graphite = { density: 2260, hardness: 0.99, breakInto: "graphite_dust", - stain: 0.5 + stain: 0.4 +} + +elements.white_pawn = { + color: "#F2F2CC", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "DL:black_pawn,black_rook,black_bishop,black_knight%0.5|M1%0.5|DL:black_pawn,black_rook,black_bishop,black_knight%0.5", + ], + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.black_pawn = { + color: "#2F2F33", + behavior: [ + "DL:white_pawn,white_rook,white_bishop,white_knight%0.5|M1%0.5|DL:white_pawn,white_rook,white_bishop,white_knight%0.5", + "XX|XX|XX", + "XX|XX|XX", + ], + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.white_rook = { + color: "#F2F2CC", + behavior: [ + "XX|M1%0.5|XX", + "M1%0.5|XX|M1%0.5", + "XX|M1%0.5|XX", + ], + reactions: { + "black_pawn": { elem2: null }, + "black_rook": { elem2: null }, + "black_bishop": { elem2: null }, + "black_knight": { elem2: null }, + "black_queen": { elem2: null }, + "black_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.black_rook = { + color: "#2F2F33", + behavior: [ + "XX|M1%0.5|XX", + "M1%0.5|XX|M1%0.5", + "XX|M1%0.5|XX", + ], + reactions: { + "white_pawn": { elem2: null }, + "white_rook": { elem2: null }, + "white_bishop": { elem2: null }, + "white_knight": { elem2: null }, + "white_queen": { elem2: null }, + "white_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.white_bishop = { + color: "#F2F2CC", + behavior: [ + "M1%0.5|XX|M1%0.5", + "XX|XX|XX", + "M1%0.5|XX|M1%0.5", + ], + reactions: { + "black_pawn": { elem2: null }, + "black_rook": { elem2: null }, + "black_bishop": { elem2: null }, + "black_knight": { elem2: null }, + "black_queen": { elem2: null }, + "black_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.black_bishop = { + color: "#2F2F33", + behavior: [ + "M1%0.5|XX|M1%0.5", + "XX|XX|XX", + "M1%0.5|XX|M1%0.5", + ], + reactions: { + "white_pawn": { elem2: null }, + "white_rook": { elem2: null }, + "white_bishop": { elem2: null }, + "white_knight": { elem2: null }, + "white_queen": { elem2: null }, + "white_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.white_knight = { + color: "#F2F2CC", + behavior: [ + "XX|M1%0.5|XX|M1%0.5|XX", + "M1%0.5|XX|XX|XX|M1%0.5", + "XX|XX|XX|XX|XX", + "M1%0.5|XX|XX|XX|M1%0.5", + "XX|M1%0.5|XX|M1%0.5|XX", + ], + reactions: { + "black_pawn": { elem2: null }, + "black_rook": { elem2: null }, + "black_bishop": { elem2: null }, + "black_knight": { elem2: null }, + "black_queen": { elem2: null }, + "black_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.black_knight = { + color: "#2F2F33", + behavior: [ + "XX|M1%0.5|XX|M1%0.5|XX", + "M1%0.5|XX|XX|XX|M1%0.5", + "XX|XX|XX|XX|XX", + "M1%0.5|XX|XX|XX|M1%0.5", + "XX|M1%0.5|XX|M1%0.5|XX", + ], + reactions: { + "white_pawn": { elem2: null }, + "white_rook": { elem2: null }, + "white_bishop": { elem2: null }, + "white_knight": { elem2: null }, + "white_queen": { elem2: null }, + "white_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.white_queen = { + color: "#F2F2CC", + behavior: [ + "M1%0.5|M1%0.5|M1%0.5", + "M1%0.5|XX|M1%0.5", + "M1%0.5|M1%0.5|M1%0.5", + ], + reactions: { + "black_pawn": { elem2: null }, + "black_rook": { elem2: null }, + "black_bishop": { elem2: null }, + "black_knight": { elem2: null }, + "black_queen": { elem2: null }, + "black_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.black_queen = { + color: "#2F2F33", + behavior: [ + "M1%0.5|M1%0.5|M1%0.5", + "M1%0.5|XX|M1%0.5", + "M1%0.5|M1%0.5|M1%0.5", + ], + reactions: { + "white_pawn": { elem2: null }, + "white_rook": { elem2: null }, + "white_bishop": { elem2: null }, + "white_knight": { elem2: null }, + "white_queen": { elem2: null }, + "white_king": { elem2: "supernova" }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.white_king = { + color: "#F2F2CC", + behavior: [ + "M1%0.05|M1%0.05|M1%0.05", + "M1%0.05|XX|M1%0.05", + "M1%0.025|M1%0.025|M1%0.025", + ], + reactions: { + "black_pawn": { elem2: null }, + "black_rook": { elem2: null }, + "black_bishop": { elem2: null }, + "black_knight": { elem2: null }, + "black_queen": { elem2: null }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", +} + +elements.black_king = { + color: "#2F2F33", + behavior: [ + "M1%0.025|M1%0.025|M1%0.025", + "M1%0.05|XX|M1%0.05", + "M1%0.05|M1%0.05|M1%0.05", + ], + reactions: { + "white_pawn": { elem2: null }, + "white_rook": { elem2: null }, + "white_bishop": { elem2: null }, + "white_knight": { elem2: null }, + "white_queen": { elem2: null }, + }, + tempHigh: 400, + stateHigh: "ember", + category: "chess", + state: "solid", + density: 2260, + hardness: 0.5, + breakInto: "sawdust", } elements.graphite_dust = { @@ -414,5 +761,5 @@ elements.graphite_dust = { category: "powders", state: "solid", density: 1830, - stain: 0.5 + stain: 0.6 } From 3ec76dd5b4783b5cb854bbcdb1bb37d23f7757ef Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Thu, 20 Feb 2025 19:57:28 -0800 Subject: [PATCH 2/6] Update liquid_mixing.js --- mods/liquid_mixing.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/mods/liquid_mixing.js b/mods/liquid_mixing.js index b5859cb9..82896b37 100644 --- a/mods/liquid_mixing.js +++ b/mods/liquid_mixing.js @@ -1,8 +1,6 @@ -// By Nekonico! - window.addEventListener('load', function() { for (var element in elements) { - if (elements[element].state === "liquid" && elements[element].behavior !== behaviors.MOLTEN) { + if (elements[element].state === "liquid" && elements[element].behavior != behaviors.MOLTEN) { elements[element].renderer = function(pixel, ctx) { // this part used nouseramefounds code, props to him! if (!pixel.rSeed){pixel.rSeed = [Math.random(), Math.random(), Math.random(), Math.random()]} if (typeof pixel.color == "object"){ @@ -38,16 +36,16 @@ window.addEventListener('load', function() { } } } - if (elements[element].id === elements.cement.id || elements[element].id === elements.beans.id || elements[element].id === elements.algae.id || elements[element].id === elements.cellulose.id) { + if (element === "cement" || element === "beans" || element === "algae" || element === "cellulose") { elements[element].miscible = false } - if (elements[element].id === elements.midas_touch.id || elements[element].id === elements.cement.id || elements[element].id === elements.beans.id || elements[element].id === elements.algae.id || elements[element].id === elements.cellulose.id || elements[element].id === elements.primordial_soup.id || elements[element].id === elements.cyanide.id || elements[element].id === elements.poison.id || elements[element].id === elements.antidote.id || elements[element].id === elements.mercury.id || elements[element].id === elements.liquid_oxygen.id || elements[element].id === elements.liquid_nitrogen.id) { + if (element === "midas_touch" || element === "cement" || element === "beans" || element === "algae" || element === "cellulose" || element === "primordial_soup" || element === "cyanide" || element === "poison" || element === "antidote" || element === "mercury" || element === "liquid_oxygen" || element === "liquid_nitrogen") { elements[element].soluble = false } - if (elements[element].id === elements.midas_touch.id || elements[element].id === elements.molasses.id || elements[element].id === elements.grease.id || elements[element].id === elements.oil.id || elements[element].id === elements.lamp_oil.id || elements[element].id === elements.nut_oil.id|| elements[element].id === elements.honey.id || elements[element].id === elements.sap.id || elements[element].id === elements.caramel.id) { + if (element === "midas_touch" || element === "molasses" || element === "grease" || element === "oil" || element === "lamp_oil" || element === "nut_oil" || element === "honey" || element === "sap" || element === "caramel") { elements[element].polar = 2 } - else if (elements[element].id === elements.soap.id) { + else if (element === "soap") { elements[element].polar = 3 } else { @@ -182,5 +180,3 @@ doStaining = function(pixel) { } } } - -// By Nekonico! From f41b32197766caed0720805415fbccc427cd4421 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Thu, 20 Feb 2025 20:15:49 -0800 Subject: [PATCH 3/6] medicine update --- mods/biology.js | 143 ++++++++++++++++++++---------------------------- 1 file changed, 60 insertions(+), 83 deletions(-) diff --git a/mods/biology.js b/mods/biology.js index 2f94e9c6..0d88c3f4 100644 --- a/mods/biology.js +++ b/mods/biology.js @@ -299,8 +299,9 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -367,8 +368,9 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -435,8 +437,9 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -503,8 +506,9 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -631,8 +635,9 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -713,8 +718,9 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -795,8 +801,9 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -877,8 +884,9 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -1037,8 +1045,9 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -1101,8 +1110,9 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -1165,8 +1175,9 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -1229,8 +1240,9 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) { if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { hitPixel.alcoRecover = true } - if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) { + if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) { hitPixel.fentDepri = pixel.fentDepri + hitPixel.fenAddict = true } if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { hitPixel.sick = true @@ -2662,7 +2674,7 @@ elements.heart = { burn: 20, burnTime: 160, burnInto: "meat", - breakInto: ["meat","shed_blood","shed_blood",], + breakInto: ["meat","blood","blood",], category: "circulation", state: "solid", density: 1250, @@ -2784,7 +2796,7 @@ elements.kidney = { burn: 20, burnTime: 160, burnInto: "meat", - breakInto: ["meat","urine","shed_blood"], + breakInto: ["meat","urine","blood"], category: "circulation", state: "solid", density: 1250, @@ -2827,7 +2839,7 @@ elements.liver = { burn: 20, burnTime: 160, burnInto: "meat", - breakInto: ["meat","rotten_meat","shed_blood",], + breakInto: ["meat","rotten_meat","blood",], category: "nutrition", state: "solid", density: 1250, @@ -2848,7 +2860,7 @@ elements.blood_vessel = { nutrTrans: 30, oxygTrans: 35, isMultiDie: true, - bleed: "shed_blood", + bleed: "blood", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -2873,7 +2885,7 @@ elements.blood_vessel = { "brick_rubble": { elem2: "infected_vessel", chance:0.005 }, "glitter": { elem1: null, elem2: "infected_vessel", chance:0.001 }, "sulfur": { elem2: "infected_vessel", chance:0.005 }, - "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","shed_blood","shed_blood"], chance:0.005 }, + "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","blood","blood"], chance:0.005 }, "mercury": { elem2: null, elem1: "infected_vessel", func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { pixel1.poisoned = true; } }, chance:0.005 }, @@ -2894,13 +2906,13 @@ elements.blood_vessel = { } }, chance:0.01 }, }, tempHigh: 175, - stateHigh: ["meat","shed_blood","blood"], + stateHigh: ["meat","blood","blood"], tempLow: -50, - stateLow: ["frozen_meat","shed_blood","blood","blood"], + stateLow: ["frozen_meat","blood","blood","blood"], burn: 20, burnTime: 160, - burnInto: ["meat","shed_blood","shed_blood","shed_blood","shed_blood","blood","blood","steam"], - breakInto: ["meat","shed_blood","shed_blood","shed_blood","shed_blood","shed_blood","shed_blood","blood"], + burnInto: ["meat","blood","blood","blood","blood","blood","blood","steam"], + breakInto: ["meat","blood","blood","blood","blood","blood","blood","blood"], category: "circulation", state: "solid", density: 1250, @@ -2976,7 +2988,7 @@ elements.white_blood_cell = { nutrTrans: 35, oxygTrans: 40, isMultiDie: true, - bleed: "shed_blood", + bleed: "blood", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -3057,7 +3069,7 @@ elements.white_blood_cell = { heartAttached: false, }, reactions: { - "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","shed_blood","shed_blood"], chance:0.005 }, + "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","blood","blood"], chance:0.005 }, "mercury": { elem2: null, elem1: "infected_vessel", func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { pixel1.poisoned = true; } }, chance:0.005 }, @@ -3076,16 +3088,16 @@ elements.white_blood_cell = { "cyanide": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { pixel1.poisoned = true; } }, chance:0.01 }, - "shed_blood": { elem2:"blood_vessel", chance:0.10 }, + "blood": { elem2:"blood_vessel", chance:0.10 }, }, tempHigh: 175, - stateHigh: ["meat","shed_blood","shed_blood","blood"], + stateHigh: ["meat","blood","blood","blood"], tempLow: -50, stateLow: "frozen_meat", burn: 20, burnTime: 160, - burnInto: ["meat","shed_blood","shed_blood","blood"], - breakInto: "shed_blood", + burnInto: ["meat","blood","blood","blood"], + breakInto: "blood", category: "circulation", state: "solid", density: 1250, @@ -3987,7 +3999,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4029,7 +4041,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4084,7 +4096,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4131,7 +4143,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4186,7 +4198,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4231,7 +4243,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4286,7 +4298,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -4333,7 +4345,7 @@ elements.intestines = { pixel.alcoDepri = 0 } } - if (hitPixel.fent === true && Math.random() > 0.5) { + if (hitPixel.fent === true && Math.random() > 0.25) { if (pixel.fentDepri) { pixel.fentDepri = 0 } @@ -5991,6 +6003,7 @@ elements.stomach_acid = { "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15, "sick":true}, chance:0.02 }, "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10}, chance:0.02 }, + "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-50, "speed":-20, "fent":true}, chance:0.01 }, }, category: "nutrition", tempHigh: 110, @@ -6120,6 +6133,7 @@ elements.herbi_acid = { "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-25, "speed":-15, "sick":true}, chance:0.02 }, "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10, "sick":true}, chance:0.02 }, + "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-50, "speed":-20, "fent":true}, chance:0.01 }, }, category: "nutrition", tempHigh: 110, @@ -6244,6 +6258,7 @@ elements.carni_acid = { "cancer": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-5, "sick":true}, chance:0.02 }, "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-15, "sick":true}, chance:0.02 }, + "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-50, "speed":-20, "fent":true}, chance:0.01 }, }, category: "nutrition", tempHigh: 110, @@ -6367,6 +6382,7 @@ elements.explosive_acid = { "cancer": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "plague": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "glue": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, + "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-5}, chance:0.01 }, }, category: "nutrition", tempHigh: 600, @@ -7730,54 +7746,12 @@ elements.toilet = { desc: "Secret tool. Steal your enemies life!" } -elements.shed_blood = { - name:"blood", - color: ["#fe0000","#ed0000"], - behavior: behaviors.LIQUID, - tick: function(pixel) { - if (pixel.age > 1500 && Math.random() < 0.05) { - changePixel(pixel,"blood"); - } - pixel.age++; - doDefaults(pixel); - }, - reactions: { - "vaccine": { elem1:"antibody", elem2:null }, - "plague": { elem1:"infection", elem2:null }, - "rotten_meat": { elem1:"infection" }, - "rotten_cheese": { elem1:"infection" }, - "virus": { elem1:"infection", elem2:null }, - "cancer": { elem1:"infection" }, - "cyanide": { elem1:"infection", elem2:null }, - "cyanide_gas": { elem1:"infection", elem2:null }, - "mushroom_spore": { elem1:"infection", elem2:null }, - "mushroom_gill": { elem1:"infection" }, - "dirty_water": { elem1:"infection", elem2:null }, - "rad_steam": { elem1:"infection" }, - "rad_glass": { elem1:"infection" }, - "rad_shard": { elem1:"infection" }, - "rad_cloud": { elem1:"infection" }, - "fallout": { elem1:"infection" }, - "rust": { elem1:"infection", chance:0.05 }, - "oxidized_copper": { elem1:"infection", chance:0.05 }, - "rat": { elem1:"infection", chance:0.075 }, - "flea": { elem1:"infection", chance:0.03 }, - "worm": { elem1:"infection", chance:0.03 }, - "mercury": { elem1:"infection", elem2:null, chance:0.05 }, - "lead": { elem1:"infection", elem2:null, chance:0.01 }, - "oxygen": { elem2:null, chance:0.05 }, - "carbon_dioxide": { elem2:null, chance:0.05 }, - "alcohol": { elem1:[null,"dna"], chance:0.02 } - }, - viscosity: 20, - tempHigh: 124.55, - stateHigh: ["steam","salt","oxygen"], - tempLow: 0, - stateLow: "blood", - category:"liquids", - state: "liquid", - density: 1065, - stain: 0.04, +elements.fentanyl = { + category: "medicine", + color: "#d5edf3", + state: "solid", + behavior: behaviors.POWDER, + tempHigh: 87.5, } if (!elements.cancer.reactions) { elements.cancer.reactions = {} } @@ -8070,3 +8044,6 @@ elements.vaccine.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel elements.antidote.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 } elements.salt_water.stateHigh = ["steam","steam","salt"] + +elements.vaccine.category = "medicine" +elements.antidote.category = "medicine" From 5eb0a036d3465f82c305068e0f11662ff911f365 Mon Sep 17 00:00:00 2001 From: redbirdly <155550833+redbirdly@users.noreply.github.com> Date: Fri, 21 Feb 2025 15:49:31 +0800 Subject: [PATCH 4/6] Add clouds.js to modlist --- mod-list.html | 1 + 1 file changed, 1 insertion(+) diff --git a/mod-list.html b/mod-list.html index 323ff02e..ede4ddc3 100644 --- a/mod-list.html +++ b/mod-list.html @@ -363,6 +363,7 @@ Visual Effects acid_and_shapes.jsWeird visual effects. Enable in SettingsAlice +clouds.jsAdds moving clouds, recommended to include sky.js tooRedBirdly customBackground.jsSet your background to an image linkJayd fast_lightmap.jsMakes light sources glow, but the fast versionRedBirdly fractals.jsAdds an element and tools to render fractals in gamenousernamefound From 2fec9dc7af462e65c0e7632c45535c5fe6bb156b Mon Sep 17 00:00:00 2001 From: JustAGenericUsername <92590792+JustAGenericUsername@users.noreply.github.com> Date: Fri, 21 Feb 2025 16:54:38 -0500 Subject: [PATCH 5/6] the fix --- mods/nousersthings.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/mods/nousersthings.js b/mods/nousersthings.js index 97c7be41..2fa1a8cb 100644 --- a/mods/nousersthings.js +++ b/mods/nousersthings.js @@ -315,7 +315,7 @@ elements.destroyable_pipe = { var y = pixel.y+coord[1]; if (isEmpty(x,y)) { createPixel("brick",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); + pixelMap[x][y].color = pixelColorPick(pixel,"#586879"); } } pixel.stage = 1; @@ -626,7 +626,7 @@ elements.e_pipe = { var y = pixel.y+coord[1]; if (isEmpty(x,y)) { createPixel("pipe_wall",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); + pixelMap[x][y].color = pixelColorPick(pixel,"#586879"); } } pixel.stage = 1; @@ -744,7 +744,7 @@ elements.destroyable_e_pipe = { var y = pixel.y+coord[1]; if (isEmpty(x,y)) { createPixel("brick",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); + pixelMap[x][y].color = pixelColorPick(pixel,"#586879"); } } pixel.stage = 1; @@ -871,7 +871,7 @@ elements.channel_pipe = { var y = pixel.y+coord[1]; if (isEmpty(x,y)) { createPixel("pipe_wall",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); + pixelMap[x][y].color = pixelColorPick(pixel,"#586879"); } } pixel.stage = 1; @@ -994,7 +994,7 @@ elements.destroyable_channel_pipe = { var y = pixel.y+coord[1]; if (isEmpty(x,y)) { createPixel("brick",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); + pixelMap[x][y].color = pixelColorPick(pixel,"#586879"); } } pixel.stage = 1; @@ -1111,7 +1111,7 @@ elements.bridge_pipe = { var y = pixel.y+coord[1]; if (isEmpty(x,y)) { createPixel("pipe_wall",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); + pixelMap[x][y].color = pixelColorPick(pixel,"#586879"); } } pixel.stage = 1; @@ -1215,15 +1215,17 @@ elements.bridge_pipe = { canContain: true, insulate: true, }, -elements.pipe.tick = function(pixel) { + elements.pipe.tick = function(pixel) { if (!pixel.stage && pixelTicks-pixel.start > 60) { for (var i = 0; i < squareCoords.length; i++) { var coord = squareCoords[i]; var x = pixel.x+coord[0]; var y = pixel.y+coord[1]; + if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable) { + deletePixel(x,y) + } if (isEmpty(x,y)) { createPixel("pipe_wall",x,y); - pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); } } pixel.stage = 1; @@ -1282,7 +1284,7 @@ elements.pipe.tick = function(pixel) { break; } } - else if (!pixel.con && elements[newPixel.element].movable && newPixel.element != "ray") { //suck up pixel + else if (!pixel.con && elements[newPixel.element].movable) { //suck up pixel pixel.con = newPixel; deletePixel(newPixel.x,newPixel.y); pixel.con.x = pixel.x; @@ -1321,7 +1323,7 @@ elements.pipe.tick = function(pixel) { } } doDefaults(pixel); - }, + } elements.pipe.insulate = true, filterTypeVar = 0; elements.filter = { @@ -3793,7 +3795,7 @@ elements.hotter_sensor = { let pipe_transmitter_channelVar = 0; elements.pipe_transmitter = { color: "#6e6250", - category: "machines", + category: "deprecated", movable: false, canContain: true, insulate: true, @@ -3824,7 +3826,7 @@ elements.pipe_transmitter = { let pipe_receiver_channelVar = 0; elements.pipe_receiver = { color: "#4d4b63", - category: "machines", + category: "deprecated", movable: false, canContain: true, insulate: true, From 2ca494a2e2ceed0c406e8cfd22ab0ae7f4a6df39 Mon Sep 17 00:00:00 2001 From: JustAGenericUsername <92590792+JustAGenericUsername@users.noreply.github.com> Date: Fri, 21 Feb 2025 16:56:00 -0500 Subject: [PATCH 6/6] g --- mods/nousersthings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/nousersthings.js b/mods/nousersthings.js index 2fa1a8cb..68163580 100644 --- a/mods/nousersthings.js +++ b/mods/nousersthings.js @@ -1221,7 +1221,7 @@ elements.bridge_pipe = { var coord = squareCoords[i]; var x = pixel.x+coord[0]; var y = pixel.y+coord[1]; - if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable) { + if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable && newPixel.element != "ray") { deletePixel(x,y) } if (isEmpty(x,y)) { @@ -1284,7 +1284,7 @@ elements.bridge_pipe = { break; } } - else if (!pixel.con && elements[newPixel.element].movable) { //suck up pixel + else if (!pixel.con && elements[newPixel.element].movable && newPixel.element != "ray") { //suck up pixel pixel.con = newPixel; deletePixel(newPixel.x,newPixel.y); pixel.con.x = pixel.x;