From e846c8e9b202678b3679aa9953654b5f6210bb3d Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Mon, 6 May 2024 10:42:02 -0700 Subject: [PATCH 01/11] 008 can infect meat Gave SCP 008 ability to infect meat. --- mods/scp.js | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/mods/scp.js b/mods/scp.js index 4792e6f4..6dbaa773 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -6,6 +6,14 @@ window.addEventListener("load", () => { document.getElementById("elementButton-mask_body")?.remove() }) +window.addEventListener("load", () => { + document.getElementById("elementButton-008_meat")?.remove() +}) + +window.addEventListener("load", () => { + document.getElementById("elementButton-frozen_008_meat")?.remove() +}) + window.addEventListener("load", () => { document.getElementById("elementButton-zombie")?.remove() }) @@ -57,6 +65,9 @@ elements.SCP_008 = { reactions: { "head": { elem1:null, elem2:"z_head" , chance:0.5 }, "body": { elem1:null, elem2:"z_body" , chance:0.5 }, + "meat": { elem1:null, elem2:"008_meat" , chance:0.4 }, + "rotten_meat": { elem1:null, elem2:"008_meat" , chance:0.5 }, + "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.3 }, "frog": { elem2:"SCP_008" , chance:0.5 }, "ant": { elem2:"SCP_008" , chance:0.5 }, "bee": { elem2:"SCP_008" , chance:0.5 }, @@ -66,7 +77,7 @@ elements.SCP_008 = { "liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, "light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, }, - tempHigh: 1000, + tempHigh: 750, stateHigh: [null,null,null,null,"anomalous_essence"], tempLow: -100, stateLow: "frozen_008", @@ -85,6 +96,9 @@ elements.frozen_008 = { reactions: { "head": { elem1:null, elem2:"z_head" , chance:0.4 }, "body": { elem1:null, elem2:"z_body" , chance:0.4 }, + "meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 }, + "rotten_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.5 }, + "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 }, "chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, "liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, "light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, @@ -97,6 +111,60 @@ elements.frozen_008 = { density: 95, }, +elements.008_meat = { + color: ["#b8b165","#b89765"], + behavior: [ + "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>008_meat%1|XX", + "SP%99 AND CH:rotten_meat,meat>008_meat%1|XX|SP%99 AND CH:rotten_meat,meat>008_meat%1", + "XX|M1 AND CH:rotten_meat,meat>008_meat%1|XX", + ], + reactions: { + "water": { elem2:"dirty_water" }, + "salt_water": { elem2:"dirty_water" }, + "sugar_water": { elem2:"dirty_water" }, + "dirty_water": { elem2:"broth", tempMin:70, color2:"#d7db69" }, + "seltzer": { elem2:"dirty_water" }, + "fly": { elem1: [null,null,"SCP_008"] , elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2}, + }, + tempHigh: 300, + stateHigh: ["SCP_008","ash","ammonia"], + tempLow: -20, + stateLow: "frozen_008_meat", + category:"scp", + hidden: true, + burn:12, + burnTime:200, + burnInto:["SCP_008","ash","ammonia"], + state: "solid", + density: 1005, + conduct: 0.1, + isFood: true +}, + +elements.frozen_008_meat = { + color: "#242424", + behavior: [ + "XX|CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX", + "SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1", + "XX|M1 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX", + ], + reactions: { + "water": { elem2:"dirty_water" }, + "salt_water": { elem1:"008_meat",elem2:"dirty_water" , chance:0.5 }, + "sugar_water": { elem2:"dirty_water" }, + "seltzer": { elem2:"dirty_water" }, + "fly": { elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2}, + }, + temp: -20, + tempHigh: 10, + stateHigh: "008_meat", + category:"scp", + hidden: true, + state: "solid", + density: 1005, + conduct: 0.05, +}, + elements.possessive_mask = { color: ["#f7ead0","#faf9f6","#e9e6db"], category: "scp", From 7f001bbf6c503ef7118994ddbd635c40429add91 Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Mon, 6 May 2024 11:54:58 -0700 Subject: [PATCH 02/11] Made Anomalous Essence rarer --- mods/scp.js | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/mods/scp.js b/mods/scp.js index 6dbaa773..d8f44eab 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -1,43 +1,33 @@ window.addEventListener("load", () => { document.getElementById("elementButton-mask_head")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-mask_body")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-008_meat")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-frozen_008_meat")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-zombie")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-z_head")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-z_body")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-REDACTED")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-hyper_tickle_monster")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-calm_682")?.remove() }) - window.addEventListener("load", () => { document.getElementById("elementButton-mad_682")?.remove() }) @@ -73,12 +63,12 @@ elements.SCP_008 = { "bee": { elem2:"SCP_008" , chance:0.5 }, "fish": { elem2:"SCP_008" , chance:0.5 }, "firefly": { elem2:"SCP_008" , chance:0.5 }, - "chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, - "liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, - "light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, + "chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, + "liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, + "light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, }, tempHigh: 750, - stateHigh: [null,null,null,null,"anomalous_essence"], + stateHigh: [null,null,null,null,null,null,null,null,"anomalous_essence"], tempLow: -100, stateLow: "frozen_008", category: "scp", @@ -99,9 +89,9 @@ elements.frozen_008 = { "meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 }, "rotten_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.5 }, "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 }, - "chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, - "liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, - "light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 }, + "chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, + "liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, + "light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, }, temp: -50, tempHigh: 0, @@ -444,7 +434,7 @@ elements.black_acid = { tempLow: -58.88, burn: 30, burnTime: 10, - burnInto: ["fire","fire","fire","fire","fire","fire","fire","fire","ash","ash","anomalous_essence"], + burnInto: ["fire","fire","fire","fire","fire","fire","fire","fire","ash","ash","fire","fire","fire","fire","ash","ash","anomalous_essence"], fireColor: "#111111", state: "liquid", density: 1105, @@ -462,7 +452,7 @@ elements.SCP_055 = { category: "scp", state: "solid", tempHigh: 55055055055, - stateHigh: ["metal_scrap","smoke","smoke","anomalous_essence"], + stateHigh: ["metal_scrap","metal_scrap","smoke","smoke","smoke","smoke","smoke","smoke","smoke",null,"anomalous_essence"], }, elements.REDACTED = { @@ -888,7 +878,7 @@ elements.shy_head = { hidden: true, color: ["#f7ead0","#faf9f6","#e9e6db"], category: "scp", - breakInto: ["bone","bone","blood","bone","bone","blood","anomalous_essence"], + breakInto: ["bone","bone","blood","bone","bone","blood","bone","bone","blood","bone","bone","blood","anomalous_essence"], properties: { dead: false }, @@ -943,7 +933,6 @@ elements.shy_head = { "z_body": { elem2: ["infection","infection","rotten_meat","bone",null] }, "rat": { elem2: ["infection","rotten_meat",null]}, "frog": { elem2: ["slime",null] }, - "cell": { elem2: ["dna","water",null] }, "cancer": { elem2: ["dna","dirty_water",null], }, "blood": { elem2: null, chance:0.2 }, "bone": { elem2: null, chance:0.2 }, @@ -958,7 +947,7 @@ elements.shy_body = { hidden: true, color: ["#f7ead0","#faf9f6","#e9e6db"], category: "scp", - breakInto: ["bone","bone","blood","bone","bone","blood","anomalous_essence"], + breakInto: ["bone","bone","blood","bone","bone","blood","bone","bone","blood","bone","bone","blood","anomalous_essence"], properties: { dead: false, dir: 1, From 1c1ab275de400356ae46e5395a8090af18dd9e30 Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Mon, 6 May 2024 12:25:23 -0700 Subject: [PATCH 03/11] Rudimentary 096 tracking --- mods/scp.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mods/scp.js b/mods/scp.js index d8f44eab..4b801da5 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -912,7 +912,20 @@ elements.shy_head = { pixel.dead = pixelTicks; } } - } + } + if (!isEmpty(pixel.x+2, pixel.y, true) && pixelMap[pixel.x+2][pixel.y].element == "head") { + var target = pixelMap[pixel.x+2][pixel.y]; + if (target.dead) { // If target is dead, ignore + var target = null; + } + else { body.panic += 0.1; } + } + else { var target = null } + if (target.dead) { // If target is dead, ignore + var target = null; + body.panic -= 0.1; + } + // homeostasis if (pixel.temp > 37) { pixel.temp -= 1; } else if (pixel.temp < 37) { pixel.temp += 1; } From e3a80c4081d032acfc5590c6232902dd1e4d6225 Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Mon, 6 May 2024 18:09:06 -0700 Subject: [PATCH 04/11] scp.js improved --- mods/scp.js | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/mods/scp.js b/mods/scp.js index 4b801da5..0b0273ff 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -5,10 +5,10 @@ window.addEventListener("load", () => { document.getElementById("elementButton-mask_body")?.remove() }) window.addEventListener("load", () => { - document.getElementById("elementButton-008_meat")?.remove() + document.getElementById("elementButton-infected_meat")?.remove() }) window.addEventListener("load", () => { - document.getElementById("elementButton-frozen_008_meat")?.remove() + document.getElementById("elementButton-frozen_infected_meat")?.remove() }) window.addEventListener("load", () => { document.getElementById("elementButton-zombie")?.remove() @@ -55,9 +55,9 @@ elements.SCP_008 = { reactions: { "head": { elem1:null, elem2:"z_head" , chance:0.5 }, "body": { elem1:null, elem2:"z_body" , chance:0.5 }, - "meat": { elem1:null, elem2:"008_meat" , chance:0.4 }, - "rotten_meat": { elem1:null, elem2:"008_meat" , chance:0.5 }, - "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.3 }, + "meat": { elem1:null, elem2:"infected_meat" , chance:0.4 }, + "rotten_meat": { elem1:null, elem2:"infected_meat" , chance:0.5 }, + "frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.3 }, "frog": { elem2:"SCP_008" , chance:0.5 }, "ant": { elem2:"SCP_008" , chance:0.5 }, "bee": { elem2:"SCP_008" , chance:0.5 }, @@ -86,9 +86,9 @@ elements.frozen_008 = { reactions: { "head": { elem1:null, elem2:"z_head" , chance:0.4 }, "body": { elem1:null, elem2:"z_body" , chance:0.4 }, - "meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 }, - "rotten_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.5 }, - "frozen_meat": { elem1:null, elem2:"frozen_008_meat" , chance:0.4 }, + "meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 }, + "rotten_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.5 }, + "frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 }, "chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, "liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, "light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 }, @@ -101,12 +101,12 @@ elements.frozen_008 = { density: 95, }, -elements.008_meat = { +elements.infected_meat = { color: ["#b8b165","#b89765"], behavior: [ - "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>008_meat%1|XX", - "SP%99 AND CH:rotten_meat,meat>008_meat%1|XX|SP%99 AND CH:rotten_meat,meat>008_meat%1", - "XX|M1 AND CH:rotten_meat,meat>008_meat%1|XX", + "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX", + "SP%99 AND CH:rotten_meat,meat>infected_meat%1|XX|SP%99 AND CH:rotten_meat,meat>infected_meat%1", + "XX|M1 AND CH:rotten_meat,meat>infected_meat%1|XX", ], reactions: { "water": { elem2:"dirty_water" }, @@ -119,7 +119,7 @@ elements.008_meat = { tempHigh: 300, stateHigh: ["SCP_008","ash","ammonia"], tempLow: -20, - stateLow: "frozen_008_meat", + stateLow: "frozen_infected_meat", category:"scp", hidden: true, burn:12, @@ -131,23 +131,23 @@ elements.008_meat = { isFood: true }, -elements.frozen_008_meat = { +elements.frozen_infected_meat = { color: "#242424", behavior: [ - "XX|CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX", - "SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1", - "XX|M1 AND CH:rotten_meat,frozen_meat>frozen_008_meat%1|XX", + "XX|CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX", + "SP%99 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1", + "XX|M1 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX", ], reactions: { "water": { elem2:"dirty_water" }, - "salt_water": { elem1:"008_meat",elem2:"dirty_water" , chance:0.5 }, + "salt_water": { elem1:"infected_meat",elem2:"dirty_water" , chance:0.5 }, "sugar_water": { elem2:"dirty_water" }, "seltzer": { elem2:"dirty_water" }, "fly": { elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2}, }, temp: -20, tempHigh: 10, - stateHigh: "008_meat", + stateHigh: "infected_meat", category:"scp", hidden: true, state: "solid", From 924e139e0619fdb7b792f219526afd894bcbb21a Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Tue, 7 May 2024 09:13:12 -0700 Subject: [PATCH 05/11] =?UTF-8?q?More=20Spanish/Mas=20Espa=C3=B1ol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated the Spanish translation list to have many more translations. Añadi muchos mas traducciones a la lista de Español. --- lang/es.json | 240 +++++++++++++++++++++++++-------------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/lang/es.json b/lang/es.json index 31123ab2..5d54b999 100644 --- a/lang/es.json +++ b/lang/es.json @@ -153,7 +153,7 @@ "ammonia":"amoníaco", "liquid_ammonia":"liquido_de_amoníaco", "carbon_dioxide":"dióxido_de_carbono", -"oil":"aceite ", +"oil":"aceite", "lamp_oil":"aceite_de_lampara", "propane":"propano", "methane":"metano", @@ -198,7 +198,7 @@ "slow_cloner":"clonador_lento", "clone_powder":"polvo_de_clone", "floating_cloner":"clonador_flotante", -"virus":"virus ", +"virus":"virus", "ice_nine":"hielo_nueve", "strange_matter":"asunto_extraño", "permafrost":"permafrost", @@ -241,7 +241,7 @@ "bronze":"bronce", "sterling":"libra_esterliina", "gallium":"galio", -"molten_gallium":"galion_fundido", +"molten_gallium":"galio_fundido", "gallium_gas":"gas_galio", "rose_gold":"oro_rosa", "purple_gold":"oro_purpura", @@ -277,7 +277,7 @@ "rotten_cheese":"queso_podrido", "chocolate":"chocolate", "grape":"uva", -"vinegar":"vinagre ", +"vinegar":"vinagre", "herb":"hierba", "lettuce":"lechuga", "pickle":"pepinillo", @@ -406,121 +406,121 @@ "neutron":"neutrón", "proton":"protón ", "electric":"electrico", -"uranium":"", -"molten_uranium":"", -"diamond":"", -"gold_coin":"", -"rust":"", -"oxidized_copper":"", -"alga":"", -"metal_scrap":"", -"glass_shard":"", -"rad_shard":"", -"brick_rubble":"", -"baked_clay":"", -"clay_shard":"", -"porcelain_shard":"", -"feather":"", -"confetti":"", -"glitter":"", -"bead":"", -"color_sand":"", -"borax":"", -"epsom_salt":"", -"potassium_salt":"", -"sodium_acetate":"", -"lightning":"", -"bless":"", -"god_ray":"", -"heat_ray":"", -"explosion":"", -"n_explosion":"", -"supernova":"", -"pop":"", -"cook":"", -"incinerate":"", -"room_temp":"", -"positron":"", -"tnt":"", -"c4":"", -"grenade":"", -"dynamite":"", -"gunpowder":"", -"ember":"", -"firework":"", -"fw_ember":"", -"nuke":"", -"h_bomb":"", -"dirty_bomb":"", -"emp_bomb":"", -"nitro":"", -"greek_fire":"", -"fireball":"", -"rocket":"", -"cold_bomb":"", -"hot_bomb":"", -"antimatter_bomb":"", -"party_popper":"", -"flashbang":"", -"flash":"", -"smoke_grenade":"", -"landmine":"", -"armageddon":"", -"tesla_coil":"", -"light_bulb":"", -"shocker":"", -"pressure_plate":"", -"primordial_soup":"", -"molten_slag":"", -"molten_dirt":"", -"debug":"reydeporvida", -"prop":"", -"salt_ice":"", -"sugar_ice":"", -"seltzer_ice":"", -"dirty_ice":"", -"pool_ice":"", -"blood_ice":"", -"antibody_ice":"", -"infection_ice":"", -"unknown":"", -"slime_ice":"", -"antiice":"", -"ammonia_ice":"", -"liquid_propane":"", -"methane_ice":"", -"molten_brick":"", -"acid_ice":"", -"soda_ice":"", -"molten_steel":"", -"molten_brass":"", -"molten_bronze":"", -"molten_sterling":"", -"molten_rose_gold":"", -"molten_purple_gold":"", -"molten_blue_gold":"", -"molten_electrum":"", -"molten_pyrite":"", -"broth_ice":"", -"frozen_vinegar":"", -"sauce_ice":"", -"alcohol_ice":"", -"bleach_ice":"", -"chlorine_ice":"", -"frozen_ink":"", -"tea_ice":"", -"coffee_ice":"", -"hydrogen_ice":"", -"oxygen_ice":"", -"molten_amalgam":"", -"neon_ice":"", -"cyanide_ice":"", -"molten_copper_sulfate":"", -"molten_alga":"", -"molten_metal_scrap":"", -"molten_borax":"", -"molten_epsom_salt":"", -"molten_potassium_salt":"", +"uranium":"uranio", +"molten_uranium":"uranio_fundido", +"diamond":"diamante", +"gold_coin":"moneda_de_oro", +"rust":"óxido", +"oxidized_copper":"cobre_oxidado", +"alga":"aluminio_galio", +"metal_scrap":"chatarra", +"glass_shard":"fragmento_de_vidrio", +"rad_shard":"fragmento_de_vidrio_rad", +"brick_rubble":"escombros_de_ladrillo", +"baked_clay":"arcilla_horneado", +"clay_shard":"fragmento_de_arcilla", +"porcelain_shard":"fragmento_de_porcelina", +"feather":"pluma", +"confetti":"confetti", +"glitter":"brillo", +"bead":"cuenta", +"color_sand":"arena_de_color", +"borax":"bórax", +"epsom_salt":"sal_de_epsom", +"potassium_salt":"sal_de_potassio", +"sodium_acetate":"acetato_sodio", +"lightning":"relampago", +"bless":"bendecir", +"god_ray":"rayo_de_dios", +"heat_ray":"rayo_de_calor", +"explosion":"explosión", +"n_explosion":"explosión_n", +"supernova":"supernova", +"pop":"estallido", +"cook":"cocinar", +"incinerate":"incinerar", +"room_temp":"temp_ambiente", +"positron":"positrón", +"tnt":"tnt", +"c4":"c4", +"grenade":"grenada", +"dynamite":"dinamita", +"gunpowder":"polvóra", +"ember":"ascua", +"firework":"fuego_artificiale", +"fw_ember":"ascua_fa", +"nuke":"bomba_nuclear", +"h_bomb":"bomba_h", +"dirty_bomb":"bomba_sucio", +"emp_bomb":"bomba_de_iem", +"nitro":"nitróglicerina", +"greek_fire":"fuego_griego", +"fireball":"bola_de_fuego", +"rocket":"cohete", +"cold_bomb":"bomba_de_frio", +"hot_bomb":"bomba_de_calor", +"antimatter_bomb":"bomba_antimaterio", +"party_popper":"aguafiestas", +"flashbang":"bomba_de_destello", +"flash":"destello", +"smoke_grenade":"granada_de_humo", +"landmine":"mina", +"armageddon":"armagedón", +"tesla_coil":"bobina_de_tesla", +"light_bulb":"foco", +"shocker":"choquedor", +"pressure_plate":"placa_de_presión", +"primordial_soup":"sopa_primordial", +"molten_slag":"escoria_fundido", +"molten_dirt":"tierra_fundido", +"debug":"depurar", +"prop":"prop", +"salt_ice":"hielo_de_sal", +"sugar_ice":"hielo_de_azúcar", +"seltzer_ice":"hielo_carbonado", +"dirty_ice":"hielo_sucio", +"pool_ice":"hielo_clorado", +"blood_ice":"sangre_congelado", +"antibody_ice":"anticuerpo_congelado", +"infection_ice":"infección_congelado", +"unknown":"desconocido", +"slime_ice":"limo_congelado", +"antiice":"antihielo", +"ammonia_ice":"hielo_de_ammonia", +"liquid_propane":"propano_líquido", +"methane_ice":"hielo_methano", +"molten_brick":"ladrillo_fundido", +"acid_ice":"acido_congelado", +"soda_ice":"soda_congelado", +"molten_steel":"acero_fundido", +"molten_brass":"latón_fundido", +"molten_bronze":"bronce_fundido", +"molten_sterling":"esterlina_fundido", +"molten_rose_gold":"oro_rosa_fundido", +"molten_purple_gold":"oro_purpula_fundido", +"molten_blue_gold":"oro_azúl_fundido", +"molten_electrum":"electro_fundido", +"molten_pyrite":"pirita_fundido", +"broth_ice":"caldo_congelado", +"frozen_vinegar":"vinagre_congelado", +"sauce_ice":"salsa_congelado", +"alcohol_ice":"alcohol_congelado", +"bleach_ice":"lejía_congelado", +"chlorine_ice":"cloro_congelado", +"frozen_ink":"tinta_congelado", +"tea_ice":"té_congelado", +"coffee_ice":"café_congelado", +"hydrogen_ice":"hidrógeno_congelado", +"oxygen_ice":"oxígeno_congelado", +"molten_amalgam":"amalgama_fundido", +"neon_ice":"neón_congelado", +"cyanide_ice":"ciaruno_congelado", +"molten_copper_sulfate":"cobre_sulfató_fundido", +"molten_alga":"aluminio_galio_fundido", +"molten_metal_scrap":"chatarra_fundido", +"molten_borax":"bórax_fundido", +"molten_epsom_salt":"sal_de_epsom_fundido", +"molten_potassium_salt":"sal_de_potassio_fundido", "molten_sodium_acetate":"", "frozen_nitro":"", "cured_meat": "", @@ -540,4 +540,4 @@ "blaster": "", "propane_ice": "", "molten_caustic_potash": "" -} \ No newline at end of file +} From 1d09c5e0edf16b28ba0fa1999f0e692f1a40b0a1 Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Tue, 7 May 2024 11:46:54 -0700 Subject: [PATCH 06/11] Removed buggy 096 code --- mods/scp.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/mods/scp.js b/mods/scp.js index 0b0273ff..0345e2ba 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -913,19 +913,6 @@ elements.shy_head = { } } } - if (!isEmpty(pixel.x+2, pixel.y, true) && pixelMap[pixel.x+2][pixel.y].element == "head") { - var target = pixelMap[pixel.x+2][pixel.y]; - if (target.dead) { // If target is dead, ignore - var target = null; - } - else { body.panic += 0.1; } - } - else { var target = null } - if (target.dead) { // If target is dead, ignore - var target = null; - body.panic -= 0.1; - } - // homeostasis if (pixel.temp > 37) { pixel.temp -= 1; } else if (pixel.temp < 37) { pixel.temp += 1; } From b1299bd1faa7c0e511ca05414107e3e011b11867 Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Tue, 7 May 2024 11:51:36 -0700 Subject: [PATCH 07/11] Improved 682 --- mods/scp.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/scp.js b/mods/scp.js index 0345e2ba..9fff32a7 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -1061,7 +1061,7 @@ elements.SCP_682 = { color: ["#424242","#75816B","#4D6B53"], behavior: [ "M2%0.5|M2%0.3|M2%0.5", - "M1%10|XX|M1%10", + "M2%10|XX|M2%10", "XX|M1|XX", ], category: "scp", @@ -1124,7 +1124,7 @@ elements.mad_682 = { color: ["#424242","#75816B","#4D6B53"], behavior: [ "M2%0.5|M2%0.3|M2%0.5", - "M1%10 AND CH:concrete>dust AND DL:dust|CH:SCP_682%0.3|M1%10 AND CH:concrete>dust AND DL:dust", + "M2%10|CH:SCP_682%0.3|M2%10", "XX|M1|XX", ], category: "scp", @@ -1150,8 +1150,8 @@ elements.mad_682 = { "lead": { elem2 : ["metal_scrap","metal_scrap","radiation"] , chance:0.3 }, "glass": { elem2 : "glass_shard" }, "wood": { elem2 : "sawdust" }, - "concrete": { elem2 : "dust" , chance:0.1 }, - "dust": { elem2 : null , chance:0.1 }, + "concrete": { elem2 : "dust" , chance:10 }, + "dust": { elem2 : null , chance:10 }, }, hidden: true, state: "solid", From f806e2b5169c2312ad663187da5dd03ca00a3cad Mon Sep 17 00:00:00 2001 From: NecroticPhantom <167430021+NecroticPhantom@users.noreply.github.com> Date: Wed, 8 May 2024 11:05:22 +0100 Subject: [PATCH 08/11] added drills.js --- mods/drills.js | 609 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 609 insertions(+) create mode 100644 mods/drills.js diff --git a/mods/drills.js b/mods/drills.js new file mode 100644 index 00000000..9cc21fdc --- /dev/null +++ b/mods/drills.js @@ -0,0 +1,609 @@ +/* Made by: Necrotic_Phantom + With help from: voidapex11 */ + +// For change log: "+" = addition, "-" = removal and "~" = change. L, R, U, D corresponds to LEFT, RIGHT, UP and DOWN +// "committed" means posted current version on github. It is a courtesy and important, especially if you're working on another person's mod at the same time as them, so you don't disrupt each other's work + +/* +===CHANGE LOG=== + Version: 1.0.0 +@Necrotic_Phantom & @voidapex11 ++ steel drill L, R, U & D ++ steel drill missile L, R, U & D ++ diamond drill L, R, U & D ++ diamond drill missile L, R, U & D ++ void drill L, R, U & D ++ void drill missile L, R, U & D ++ drills.js info (drills_info) element to 'mods' category +~ changed all element colors from gray to individual colors +~ fixed steel/diamond/void drill missile L, R, U & D drilling errors +~ fixed steel/diamond/void drill R & steel/diamond/void drill missile R crashing upon border collision +~ made steel/diamond/void drill missile L, R, U & D explode upon border contact +~ committed +*/ + +/* Future Plans (in approx order): +~ find error/fix all types of drill_RIGHT crashing game a few seconds after hitting border ++ reverse steel drill L, R, U & D ++ reverse diamond drill L, R, U & D ++ reverse void drill L, R, U & D ++ random steel drill ++ random steel drill missile ++ random reverse steel drill ++ random diamond drill ++ random diamond drill missile ++ random reverse diamond drill ++ random void drill ++ random void drill missile ++ random reverse void drill ++ programmable steel drill ++ programmable steel drill missile ++ programmable reverse steel drill ++ programmable diamond drill ++ programmable diamond drill missile ++ programmable reverse diamond drill ++ programmable void drill ++ programmable void drill missile ++ programmable reverse void drill ++ seeking steel drill ++ seeking steel drill missile ++ seeking reverse steel drill ++ seeking diamond drill ++ seeking diamond drill missile ++ seeking reverse diamond drill ++ seeking void drill ++ seeking void drill missile ++ seeking reverse void drill ++ ricochet drills??? */ + +drills_mod_desc_Colour = "#000000" +steel_drill_Colour = "#71797e" +steel_drill_missile_Colour = ["#71797e", "#ff0000"]; +diamond_drill_Colour = "#03fcec" +diamond_drill_missile_Colour = ["#03fcec", "#ff0000"]; +void_drill_Colour = "#262626" +void_drill_missile_Colour = ["#262626", "#ff0000"]; + + + +elements.drills_info = { + color: drills_mod_desc_Colour, + name: "drills.js_info", + category: "Mods", + behavior: behaviors.SELFDELETE, + maxSize: 1, + tool: function(pixel) {}, + onSelect: function(pixel) { + let info1stMod = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11." + alert(info1stMod) + return + }, +}; + + + +steel_drill_function = function(pixel, dif_x, dif_y) { + dif_x = dif_x-pixel.x + dif_y = dif_y-pixel.y + if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { + pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] + if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { + if (elements[pxl.element].hardness <= 0.8) { + delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + } + }; + tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + }; + doDefaults(pixel); +} + +elements.steel_drill_LEFT = { + color: steel_drill_Colour, + tick: function(pixel) { + steel_drill_function(pixel,pixel.x-1,pixel.y); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_steel", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", +} + +elements.steel_drill_RIGHT = { + color: steel_drill_Colour, + tick: function(pixel) { + steel_drill_function(pixel,pixel.x+1,pixel.y); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", +} + +elements.steel_drill_UP = { + color: steel_drill_Colour, + tick: function(pixel) { + steel_drill_function(pixel,pixel.x,pixel.y-1); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", +} + +elements.steel_drill_DOWN = { + color: steel_drill_Colour, + tick: function(pixel) { + steel_drill_function(pixel,pixel.x,pixel.y+1); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", +} + + + +steel_drill_missile_function = function(pixel, dif_x, dif_y) { + dif_x = dif_x-pixel.x + dif_y = dif_y-pixel.y + if (pixel.die <= 0) { + deletePixel(pixel.x, pixel.y) + explodeAt(pixel.x, pixel.y, 15); + return true + }; + if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { + pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] + if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { + pixel.primed = true + if (elements[pxl.element].hardness <= 0.8) { + delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + } + } + else if (pixel.primed) { + pixel.die-- + return true + }; + tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + } + else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) { + deletePixel(pixel.x, pixel.y) + explodeAt(pixel.x, pixel.y, 15); + }; + doDefaults(pixel); +} + +elements.steel_drill_missile_LEFT = { + color: steel_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + steel_drill_missile_function(pixel,pixel.x-1,pixel.y); + }, + category: "Drills", + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.steel_drill_missile_RIGHT = { + color: steel_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + steel_drill_missile_function(pixel,pixel.x+1,pixel.y); + }, + category: "Drills", + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.steel_drill_missile_UP = { + color: steel_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + steel_drill_missile_function(pixel,pixel.x,pixel.y-1); + }, + category: "Drills", + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.steel_drill_missile_DOWN = { + color: steel_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + steel_drill_missile_function(pixel,pixel.x,pixel.y+1); + }, + category: "Drills", + density: 10000, + hardness: 0.8, + conduct: 1, + state: "solid", + maxSize: 1, +} + + + +diamond_drill_function = function(pixel, dif_x, dif_y) { + dif_x = dif_x-pixel.x + dif_y = dif_y-pixel.y + if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { + pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] + if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { + if (elements[pxl.element].hardness <= 0.99) { + delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + } + }; + tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + }; + doDefaults(pixel); +} + +elements.diamond_drill_LEFT = { + color: diamond_drill_Colour, + tick: function(pixel) { + diamond_drill_function(pixel,pixel.x-1,pixel.y); + }, + category: "Drills", + breakInto: ["metal_scrap", "diamond", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", +} + +elements.diamond_drill_RIGHT = { + color: diamond_drill_Colour, + tick: function(pixel) { + diamond_drill_function(pixel,pixel.x+1,pixel.y); + }, + category: "Drills", + breakInto: ["metal_scrap", "diamond", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", +} + +elements.diamond_drill_UP = { + color: diamond_drill_Colour, + tick: function(pixel) { + diamond_drill_function(pixel,pixel.x,pixel.y-1); + }, + category: "Drills", + breakInto: ["metal_scrap", "diamond", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", +} + +elements.diamond_drill_DOWN = { + color: diamond_drill_Colour, + tick: function(pixel) { + diamond_drill_function(pixel,pixel.x,pixel.y+1); + }, + category: "Drills", + breakInto: ["metal_scrap", "diamond", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", +} + + + +diamond_drill_missile_function = function(pixel, dif_x, dif_y) { + dif_x = dif_x-pixel.x + dif_y = dif_y-pixel.y + if (pixel.die <= 0) { + deletePixel(pixel.x, pixel.y) + explodeAt(pixel.x, pixel.y, 15); + return true + }; + if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { + pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] + if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { + pixel.primed = true + if (elements[pxl.element].hardness <= 0.99) { + delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + } + } + else if (pixel.primed) { + pixel.die-- + return true + }; + tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + } + else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) { + deletePixel(pixel.x, pixel.y) + explodeAt(pixel.x, pixel.y, 15); + }; + doDefaults(pixel); +} + +elements.diamond_drill_missile_LEFT = { + color: diamond_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + diamond_drill_missile_function(pixel,pixel.x-1,pixel.y); + }, + category: "Drills", + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.diamond_drill_missile_RIGHT = { + color: diamond_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + diamond_drill_missile_function(pixel,pixel.x+1,pixel.y); + }, + category: "Drills", + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.diamond_drill_missile_UP = { + color: diamond_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + diamond_drill_missile_function(pixel,pixel.x,pixel.y-1); + }, + category: "Drills", + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.diamond_drill_missile_DOWN = { + color: diamond_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + diamond_drill_missile_function(pixel,pixel.x,pixel.y+1); + }, + category: "Drills", + density: 10000, + hardness: 0.99, + conduct: 1, + state: "solid", + maxSize: 1, +} + + + +void_drill_function = function(pixel, dif_x, dif_y) { + dif_x = dif_x-pixel.x + dif_y = dif_y-pixel.y + if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { + pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] + if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { + if (elements[pxl.element].hardness <= 1) { + delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + } + }; + tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + }; + doDefaults(pixel); +} + +elements.void_drill_LEFT = { + color: void_drill_Colour, + tick: function(pixel) { + void_drill_function(pixel,pixel.x-1,pixel.y); + }, + category: "Drills", + breakInto: ["metal_scrap", "void", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", +} + +elements.void_drill_RIGHT = { + color: void_drill_Colour, + tick: function(pixel) { + void_drill_function(pixel,pixel.x+1,pixel.y); + }, + category: "Drills", + breakInto: ["metal_scrap", "void", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", +} + +elements.void_drill_UP = { + color: void_drill_Colour, + tick: function(pixel) { + void_drill_function(pixel,pixel.x,pixel.y-1); + }, + category: "Drills", + breakInto: ["metal_scrap", "void", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", +} + +elements.void_drill_DOWN = { + color: void_drill_Colour, + tick: function(pixel) { + void_drill_function(pixel,pixel.x,pixel.y+1); + }, + category: "Drills", + breakInto: ["metal_scrap", "void", "iron", "tin"], + tempHigh: 10000, + stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", +} + + + +void_drill_missile_function = function(pixel, dif_x, dif_y) { + dif_x = dif_x-pixel.x + dif_y = dif_y-pixel.y + if (pixel.die <= 0) { + deletePixel(pixel.x, pixel.y) + explodeAt(pixel.x, pixel.y, 15); + return true + }; + if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { + pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] + if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { + pixel.primed = true + if (elements[pxl.element].hardness <= 1) { + delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + } + } + else if (pixel.primed) { + pixel.die-- + return true + }; + tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + } + else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) { + deletePixel(pixel.x, pixel.y) + explodeAt(pixel.x, pixel.y, 15); + }; + doDefaults(pixel); +} + +elements.void_drill_missile_LEFT = { + color: void_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + void_drill_missile_function(pixel,pixel.x-1,pixel.y); + }, + category: "Drills", + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.void_drill_missile_RIGHT = { + color: void_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + void_drill_missile_function(pixel,pixel.x+1,pixel.y); + }, + category: "Drills", + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.void_drill_missile_UP = { + color: void_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + void_drill_missile_function(pixel,pixel.x,pixel.y-1); + }, + category: "Drills", + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", + maxSize: 1, +} + +elements.void_drill_missile_DOWN = { + color: void_drill_missile_Colour, + properties: { + die: 5, + primed: false, + }, + tick: function(pixel) { + void_drill_missile_function(pixel,pixel.x,pixel.y+1); + }, + category: "Drills", + density: 10000, + hardness: 1, + conduct: 1, + state: "solid", + maxSize: 1, +} \ No newline at end of file From 7a98c75f36ad1e18914065cc769c8d91d45230df Mon Sep 17 00:00:00 2001 From: DoobieRalsei <163950752+DoobieRalsei@users.noreply.github.com> Date: Wed, 8 May 2024 13:27:25 -0700 Subject: [PATCH 09/11] 008 can infect skin --- mods/scp.js | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/mods/scp.js b/mods/scp.js index 9fff32a7..db998d13 100644 --- a/mods/scp.js +++ b/mods/scp.js @@ -4,6 +4,9 @@ window.addEventListener("load", () => { window.addEventListener("load", () => { document.getElementById("elementButton-mask_body")?.remove() }) +window.addEventListener("load", () => { + document.getElementById("elementButton-infected_skin")?.remove() +}) window.addEventListener("load", () => { document.getElementById("elementButton-infected_meat")?.remove() }) @@ -100,11 +103,73 @@ elements.frozen_008 = { state: "solid", density: 95, }, - + +elements.infected_skin = { + color: ["#11111f","#75816B","#4D6B53"], + singleColor: true, + behavior: [ + "XX|CR:stench,stench,stench,SCP_008,fly%0.15 AND CH:skin,meat>infected_skin,infected_meat%1|XX", + "CH:skin,meat>infected_skin,infected_meat%1|XX|CH:skin,meat>infected_skin,infected_meat%1", + "XX|CH:skin,meat>infected_skin,infected_meat%1|XX", + ], + tick: function(pixel) { + if (pixel.temp > 40 && Math.random() < 0.003) { + for (var i = 0; i < adjacentCoords.length; i++) { + var coords = adjacentCoords[i]; + var x = pixel.x + coords[0]; + var y = pixel.y + coords[1]; + if (isEmpty(x,y)) { + pixel.temp -= 20; + createPixel("infection",x,y) + break; + } + } + } + if (pixel.temp < 36 && Math.random() < 0.1) { + pixel.temp += 1; + } + doDefaults(pixel); + }, + reactions: { + "cell": { chance:0.01, func:function(pixel1,pixel2){ + changePixel(pixel2,"infected_skin"); + pixel2.color = pixelColorPick(pixel2,RGBToHex(pixel1.color.match(/\d+/g))) + if (pixel1.origColor) { pixel2.origColor = pixel1.origColor } + } }, + "acid": { elem1:"infection" }, + "soap": { elem1:null, elem2:null, chance:0.005 }, + "light": { stain1:"#825043" }, + "poison": { stain1:"#cc564b" }, + "poison_gas": { stain1:"#cc564b" }, + "infection": { stain1:"#cc564b" }, + "pollen": { stain1:"#cc564b" }, + "dust": { stain1:"#cc564b" }, + "flea": { stain1:"#cc564b" }, + "mushroom_spore": { stain1:"#cc564b" }, + "mushroom_stalk": { stain1:"#cc564b" }, + "chlorine": { stain1:"#cc564b" }, + "quicklime": { stain1:"#cc564b" }, + }, + category:"solids", + breakInto: [null,null,"SCP_008","infection","dust"], + temp: 37, + tempHigh: 200, + stateHigh: ["cooked_meat","cooked_meat","cooked_meat","SCP_008"], + tempLow: -18, + stateLow: "frozen_008_meat", + burn:5, + burnTime:400, + burnInto: ["cooked_meat","cooked_meat","SCP_008"], + state: "solid", + density: 1010, + conduct: 0.04, + movable: false, +}, + elements.infected_meat = { color: ["#b8b165","#b89765"], behavior: [ - "XX|CR:plague,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX", + "XX|CR:stench,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX", "SP%99 AND CH:rotten_meat,meat>infected_meat%1|XX|SP%99 AND CH:rotten_meat,meat>infected_meat%1", "XX|M1 AND CH:rotten_meat,meat>infected_meat%1|XX", ], @@ -466,6 +531,7 @@ elements.REDACTED = { ], category: "scp", state: "solid", + movable: false, }, elements.plague_doctor = { From eb5a985e5fd092afaa0c5fb04c5272d6e52fd208 Mon Sep 17 00:00:00 2001 From: Tisquares <129683151+Tisquares@users.noreply.github.com> Date: Wed, 8 May 2024 16:36:35 -0500 Subject: [PATCH 10/11] Version 2.0 of Community Desserts Added more items, changed/optimized some code, added new functions --- mods/community_desserts.js | 739 +++++++++++++++++++++++++++++++++---- 1 file changed, 672 insertions(+), 67 deletions(-) diff --git a/mods/community_desserts.js b/mods/community_desserts.js index b4ae1e81..d4e4e0c0 100644 --- a/mods/community_desserts.js +++ b/mods/community_desserts.js @@ -5,37 +5,50 @@ * * Got questions? Contact tisqbisque on Discord! * - * This version: 1.1 + * This version: 2.0 */ +// Other mods can add to this list [: +eListAdd("FRUITS",["apple","banana","blackberry","blueberry","grape","kiwi","mango","orange","peach","plum","pomegranate","rambutan","strawberry"]); +function fruitLength() { + return eLists.FRUITS.length; +} // Dulce de leche items elements.dulce_de_leche = { alias: "manjar", - color: ["#c56600","#f7a204","#ca6400","#893604"], + color: ["#c56600", "#f7a204", "#ca6400", "#893604"], category: "Community", state: "liquid", behavior: behaviors.LIQUID, reactions: { - "cream_cheese": { elem1:"dulce_de_leche", elem2:null, color1:["#DFAB73","#fbcc75","#e2aa73","#be9075"], oneway:true }, // for recipe accuracy :3 + "cream_cheese": { elem1: "dulce_de_leche", elem2: null, color1: ["#DFAB73", "#fbcc75", "#e2aa73", "#be9075"], oneway: true }, // for recipe accuracy :3 }, tempLow: -20, stateLow: "candy", tempHigh: 250, - stateHigh: ["fragrance","smoke","smoke"], + stateHigh: ["fragrance", "smoke", "smoke"], viscosity: 500, stain: 0.02, density: 1284.93, hidden: true, isFood: true, - desc: "Added in the first version of the mod.\nMade by heating Sweetened Condensed Milk at 175°C+.\nFrom undexconocidox_26419.\n" + desc: "Added in version 1.0 of Community Desserts.\nMade by heating Sweetened Condensed Milk at 175°C+.\nFrom undexconocidox_26419.\n" } elements.sweetened_condensed_milk = { - color: ["#ffe9ba","#fbd396","#fde2a9"], + alias: "sweet_milk", + color: ["#ffe9ba", "#fbd396", "#fde2a9"], category: "Community", state: "liquid", behavior: behaviors.LIQUID, + onMix: function(cmilk, jamcheck) { + if(shiftDown && elements[jamcheck.element].id === elements.jam.id && Math.random() < 0.06) { + changePixel(cmilk,"mousse"); + pixelMap[cmilk.x][cmilk.y].color = shiftColor(rgbToHex(jamcheck.color),"#272727","add"); + deletePixel(jamcheck.x,jamcheck.y); + } + }, tempLow: 0, - stateLow: ["ice_cream","sugar"], + stateLow: ["ice_cream", "sugar"], tempHigh: 175, stateHigh: "dulce_de_leche", viscosity: 5, @@ -43,29 +56,29 @@ elements.sweetened_condensed_milk = { density: 1050.83, hidden: true, isFood: true, - desc: "Added in the first version of the mod.\nMade by mixing Milk and Sugar at 85°C+.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Milk and Sugar at 85°C+.\n", } // Chocotorta items elements.cream_cheese = { - color: ["#ebe9ea","#e4dfdd","#eeeeee"], + color: ["#ebe9ea", "#e4dfdd", "#eeeeee"], category: "Community", state: "solid", behavior: behaviors.STURDYPOWDER, //reactions: { - // For future use + // For future use //}, tempHigh: 65, stateHigh: "melted_cheese", - stateHighColor: ["#fbffff","#f6f6f6"], + stateHighColor: ["#fbffff", "#f6f6f6"], hardness: 0.01, density: 980.61, hidden: true, isFood: true, - desc: "Added in the first version of the mod.\nMade by mixing Acid with Milk or Cream.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Acid with Milk or Cream at 90°C-.\n", } elements.cocoa_bean = { - color: ["#e16f51","#e28e67","#e18550","#84574d"], + color: ["#e16f51", "#e28e67", "#e18550", "#84574d"], category: "Community", state: "solid", behavior: behaviors.POWDER, @@ -78,17 +91,17 @@ elements.cocoa_bean = { stateLow: "frozen_plant", // not hidden by default // not food don't eat it - desc: "Added in the first version of the mod.\n", + desc: "Added in version 1.0 of Community Desserts.\n", } elements.cocoa_powder = { - color: ["#855344","#6d4c41","#40271d"], + color: ["#855344", "#6d4c41", "#40271d"], category: "Community", state: "solid", behavior: behaviors.POWDER, - onMix: function(powder, doughcheck) { + onMix: function (powder, doughcheck) { if (elements[doughcheck.element].id == elements.dough.id && shiftDown && Math.random() < 0.25) { - deletePixel(powder.x,powder.y); - changePixel(doughcheck,"chocolate_biscuit_dough"); + deletePixel(powder.x, powder.y); + changePixel(doughcheck, "chocolate_biscuit_dough"); } }, density: 363.5, @@ -96,7 +109,7 @@ elements.cocoa_powder = { stateHigh: "smoke", hidden: true, isFood: true, - desc: "Added in the first version of the mod.\nMade by Smashing Cocoa Bean.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by Smashing Cocoa Bean.\n", } elements.chocolate_biscuit_dough = { color: "#623727", @@ -111,7 +124,7 @@ elements.chocolate_biscuit_dough = { density: 526.9, isFood: true, hidden: true, - desc: "Added in the first version of the mod.\nMade by hard mixing Cocoa Powder with Dough.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by hard mixing Cocoa Powder with Dough.\n", } elements.chocolate_biscuit = { color: "#864B36", @@ -119,34 +132,34 @@ elements.chocolate_biscuit = { state: "solid", behavior: behaviors.STURDYPOWDER, breakInto: "crumb", - breakIntoColor: ["#af8264","#b28461","#aa7852","#a8744b"], + breakIntoColor: ["#af8264", "#b28461", "#aa7852", "#a8744b"], tempHigh: 232.2, - stateHigh: ["smoke","smoke","smoke","ash"], + stateHigh: ["smoke", "smoke", "smoke", "ash"], density: 233.96, isFood: true, hidden: true, - desc: "Added in the first version of the mod.\nMade by cooking Choco Biscuit Dough at 94°C+.\nCan be layered with other items to make chocotorta, from undexconocidox_26419.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by cooking Choco Biscuit Dough at 94°C+.\nCan be layered with other items to make chocotorta, from undexconocidox_26419.\n", } // Haupia items elements.coconut = { - color: ["#793b1e","#995c31","#5f3015"], + color: ["#793b1e", "#995c31", "#5f3015"], category: "Community", state: "solid", behavior: behaviors.POWDER, - breakInto: ["coconut_milk","tinder"], + breakInto: ["coconut_milk", "tinder"], tempHigh: 225, - stateHigh: ["steam","ash","smoke"], + stateHigh: ["steam", "ash", "smoke"], density: 822, - desc: "Added in the first version of the mod.\n", + desc: "Added in version 1.0 of Community Desserts.\n", } elements.coconut_milk = { - color: ["#f3f3f3","#e4ddcb","#f8f8f8"], + color: ["#f3f3f3", "#e4ddcb", "#f8f8f8"], category: "Community", state: "liquid", behavior: behaviors.LIQUID, reactions: { - "sugar": { elem1:null, elem2:"haupia_mix", tempMin:90 }, + "sugar": { elem1: null, elem2: "haupia_mix", tempMin: 90 }, }, tempHigh: 102, stateHigh: "steam", @@ -156,10 +169,10 @@ elements.coconut_milk = { density: 1031.33, hidden: true, isFood: true, - desc: "Added in the first version of the mod.\nMade by smashing Coconut.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by smashing Coconut.\n", } elements.haupia_mix = { - color: ["#f3f3f3","#e4ddcb","#f8f8f8"], + color: ["#f3f3f3", "#e4ddcb", "#f8f8f8"], category: "Community", state: "liquid", behavior: behaviors.LIQUID, @@ -170,55 +183,647 @@ elements.haupia_mix = { viscosity: 2.3, density: 1242.67, hidden: true, - desc: "Added in the first version of the mod.\nMade by mixing Coconut Milk and Sugar at 90°C+.\n", + desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Coconut Milk and Sugar at 90°C+.\n", } elements.haupia = { - color: ["#ffffff","#f8f8f8","#f7f9f8"], + color: ["#ffffff", "#f8f8f8", "#f7f9f8"], category: "Community", state: "solid", behavior: behaviors.SUPPORT, tempHigh: 105, - stateHigh: ["steam","fragrance"], + stateHigh: ["steam", "fragrance"], density: 1300, hidden: true, isFood: true, - desc: "Added in the first version of the mod.\nMade by cooling Haupia Mix at 3°C-.\nFrom tisqbisque.\n" + desc: "Added in version 1.0 of Community Desserts.\nMade by cooling Haupia Mix at 3°C-.\nFrom tisqbisque.\n" +} + +// Pie crust items +elements.pie_crust_batter = { + alias: "pie_batter", + color: ["#efdbae", "#ffe6ab", "#eacb88"], + category: "Community", + state: "solid", + behavior: behaviors.STURDYPOWDER, + tempHigh: 180, + stateHigh: "pie_crust", + density: 233.96, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Dough and Butter.\n", +} +elements.pie_crust = { + color: ["#c18d45", "#b07f3c", "#d0a352", "#b27f3a"], + category: "Community", + state: "solid", + behavior: behaviors.STURDYPOWDER, + breakInto: "crumb", + breakIntoColor: ["#af8264", "#b28461", "#aa7852", "#a8744b"], + tempHigh: 232.2, + stateHigh: ["smoke", "smoke", "smoke", "ash"], + density: 233.96, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by cooking Pie Crust Batter at 180°C+.\n", +} + +// Jam and fruit items +elements.jam = { + color: ["#e14a4a","#f64040","#e72225"], + category: "Community", + state: "liquid", + behavior: behaviors.LIQUID, + tick: function (pixel) { + var madeJelly = false; + // Check left, right, up, down from jam pixel.. + if(pixel.temp >= 95) { + if(Math.random() < 0.05 && pixel.x-1 !== 0) { + if (!isEmpty(pixel.x-1,pixel.y) && pixelMap[pixel.x-1][pixel.y].element === "water") { + changePixel(pixelMap[pixel.x-1][pixel.y],"jelly"); + pixelMap[pixel.x-1][pixel.y].color = shiftColor(rgbToHex(pixel.color),"#272727","sub"); + madeJelly = true; + }; + }; + if(Math.random() < 0.05 && pixel.x+1 !== width) { + if (!isEmpty(pixel.x+1,pixel.y) && pixelMap[pixel.x+1][pixel.y].element === "water") { + changePixel(pixelMap[pixel.x+1][pixel.y],"jelly"); + pixelMap[pixel.x+1][pixel.y].color = shiftColor(rgbToHex(pixel.color),"#272727","sub"); + madeJelly = true; + }; + }; + if(Math.random() < 0.05 && pixel.y-1 !== 0) { + if (!isEmpty(pixel.x,pixel.y-1) && pixelMap[pixel.x][pixel.y-1].element === "water") { + changePixel(pixelMap[pixel.x][pixel.y-1],"jelly"); + pixelMap[pixel.x][pixel.y-1].color = shiftColor(rgbToHex(pixel.color),"#272727","sub"); + madeJelly = true; + }; + }; + if(Math.random() < 0.05 && pixel.y+1 !== height) { + if (!isEmpty(pixel.x,pixel.y+1) && pixelMap[pixel.x][pixel.y+1].element === "water") { + changePixel(pixelMap[pixel.x][pixel.y+1],"jelly"); + pixelMap[pixel.x][pixel.y+1].color = shiftColor(rgbToHex(pixel.color),"#272727","sub"); + madeJelly = true; + }; + }; + if(madeJelly) { + deletePixel(pixel.x,pixel.y); + } + } + }, + tempHigh: 160, + stateHigh: ["smoke", "smoke", "sugar"], + tempLow: -5, + stateLowName: "frozen_jam", + stateLowColorMultiplier: 1.1, + viscosity: 200000, + stain: 0.3, + density: 1333.5, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by smashing a fruit.\n", +} +elements.frozen_jam = { + stateHighColorMultiplier: 0.91, +} +elements.fruit_seed = { // similar to pinecone + color: ["#5c3333","#472727","#311b1b"], + tick: function(pixel) { + if (!tryMove(pixel,pixel.x,pixel.y+1) && pixelTicks-pixel.start > 50) { + if (pixel.h === undefined) { // set to even number between 8 and 26 + pixel.h = Math.floor(Math.random()*9)*2+8; + pixel.lh = pixel.h; + } + if (Math.random() < 0.02 && pixel.h > 0 && pixel.temp < 100) { + if (!outOfBounds(pixel.x,pixel.y+1)) { // grow roots + var dirtPixel = pixelMap[pixel.x][pixel.y+1]; + if (dirtPixel && (eLists.SOIL.indexOf(dirtPixel.element) !== -1 || dirtPixel.element === "grass")) { + changePixel(dirtPixel,"root"); + } + } + if (isEmpty(pixel.x,pixel.y-1) && tryMove(pixel,pixel.x,pixel.y-1)) { + createPixel("wood",pixel.x,pixel.y+1); + pixel.h --; + } + } + else if (pixel.h === 0) { + changePixel(pixel,"fruit_tree"); + pixelMap[pixel.x][pixel.y].h = pixel.lh; + } + } + doDefaults(pixel); + }, + tempHigh: 500, + stateHigh: "wood", + burn: 5, + burnTime: 100, + category: "Community", + state: "solid", + density: 1500, + cooldown: defaultCooldown, + seed: true, + desc: "Added in version 2.0 of Community Desserts.\nGrows into Fruit Tree.\n" +} +elements.fruit_tree = { // like sapling + color: ["#007a00","#0a910a","#036903"], + tick: function (pixel) { + if (pixel.h > 0 && pixelTicks % (50+pixel.h) === 0) { + // extend to the left and right, giving the next h-1 + // The taller the tree, the longer the umbrella + if (isEmpty(pixel.x-1,pixel.y)) { + createPixel("fruit_tree",pixel.x-1,pixel.y); + pixelMap[pixel.x-1][pixel.y].h = pixel.h-2; + } + if (isEmpty(pixel.x+1,pixel.y)) { + createPixel("fruit_tree",pixel.x+1,pixel.y); + pixelMap[pixel.x+1][pixel.y].h = pixel.h-2; + } + if (isEmpty(pixel.x,pixel.y-1)) { + createPixel("fruit_tree",pixel.x,pixel.y-1); + } + } + else if(isEmpty(pixel.x,pixel.y+1) && Math.random() < 0.0005 ) { + createPixel(eLists.FRUITS[Math.floor(Math.random()*fruitLength())],pixel.x,pixel.y+1); + } + doDefaults(pixel); + }, + reactions: { + "vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 }, + "baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 }, + "bleach": { elem1:"dead_plant", elem2:null, chance:0.05 }, + "alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 } + }, + category: "Community", + tempHigh: 100, + stateHigh: "dead_plant", + burn:45, + burnTime:75, + burnInto: ["dead_plant","dead_plant","dead_plant","dead_plant","fruit_seed"], + breakInto: ["dead_plant","dead_plant","dead_plant","dirt","sap"], + state: "solid", + density: 1050, + seed: "fruit_seed", + hidden: true, + movable: false, + desc: "Added in version 2.0 of Community Desserts.\nMay drop a random fruit. Current # of fruits: " + (fruitLength()-1) +".\n", +} +elements.apple = { + color: ["#c6de70","#efdc5c","#c75833","#bd3838"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#f5cb40" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#f5cb40" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#f5cb40" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#f5cb40" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#f5cb40" }, + "acid": { elem1:"juice", color1:"#f5cb40" }, + "acid_gas": { elem1:"juice", color1:"#f5cb40" }, + }, + breakInto: "jam", + breakIntoColor: ["#ddae16","#fdcd53","#fed75e","#e9b429"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 460.72, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.banana = { + color: ["#f8e662","#ffe312","#fee402","#fed601"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#fae7b5" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#fae7b5" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#fae7b5" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#fae7b5" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#fae7b5" }, + "acid": { elem1:"juice", color1:"#fae7b5" }, + "acid_gas": { elem1:"juice", color1:"#fae7b5" }, + }, + breakInto: "jam", + breakIntoColor: ["#d6aa46","#e3b544","#cda23a","#e3c869"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 634.01, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.blackberry = { + color: ["#5c2f3e","#281c2a","#02060f","#19252c"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#7b1e57" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#7b1e57" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#7b1e57" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#7b1e57" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#7b1e57" }, + "acid": { elem1:"juice", color1:"#7b1e57" }, + "acid_gas": { elem1:"juice", color1:"#7b1e57" }, + }, + breakInto: "jam", + breakIntoColor: ["#481317","#50030d","#250b0c","#62020d"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 608.65, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.blueberry = { + color: ["#385f9e","#386891","#4874b5","#4b8ee3"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#933487" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#933487" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#933487" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#933487" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#933487" }, + "acid": { elem1:"juice", color1:"#933487" }, + "acid_gas": { elem1:"juice", color1:"#933487" }, + }, + breakInto: "jam", + breakIntoColor: ["#48132c","#6f3a56","#13030d","#351123"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 625.56, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.kiwi = { + color: ["#be8456","#cb8a3e","#bc7742","#975e25"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#eef299" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#eef299" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#eef299" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#eef299" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#eef299" }, + "acid": { elem1:"juice", color1:"#eef299" }, + "acid_gas": { elem1:"juice", color1:"#eef299" }, + }, + breakInto: "jam", + breakIntoColor: ["#beb43c","#b7ac41","#8d7614","#755e11"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 748.14, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.mango = { + color: ["#ff1f25","#f97231","#fdeb1d","#85b624"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#ffbf34" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#ffbf34" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#ffbf34" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#ffbf34" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#ffbf34" }, + "acid": { elem1:"juice", color1:"#ffbf34" }, + "acid_gas": { elem1:"juice", color1:"#ffbf34" }, + }, + breakInto: "jam", + breakIntoColor: ["#ef9d00","#fdb005","#fed803","#fbdd00"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 697.41, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.orange = { + color: ["#ffa500","#ff951d","#ffb20a","#f68310"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#f7ca05" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#f7ca05" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#f7ca05" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#f7ca05" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#f7ca05" }, + "acid": { elem1:"juice", color1:"#f7ca05" }, + "acid_gas": { elem1:"juice", color1:"#f7ca05" }, + }, + breakInto: "jam", + breakIntoColor: ["#edb848","#f6b23e","#e59e12","#eca528"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 435, // these oranges have peels so they float [: + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.peach = { + color: ["#ffc612","#f78a00","#d43d22","#a41622"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#ffc663" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#ffc663" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#ffc663" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#ffc663" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#ffc663" }, + "acid": { elem1:"juice", color1:"#ffc663" }, + "acid_gas": { elem1:"juice", color1:"#ffc663" }, + }, + breakInto: "jam", + breakIntoColor: ["#f59400","#f29e04","#e9a230","#eead37"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 650.92, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.plum = { + color: ["#952444","#5a2346","#3e2141","#450a1a"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#a10013" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#a10013" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#a10013" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#a10013" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#a10013" }, + "acid": { elem1:"juice", color1:"#a10013" }, + "acid_gas": { elem1:"juice", color1:"#a10013" }, + }, + breakInto: "jam", + breakIntoColor: ["#a9050c","#55081a","#781123","#4f1e2f"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 697.41, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.pomegranate = { + color: ["#fd4127","#be2216","#aa1519","#330104"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#c9002c" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#c9002c" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#c9002c" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#c9002c" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#c9002c" }, + "acid": { elem1:"juice", color1:"#c9002c" }, + "acid_gas": { elem1:"juice", color1:"#c9002c" }, + }, + breakInto: "jam", + breakIntoColor: ["#4b0000","#6b0900","#a3000e","#c80402"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 1150, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.rambutan = { + color: ["#9a1408","#eb2814","#9bf05f","#f6ffff"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#eae6dd" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#eae6dd" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#eae6dd" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#eae6dd" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#eae6dd" }, + "acid": { elem1:"juice", color1:"#eae6dd" }, + "acid_gas": { elem1:"juice", color1:"#eae6dd" }, + }, + breakInto: "jam", + breakIntoColor: ["#60271a","#773119","#841e01","#953810"], + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 281, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.strawberry = { + color: ["#c53415","#ea1720","#f1232d","#ea7e72"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"juice", chance:0.1, color1:"#f53c28" }, + "concrete": { elem1:"juice", chance:0.1, color1:"#f53c28" }, + "basalt": { elem1:"juice", chance:0.1, color1:"#f53c28" }, + "limestone": { elem1:"juice", chance:0.1, color1:"#f53c28" }, + "tuff": { elem1:"juice", chance:0.1, color1:"#f53c28" }, + "acid": { elem1:"juice", color1:"#f53c28" }, + "acid_gas": { elem1:"juice", color1:"#f53c28" }, + }, + breakInto: "jam", + // Jam is strawberry-colored by default akschully + tempHigh: 256, + stateHigh: ["steam", "sugar"], + density: 642.47, + isFood: true, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\n" +} + +// Vanilla items +elements.vanilla_bean = { + alias: "vanilla", + color: ["#362C1D","#6f4a3b","#764735","#593b30"], + category: "Community", + state: "solid", + behavior: behaviors.POWDER, + reactions: { + "rock": { elem1:"vanilla_extract", chance:0.1 }, + "concrete": { elem1:"vanilla_extract", chance:0.1 }, + "basalt": { elem1:"vanilla_extract", chance:0.1 }, + "limestone": { elem1:"vanilla_extract", chance:0.1 }, + "tuff": { elem1:"vanilla_extract", chance:0.1 }, + "acid": { elem1:"vanilla_extract" }, + "acid_gas": { elem1:"vanilla_extract", }, + }, + breakInto: "vanilla_extract", + tempHigh: 315, + stateHigh: ["steam","ash"], + density: 1100, + desc: "Added in version 2.0 of Community Desserts.\n" +} +elements.vanilla_extract = { + // Will have more application one day + color: ["#5e1b00","#321501"], + category: "Community", + state: "liquid", + behavior: behaviors.LIQUID, + tempHigh: 285, + stateHigh: ["steam", "alcohol_gas"], + density: 879.16, + viscosity: 5000, + stain: 0.45, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by smashing Vanilla Bean.\nFrom lethanaero.\n", +} + +// Mousse items +elements.mousse = { + color: ["#fffdce","#fffee2","#fffff5"], + category: "Community", + state: "liquid", + behavior: behaviors.LIQUID, + tempHigh: 286, + stateHigh: ["steam", "smoke", "smoke", "sugar"], + density: 1707.61, + viscosity: 5000000, // is there a limit? + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by hard mixing Jam and Sweetened Condensed Milk.\nFrom brickmaster0513.\n", +} + +// Tiramisu items +elements.egg_ribbons = { + color: ["#ffdc5e","#ffe07c"], + category: "Community", + state: "liquid", + behavior: behaviors.LIQUID, + tempHigh: 150, + stateHigh: ["smoke","hard_yolk"], + tempLow: 0, + stateLow: ["sugar","hard_yolk"], + density: 1227.5, + viscosity: 300, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by hard mixing Yolk and Sugar.\n", +} +elements.mascarpone = { + color: ["#faf9f1","#faf9f7"], + category: "Community", + state: "liquid", + behavior: behaviors.LIQUID, + reactions: { + "egg_ribbons": { elem1:"tiramisu_cream", elem2:null } + }, + tempHigh: 218, + stateHigh: ["smoke","smoke"], + density: 946.79, + viscosity: 30000, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Acid with Milk or Cream at 85°C+.\n", +} +elements.tiramisu_cream = { + color: ["#fff0d1","#fbefd7"], + category: "Community", + state: "liquid", + behavior: behaviors.LIQUID, + tempHigh: 218, + stateHigh: ["smoke","smoke"], + density: 946.79, + viscosity: 30000, + hidden: true, + desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Egg Ribbons with Mascarpone.\nCan be layered with other items to make tiramisu, from tisqbisque.\n", } // Adjusting existing elements here -elements.milk.reactions = { - "melted_chocolate": { elem1:"chocolate_milk", elem2:null }, - "chocolate": { elem1:"chocolate_milk", elem2:"melted_chocolate", chance:0.05 }, - "coffee_ground": { elem1:"chocolate_milk", chance:0.05 }, - "juice": { elem1:"fruit_milk", elem2:null, chance:0.05 }, - "soda": { elem1:"pilk", elem2:null, chance:0.1 }, - "yolk": { elem1:"eggnog", elem2:null, chance:0.1 }, - "cell": { elem1:"yogurt", chance:0.1 }, - "ash": { elem1:"soap", chance:0.1 }, - "dirt": { elem1: null, elem2: "mud" }, - "sand": { elem1: null, elem2: "wet_sand" }, - "clay_soil": { elem1: null, elem2: "clay" }, - "caramel": { color1:"#C8B39A", elem2:null, chance:0.05 }, - // Start mod items here - "sugar": { elem1:"sweetened_condensed_milk", elem2:null, chance:0.05, tempMin:85 }, - "acid": { elem1:null, elem2:"cream_cheese", chance:0.8 }, -} +if (!elements.milk.reactions) { elements.milk.reactions = {} }; +elements.milk.reactions.acid = { elem1: null, elem2: "cream_cheese", chance: 0.8 }; +elements.milk.reactions.sugar = { elem1: "sweetened_condensed_milk", elem2: null, chance: 0.05, tempMin: 85 }; -elements.cream.reactions = { - "dirt": { elem1: null, elem2: "mud" }, - "sand": { elem1: null, elem2: "wet_sand" }, - "clay_soil": { elem1: null, elem2: "clay" }, - "melted_chocolate": { color1:"#664934", elem2:null }, - "chocolate": { color1:"#664934", elem2:"melted_chocolate", chance:0.05 }, - "juice": { elem1:"fruit_milk", elem2:null, chance:0.05 }, - "soda": { elem1:"pilk", elem2:null, chance:0.1 }, - "yolk": { elem1:"#eggnog", elem2:null, chance:0.1 }, - "caramel": { color1:"#C8B39A", chance:0.05 }, - "sugar": { elem2:null, chance:0.005}, - // Start mod items here - "acid": { elem1:null, elem2:"cream_cheese", chance:0.8 }, +if (!elements.cream.reactions) { elements.cream.reactions = {} }; +elements.cream.reactions.acid = { elem1: "cream_cheese", elem2: null, chance: 0.8, tempMax:90 }; +if (!elements.acid.reactions) { elements.acid.reactions = {} }; +elements.acid.reactions.cream = { elem1: null, elem2: "mascarpone", chance: 0.5, tempMin:85 }; + +if (!elements.dough.reactions) { elements.dough.reactions = {} }; +elements.dough.reactions.butter = { elem1: "pie_crust_batter", elem2: null, chance: 0.05 }; + +if(elements.sugar.reactions.grape) { delete elements["sugar"].reactions.grape; }; // I would remove the reactions entirely but I don't want to mess with other mods +if(elements.caramel.reactions.grape) { delete elements["caramel"].reactions.grape; }; +if(elements.grape.reactions.water) { delete elements["grape"].reactions.water }; +if(elements.grape.reactions.sugar_water) { delete elements["grape"].reactions.sugar_water }; +if (!elements.grape.hidden) { elements.grape.hidden = true }; +elements.grape.breakInto = "jam"; + +if (!elements.jelly.desc) { elements.jelly.desc = "Changed in version 2.0 of Community Desserts.\nMade by mixing Jam and Water at temperatures 95°C+.\n" }; +if (!elements.jelly.hidden) { elements.jelly.hidden = true }; +elements.jelly.viscosity = 150000; +elements.jelly.stain = 0.25; + +elements.yolk.onMix = function(pixel,sugarcheck) { + if (elements[sugarcheck.element].id == elements.sugar.id && shiftDown && Math.random() < 0.35) { + deletePixel(sugarcheck.x, sugarcheck.y); + changePixel(pixel, "egg_ribbons"); + } } // Mod items first -elements.acid.ignore = ["cream_cheese","cream","milk", - "glass","rad_glass","glass_shard","rad_shard","stained_glass","baked_clay","acid_gas","neutral_acid","acid_cloud","water","salt_water","sugar_water","dirty_water","copper","gold","porcelain","plastic","bead","microplastic","molten_plastic","pool_water","chlorine","hydrogen","gold_coin","silver","nickel","calcium","bone"]; \ No newline at end of file +elements.acid.ignore = ["cream_cheese", "cream", "milk", "mascarpone", + "glass", "rad_glass", "glass_shard", "rad_shard", "stained_glass", "baked_clay", "acid_gas", "neutral_acid", "acid_cloud", "water", "salt_water", "sugar_water", "dirty_water", "copper", "gold", "porcelain", "plastic", "bead", "microplastic", "molten_plastic", "pool_water", "chlorine", "hydrogen", "gold_coin", "silver", "nickel", "calcium", "bone"]; + +// For new colors +function shiftColor(base, change, direction) { + const colorRegEx = /^\#?[A-Fa-f0-9]{6}$/; + + // Missing parameter(s) + if (!base || !change) { + console.log("Parameter absent!"); + return '#000000'; + } + // Invalid parameter(s) + if (!base.match(colorRegEx) || !change.match(colorRegEx)) { + console.log("Parameter bad!"); + return '#000000'; + } + + // Remove any '#' + base = base.replace(/\#/g, ''); + change = change.replace(/\#/g, ''); + + // Build new color + let newColor = ''; + for (let i = 0; i < 3; i++) { + const basePiece = parseInt(base.substring(i * 2, i * 2 + 2), 16); + const changePiece = parseInt(change.substring(i * 2, i * 2 + 2), 16); + let newPiece = ''; + + if (direction === 'add') { // Adding a lighter color makes it darker. #000000 does effectively nothing! #ffffff makes it fully white! + newPiece = (basePiece + changePiece); + newPiece = newPiece > 255 ? 255 : newPiece; + } + if (direction === 'sub') { // Subtracting a darker color makes it closer to original. #000000 does effectively nothing! #ffffff makes it fully black! + newPiece = (basePiece - changePiece); + newPiece = newPiece < 0 ? 0 : newPiece; + } + + newPiece = newPiece.toString(16); + newPiece = newPiece.length < 2 ? '0' + newPiece : newPiece; + newColor += newPiece; + } + + return '#' + newColor; +} + +function rgbToHex(rgbObj) { + var values = rgbObj.substring(rgbObj.indexOf('(') + 1, rgbObj.lastIndexOf(')')).split(','); + var r = parseInt(values[0]); + var g = parseInt(values[1]); + var b = parseInt(values[2]); + return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b); +} +function componentToHex(c) { + let hex = c.toString(16); + return hex.length == 1 ? "0" + hex : hex; +} \ No newline at end of file From 1d20be9f009e5fa6e50bf2353f680f843fd758ee Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Thu, 9 May 2024 12:20:35 -0400 Subject: [PATCH 11/11] Update mod-list.html --- mod-list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod-list.html b/mod-list.html index 45c8f386..1b8ebd46 100644 --- a/mod-list.html +++ b/mod-list.html @@ -226,7 +226,7 @@ Food & Cooking aChefsDream.jsAdds more foods, animals, tools and many other cooking related items. Updates can be found in this YouTube PlaylistSquareScreamYT aChefsDream_beta.jsBeta testing for aChefsDream. The code can be found on GitHubSquareScreamYT -bananas.jsAdds bananas and banana plantsAlice' +bananas.jsAdds bananas and banana plantsAlice CherrySoda.jsAdds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda.guzzo86 community_desserts.jsAdds various desserts from community suggestionsTisquares greenitemsandmore.jsAdds various green things, including apples and more foodzonneschijn7