Merge branch 'R74nCom:main' into main
This commit is contained in:
commit
e4d67377b5
|
|
@ -0,0 +1,48 @@
|
||||||
|
elements.ultra_uranium = {
|
||||||
|
color: ["#50C878" , "#4F7942"],
|
||||||
|
behavior: [
|
||||||
|
"XX|XX|XX",
|
||||||
|
"XX|DL%5|XX",
|
||||||
|
"M2%25|M1%25|M2%25",
|
||||||
|
],
|
||||||
|
category: "weapons",
|
||||||
|
state: "solid",
|
||||||
|
temp: 9999999999999999,
|
||||||
|
hardness: 1,
|
||||||
|
};
|
||||||
|
elements.mega_beam = {
|
||||||
|
color: ["#DFFF00" , "#00FFFF"],
|
||||||
|
tick: function(pixel) {
|
||||||
|
var x = pixel.x;
|
||||||
|
for (var y = pixel.y; y < height; y++) {
|
||||||
|
if (outOfBounds(x, y)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (isEmpty(x, y)) {
|
||||||
|
if (Math.random() > 0.05) { continue }
|
||||||
|
createPixel("flash", x, y);
|
||||||
|
pixelMap[x][y].color = "#DFFF00";
|
||||||
|
pixelMap[x][y].temp = 9800;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (elements[pixelMap[x][y].element].isGas) { continue }
|
||||||
|
if (elements[pixelMap[x][y].element].id === elements.mega_beam.id) { break }
|
||||||
|
pixelMap[x][y].temp += 9800;
|
||||||
|
pixelTempCheck(pixelMap[x][y]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
deletePixel(pixel.x-1, pixel.y-1);
|
||||||
|
deletePixel(pixel.x+1, pixel.y+1);
|
||||||
|
if ( pixelTicks - pixel.start > 1) {
|
||||||
|
deletePixel(pixel.x, pixel.y)
|
||||||
|
}
|
||||||
|
doHeat(pixel);
|
||||||
|
},
|
||||||
|
temp: 9800,
|
||||||
|
category: "weapons",
|
||||||
|
state: "gas",
|
||||||
|
density: 1,
|
||||||
|
excludeRandom: true,
|
||||||
|
noMix: true
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,130 @@
|
||||||
|
const adjectives = ["shiny", "glowing", "dark", "bright", "heavy", "light", "hot", "cold", "hard", "soft", "smooth", "rough", "round", "sharp", "sweet", "sour", "bitter", "salty", "savory"];
|
||||||
|
|
||||||
|
const nouns = ["metal", "crystal", "stone", "powder", "liquid", "gas", "plasma", "slime", "sand", "dust", "rock", "lava", "ice", "vapor", "ash", "soot", "sludge"];
|
||||||
|
|
||||||
|
const elementNames = [];
|
||||||
|
|
||||||
|
while (elementNames.length < 300) {
|
||||||
|
|
||||||
|
const adjective = adjectives[Math.floor(Math.random() * adjectives.length)];
|
||||||
|
const noun = nouns[Math.floor(Math.random() * nouns.length)];
|
||||||
|
|
||||||
|
const name = `${adjective}_${noun}`;
|
||||||
|
|
||||||
|
if (!elementNames.includes(name)) {
|
||||||
|
elementNames.push(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const nounTemperatures = {
|
||||||
|
metal: {tempLow: 1000, tempHigh: 1800},
|
||||||
|
crystal: {tempLow: 500, tempHigh: 1000},
|
||||||
|
stone: {tempLow: 600, tempHigh: 1200},
|
||||||
|
powder: {tempLow: 100, tempHigh: 500},
|
||||||
|
liquid: {tempLow: -100, tempHigh: 100},
|
||||||
|
gas: {tempLow: -200, tempHigh: -100},
|
||||||
|
plasma: {tempLow: 8000, tempHigh: 20000},
|
||||||
|
slime: {tempLow: -10, tempHigh: 30},
|
||||||
|
sand: {tempLow: 100, tempHigh: 500},
|
||||||
|
dust: {tempLow: 50, tempHigh: 200},
|
||||||
|
rock: {tempLow: 500, tempHigh: 1000},
|
||||||
|
lava: {tempLow: 700, tempHigh: 1200},
|
||||||
|
ice: {tempLow: -50, tempHigh: 0},
|
||||||
|
vapor: {tempLow: -50, tempHigh: 100},
|
||||||
|
ash: {tempLow: 200, tempHigh: 500},
|
||||||
|
soot: {tempLow: 200, tempHigh: 500},
|
||||||
|
sludge: {tempLow: -10, tempHigh: 100}
|
||||||
|
}
|
||||||
|
|
||||||
|
const nounColors = {
|
||||||
|
metal: ["#999999", "#bbbbbb", "#cccccc", "#dddddd", "#eeeeee"],
|
||||||
|
crystal: ["#77ffff", "#88eeff", "#99ddff", "#aaccff", "#bbbbff"],
|
||||||
|
stone: ["#888888", "#999999", "#aaaaaa", "#bbbbbb", "#cccccc"],
|
||||||
|
powder: ["#eeeeee", "#ffffff", "#dddddd", "#cccccc", "#bbbbbb"],
|
||||||
|
liquid: ["#336699", "#4477aa", "#5588bb", "#6699cc", "#77aadd"],
|
||||||
|
gas: ["#ffffff", "#eeeeee", "#dddddd", "#cccccc", "#bbbbbb"],
|
||||||
|
plasma: ["#ff9966", "#ffaa77", "#ffbb88", "#ffcc99", "#ffddaa"],
|
||||||
|
slime: ["#88cc88", "#99dd99", "#aaddaa", "#bbeebb", "#ccffcc"],
|
||||||
|
sand: ["#cccccc", "#dddddd", "#eeeeee", "#ffffff", "#eeeeee"],
|
||||||
|
dust: ["#aaaaaa", "#bbbbbb", "#cccccc", "#dddddd", "#eeeeee"],
|
||||||
|
rock: ["#777777", "#888888", "#999999", "#aaaaaa", "#bbbbbb"],
|
||||||
|
lava: ["#ff4400", "#ff5511", "#ff6622", "#ff7733", "#ff8844"],
|
||||||
|
ice: ["#66cccc", "#77dddd", "#88eeee", "#99ffff", "#aaffff"],
|
||||||
|
vapor: ["#ffffff", "#eeeeee", "#dddddd", "#cccccc", "#bbbbbb"],
|
||||||
|
ash: ["#cccccc", "#dddddd", "#eeeeee", "#ffffff", "#eeeeee"],
|
||||||
|
soot: ["#333333", "#444444", "#555555", "#666666", "#777777"],
|
||||||
|
sludge: ["#886633", "#997733", "#a98844", "#bb9944", "#ccaa55"]
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const adjectiveStates = {
|
||||||
|
shiny: "solid",
|
||||||
|
glowing: "gas",
|
||||||
|
dark: "solid",
|
||||||
|
bright: "gas",
|
||||||
|
heavy: "solid",
|
||||||
|
light: "gas",
|
||||||
|
hot: "solid",
|
||||||
|
cold: "solid",
|
||||||
|
hard: "solid",
|
||||||
|
soft: "liquid",
|
||||||
|
smooth: "liquid",
|
||||||
|
rough: "solid",
|
||||||
|
round: "liquid",
|
||||||
|
sharp: "solid",
|
||||||
|
sweet: "liquid",
|
||||||
|
sour: "liquid",
|
||||||
|
bitter: "liquid",
|
||||||
|
salty: "solid",
|
||||||
|
savory: "liquid"
|
||||||
|
};
|
||||||
|
|
||||||
|
// Map noun to behavior
|
||||||
|
const nounBehaviors = {
|
||||||
|
metal: behaviors.WALL,
|
||||||
|
crystal: behaviors.WALL,
|
||||||
|
stone: behaviors.WALL,
|
||||||
|
powder: behaviors.POWDER,
|
||||||
|
liquid: behaviors.LIQUID,
|
||||||
|
gas: behaviors.GAS,
|
||||||
|
plasma: behaviors.GAS,
|
||||||
|
slime: behaviors.LIQUID,
|
||||||
|
sand: behaviors.POWDER,
|
||||||
|
dust: behaviors.POWDER,
|
||||||
|
rock: behaviors.WALL,
|
||||||
|
lava: behaviors.LIQUID,
|
||||||
|
ice: behaviors.WALL,
|
||||||
|
vapor: behaviors.GAS,
|
||||||
|
ash: behaviors.POWDER,
|
||||||
|
soot: behaviors.POWDER,
|
||||||
|
sludge: behaviors.LIQUID
|
||||||
|
};
|
||||||
|
|
||||||
|
// Generate elements
|
||||||
|
for (const name of elementNames) {
|
||||||
|
|
||||||
|
const [adjective, noun] = name.split("_");
|
||||||
|
|
||||||
|
const baseColor = nounColors[noun];
|
||||||
|
|
||||||
|
const {tempLow, tempHigh} = nounTemperatures[noun];
|
||||||
|
|
||||||
|
let temp = Math.random() * (tempHigh - tempLow) + tempLow;
|
||||||
|
|
||||||
|
if (adjective === "hot") {
|
||||||
|
temp *= 1.5;
|
||||||
|
} else if (adjective === "cold") {
|
||||||
|
temp /= 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
elements[name] = {
|
||||||
|
color: baseColor,
|
||||||
|
behavior: nounBehaviors[noun],
|
||||||
|
category: "random elements",
|
||||||
|
state: adjectiveStates[adjective],
|
||||||
|
temp: temp,
|
||||||
|
density: Math.random() * 100,
|
||||||
|
viscosity: Math.random() * 100
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
222
mods/sbstuff.js
222
mods/sbstuff.js
|
|
@ -1,7 +1,5 @@
|
||||||
elements.cooked_rice = {
|
elements.cooked_rice = {
|
||||||
viscosity: 1000,
|
viscosity: 1000,
|
||||||
tempMin: 20,
|
|
||||||
stateMin: "rice",
|
|
||||||
tempHigh: 500,
|
tempHigh: 500,
|
||||||
stateHigh: "charcoal",
|
stateHigh: "charcoal",
|
||||||
density: 699,
|
density: 699,
|
||||||
|
|
@ -1452,7 +1450,7 @@ elements.silver_coin = {
|
||||||
state: "solid",
|
state: "solid",
|
||||||
};
|
};
|
||||||
|
|
||||||
elements.uraniumaniumaniumaniumanium_popcornicecream_plutoniumeptunium_238239 = {
|
elements.lololol_this_crashes_ur_game_lololol_why_would_you_want_to_use_this_lololol_it_crashes = {
|
||||||
color: "#238fe8",
|
color: "#238fe8",
|
||||||
behavior: [
|
behavior: [
|
||||||
"XX|XX|XX",
|
"XX|XX|XX",
|
||||||
|
|
@ -1501,104 +1499,6 @@ elements.oreo = {
|
||||||
state: "liquid"
|
state: "liquid"
|
||||||
};
|
};
|
||||||
|
|
||||||
elements.uranium_238 = {
|
|
||||||
tempHigh: 1200,
|
|
||||||
stateHigh: "molten_uranium",
|
|
||||||
color: ["#0f400b", "#30522d", "#4d6b4a", "#6f8f6d"],
|
|
||||||
behavior: [
|
|
||||||
"XX|CR:radiation%1|XX",
|
|
||||||
"CR:radiation%1|CH:lead%0.001|CR:radiation%1",
|
|
||||||
"M2|M1|M2",
|
|
||||||
],
|
|
||||||
category: "powders",
|
|
||||||
state: "liquid",
|
|
||||||
density: 19100,
|
|
||||||
hardness: 0.6,
|
|
||||||
conduct: 0.235,
|
|
||||||
excludeRandom: true,
|
|
||||||
reactions: {
|
|
||||||
"neutron": {elem1: "uranium_239",},
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
elements.uranium_239 = {
|
|
||||||
tempHigh: 1300,
|
|
||||||
stateHigh: "molten_uranium",
|
|
||||||
color: ["#153816", "#135e14", "#379138", "#567556", "#7bb37b"],
|
|
||||||
behavior: [
|
|
||||||
"XX|CR:radiation%2|XX",
|
|
||||||
"CR:radiation%2|CH:lead%0.002|CR:radiation%2",
|
|
||||||
"M2|M1|M2",
|
|
||||||
],
|
|
||||||
category: "powders",
|
|
||||||
state: "liquid",
|
|
||||||
hidden: true,
|
|
||||||
density: 19100,
|
|
||||||
hardness: 0.6,
|
|
||||||
conduct: 0.235,
|
|
||||||
excludeRandom: true,
|
|
||||||
reactions: {
|
|
||||||
"electron": {elem1: "neptunium_239"}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
elements.neptunium_239 = {
|
|
||||||
tempHigh: 1500,
|
|
||||||
stateHigh: "molten_uranium",
|
|
||||||
color: ["#082e19", "#173b27", "#354a3f", "#4c635a", "#344a41"],
|
|
||||||
behavior: [
|
|
||||||
"XX|CR:radiation%3|XX",
|
|
||||||
"CR:radiation%3|CH:lead%0.003|CR:radiation%3",
|
|
||||||
"M2|M1|M2",
|
|
||||||
],
|
|
||||||
category: "powders",
|
|
||||||
state: "liquid",
|
|
||||||
hidden: true,
|
|
||||||
density: 20000,
|
|
||||||
hardness: 0.7,
|
|
||||||
conduct: 0.3,
|
|
||||||
excludeRandom: true,
|
|
||||||
reactions: {
|
|
||||||
"electron": {elem1: "plutonium"},
|
|
||||||
"neutron": { elem1:"n_explosion", tempMin:500, chance:0.1 }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
elements.plutonium = {
|
|
||||||
tempHigh: 2000,
|
|
||||||
stateHigh: "molten_uranium",
|
|
||||||
color: ["#0a4a17", "#194d23", "#263b2a", "#475449"],
|
|
||||||
behavior: [
|
|
||||||
"XX|CR:radiation%4|XX",
|
|
||||||
"CR:radiation%4|CH:lead%0.004|CR:radiation%4",
|
|
||||||
"M2|M1|M2",
|
|
||||||
],
|
|
||||||
category: "powders",
|
|
||||||
state: "liquid",
|
|
||||||
hidden: true,
|
|
||||||
density: 22000,
|
|
||||||
hardness: 0.8,
|
|
||||||
conduct: 0.4,
|
|
||||||
excludeRandom: true,
|
|
||||||
reactions: {
|
|
||||||
"neutron": { elem1:"n_explosion", tempMin:500, chance:0.2 },
|
|
||||||
"electron": { elem1:"n_explosion", tempMin:500, chance:0.00000000000000000000001 }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
elements.electron = {
|
|
||||||
color: "#c99d16",
|
|
||||||
behavior: behaviors.BOUNCY,
|
|
||||||
reactions: {
|
|
||||||
"uranium": { temp2:100 },
|
|
||||||
},
|
|
||||||
temp: 35,
|
|
||||||
category: "energy",
|
|
||||||
state: "gas",
|
|
||||||
density: 0.00002,
|
|
||||||
ignoreAir: true
|
|
||||||
};
|
|
||||||
|
|
||||||
elements.sned = {
|
elements.sned = {
|
||||||
desc: "slowly expanding...",
|
desc: "slowly expanding...",
|
||||||
color: "#dfe0d9",
|
color: "#dfe0d9",
|
||||||
|
|
@ -1757,15 +1657,7 @@ elements.thermal_paste = {
|
||||||
state: "liquid",
|
state: "liquid",
|
||||||
};
|
};
|
||||||
|
|
||||||
elements.sam = {
|
// die
|
||||||
name: "sam's sperm i think",
|
|
||||||
viscosity: 10000,
|
|
||||||
color: "#0e0e0e",
|
|
||||||
behavior: behaviors.LIQUID,
|
|
||||||
category: "joke",
|
|
||||||
state: "liquid",
|
|
||||||
desc: "begs the question; did he censor himself?"
|
|
||||||
};
|
|
||||||
|
|
||||||
elements.glitch = {
|
elements.glitch = {
|
||||||
color: ["#ff0000", "#c300ff", "#bbff00", "#1100ff", "#00ffaa"],
|
color: ["#ff0000", "#c300ff", "#bbff00", "#1100ff", "#00ffaa"],
|
||||||
|
|
@ -1803,11 +1695,20 @@ elements.sound = {
|
||||||
}
|
}
|
||||||
file.click();
|
file.click();
|
||||||
},
|
},
|
||||||
onUnselect: function() {},
|
|
||||||
tool: function() {},
|
tool: function() {},
|
||||||
category: "special",
|
category: "special",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
elements.vomit = {
|
||||||
|
viscosity: 170,
|
||||||
|
tempHigh: 100,
|
||||||
|
stateHigh: ["dirty_water", "stench"],
|
||||||
|
behavior: behaviors.LIQUID,
|
||||||
|
category: "liquids",
|
||||||
|
state: "liquid",
|
||||||
|
stain: 0.1
|
||||||
|
};
|
||||||
|
|
||||||
elements.incinerate.category = "tools",
|
elements.incinerate.category = "tools",
|
||||||
elements.cook.category = "tools",
|
elements.cook.category = "tools",
|
||||||
elements.room_temp.category = "tools",
|
elements.room_temp.category = "tools",
|
||||||
|
|
@ -1863,3 +1764,102 @@ if (!elements.coffee.reactions) elements.coffee.reactions = {};
|
||||||
elements.coffee.reactions.milk = {elem1: null, elem2: "coffee_milk",}
|
elements.coffee.reactions.milk = {elem1: null, elem2: "coffee_milk",}
|
||||||
|
|
||||||
elements.silver.breakInto = "silver_coin"
|
elements.silver.breakInto = "silver_coin"
|
||||||
|
|
||||||
|
// sb is an idiot and he has alzheimer so here is a property list
|
||||||
|
/*
|
||||||
|
== METADATA ==
|
||||||
|
name
|
||||||
|
alias
|
||||||
|
category
|
||||||
|
desc
|
||||||
|
extraInfo
|
||||||
|
related
|
||||||
|
hidden
|
||||||
|
darkText
|
||||||
|
canPlace
|
||||||
|
nocheer
|
||||||
|
forceAutoGen
|
||||||
|
|
||||||
|
== COLOR ==
|
||||||
|
color
|
||||||
|
innerColor (dead property)
|
||||||
|
colorOn
|
||||||
|
customColor
|
||||||
|
forceSaveColor
|
||||||
|
colorPattern
|
||||||
|
colorKey
|
||||||
|
|
||||||
|
== BEHAVIOR ==
|
||||||
|
behavior
|
||||||
|
behaviorOn
|
||||||
|
tool (func)
|
||||||
|
onMouseUp (func)
|
||||||
|
onSelect (func)
|
||||||
|
onUnselect (func)
|
||||||
|
onMix (func)
|
||||||
|
tick (func)
|
||||||
|
perTick (func)
|
||||||
|
reactions
|
||||||
|
|
||||||
|
== TEMP ==
|
||||||
|
temp
|
||||||
|
tempLow
|
||||||
|
stateLow
|
||||||
|
stateLowName
|
||||||
|
stateLowColor
|
||||||
|
stateLowColorMultiplier
|
||||||
|
tempHigh
|
||||||
|
stateHigh
|
||||||
|
stateHighName
|
||||||
|
stateHighColor
|
||||||
|
stateHighColorMultiplier
|
||||||
|
extraTempLow
|
||||||
|
extraTempHigh
|
||||||
|
heatCapacity (dead property)
|
||||||
|
|
||||||
|
== PROPERTIES ==
|
||||||
|
state
|
||||||
|
density
|
||||||
|
insulate
|
||||||
|
viscosity
|
||||||
|
conduct
|
||||||
|
stain
|
||||||
|
stainSelf
|
||||||
|
charge
|
||||||
|
movable
|
||||||
|
hardness
|
||||||
|
foodNeed
|
||||||
|
properties
|
||||||
|
maxSize
|
||||||
|
baby
|
||||||
|
egg
|
||||||
|
eggColor
|
||||||
|
seed
|
||||||
|
noMix
|
||||||
|
ignoreAir
|
||||||
|
excludeRandom
|
||||||
|
cooldown
|
||||||
|
isFood
|
||||||
|
ignore
|
||||||
|
canContain
|
||||||
|
|
||||||
|
== BURN ==
|
||||||
|
burn
|
||||||
|
burning
|
||||||
|
burnTime
|
||||||
|
burnInto
|
||||||
|
extinguish
|
||||||
|
fireColor
|
||||||
|
fireElement
|
||||||
|
|
||||||
|
== FLIP ==
|
||||||
|
rotatable
|
||||||
|
flipX
|
||||||
|
flippableX
|
||||||
|
flipY
|
||||||
|
flippableY
|
||||||
|
|
||||||
|
== BREAK ==
|
||||||
|
breakInto
|
||||||
|
breakIntoColor
|
||||||
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue