This commit is contained in:
slweeb 2022-01-22 21:18:20 -05:00
commit 3db96defc2
16 changed files with 35974 additions and 76 deletions

View File

@ -1,6 +1,5 @@
[Future Plans]
+ Artists' Update (Painting, Lines, Shapes, etc.)
+ Explosives Update
+ Machines Update
[Version 1.1 - Blast Off]

4
mods/CrashTestDummy.js Normal file
View File

@ -0,0 +1,4 @@
function pepe (pepe1: string, pepe2: boolean, pepe3: number) {
pepe("pepe", true, 100)
}
elements={}

View File

@ -653,6 +653,222 @@ tempHigh: 1000,
stateHigh: "liquid_crystal",
conduct: 0.3
};
elements.t_center = {
color: "#808080",
behavior: [
"CR:a7|CR:wall|CR:a7",
"XX|XX|XX",
"XX|CR:t2|XX",
],
state: "solid",
category: "structures"
};
elements.a_center = {
color: "#808080",
behavior: [
"XX|XX|XX",
"CR:a2|XX|CR:a2",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.a2 = {
color: "#808080",
behavior: [
"XX|XX|XX",
"CR:a3left|XX|CR:a3right",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.a3left = {
color: "#808080",
behavior: [
"XX|CR:a4left|XX",
"XX|XX|XX",
"XX|CR:a5|XX",
],
state: "solid",
category: "structures"
};
elements.a3right = {
color: "#808080",
behavior: [
"XX|CR:a4right|XX",
"XX|XX|XX",
"XX|CR:a5|XX",
],
state: "solid",
category: "structures"
};
elements.a4left = {
color: "#808080",
behavior: [
"XX|CR:a6left|XX",
"XX|XX|XX",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.a4right = {
color: "#808080",
behavior: [
"XX|CR:a6right|XX",
"XX|XX|XX",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.a5 = {
color: "#808080",
behavior: [
"XX|CR:wall|XX",
"XX|XX|XX",
"XX|CR:wall|XX",
],
state: "solid",
category: "structures"
};
elements.a6left = {
color: "#808080",
behavior: [
"XX|XX|XX",
"XX|XX|CR:a7",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.a6right = {
color: "#808080",
behavior: [
"XX|XX|XX",
"CR:a7|XX|XX",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.a7 = {
color: "#808080",
behavior: [
"XX|XX|XX",
"CR:wall|XX|CR:wall",
"XX|XX|XX",
],
state: "solid",
category: "structures"
};
elements.t2 = {
color: "#808080",
behavior: [
"XX|CR:a5|XX",
"XX|XX|XX",
"XX|CR:a5",
],
state: "solid",
category: "structures"
};
elements.electrical_flamewave_generator = {
color: "#e6a045",
behavior: behaviors.WALL,
behaviorOn: [
"CR:flameshockwave1|CR:flameshockwave2|CR:flameshockwave3",
"CR:flameshockwave4|XX|CR:flameshockwave5",
"CR:flameshockwave6|CR:flameshockwave7|CR:flameshockwave8",
],
state: "solid",
category: "machines",
tempHigh: 2500,
stateHigh: ["molten_steel", "molten_mythril"],
conduct: 1,
};
elements.flameshockwave1 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire AND M1|LB:fire|LB:fire",
"LB:fire|LB:fire AND DL%3.33|LB:fire",
"LB:fire|LB:fire|LB:fire",
],
};
elements.flameshockwave2 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire AND M1|LB:fire",
"LB:fire|LB:fire AND DL%3.33|LB:fire",
"LB:fire|LB:fire|LB:fire",
],
};
elements.flameshockwave3 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire|LB:fire AND M1",
"LB:fire|LB:fire AND DL%3.33|LB:fire",
"LB:fire|LB:fire|LB:fire",
],
};
elements.flameshockwave4 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire|LB:fire",
"LB:fire AND M1|LB:fire AND DL%3.33|LB:fire",
"LB:fire|LB:fire|LB:fire",
],
};
elements.flameshockwave5 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire|LB:fire",
"LB:fire|LB:fire AND DL%3.33|LB:fire AND M1",
"LB:fire|LB:fire|LB:fire",
],
};
elements.flameshockwave6 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire|LB:fire",
"LB:fire|LB:fire AND DL%3.33|LB:fire",
"LB:fire AND M1|LB:fire|LB:fire",
],
};
elements.flameshockwave7 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire|LB:fire",
"LB:fire|LB:fire AND DL%3.33|LB:fire",
"LB:fire|LB:fire AND M1|LB:fire",
],
};
elements.flameshockwave8 = {
color: "#c9c9c9",
category: "special",
behavior: [
"LB:fire|LB:fire|LB:fire",
"LB:fire|LB:fire AND DL%3.33|LB:fire",
"LB:fire|LB:fire|LB:fire AND M1",
],
};
elements.flamebomb = {
color: "#615f55",
category: "machines",
behavior: [
"CR:flameshockwave1|CR:flameshockwave2|CR:flameshockwave3",
"CR:flameshockwave4|DL%10|CR:flameshockwave5",
"CR:flameshockwave6 AND M2|CR:flameshockwave7 AND M1|CR:flameshockwave8 AND M2",
],
state: "solid"
};
/* Unfinished:
magnesium
hematite mixture

View File

@ -29,6 +29,7 @@ elements.copper_concentrate = {
behavior: behaviors.POWDER,
reactions: {
borax: { "elem1": "fluxed_copper_concentrate", "elem2": ["slag",null,null,null,null,null,null,null,null,null] },
limestone: { "elem1": "fluxed_copper_concentrate", "elem2": ["slag",null,null,null,null,null,null,null,null,null] },
},
tempHigh: 1000,
stateHigh: "magma",
@ -59,6 +60,7 @@ elements.matte_copper = {
behavior: behaviors.WALL,
reactions: {
borax: { "elem1": "fluxed_matte_copper", "elem2": ["slag",null,null,null,null,null,null,null,null,null] },
limestone: { "elem1": "fluxed_matte_copper", "elem2": ["slag",null,null,null,null,null,null,null,null,null] },
},
tempHigh: 1050,
stateHigh: "molten_matte_copper",

View File

@ -17,14 +17,13 @@ elements.cum = {
"mud": { "elem1": "cum_water", "elem2": "cummy_mud", "chance": (1/3) }, // cum goes into mud
"sand": { "elem1": null, "elem2": "cummy_sand" }, // cum goes into sand
"wet_sand": { "elem1": "cum_water", "elem2": "cummy_sand", "chance": (1/3) }, // cum goes into wet sand
"acid": { "elem1": "water", "elem2": "cum", "chance": 0.1 }, //cum is basic
"acid": { "elem1": "water", "elem2": ["cum_water", "dead_cum_water", "dead_cum_water", "dead_cum_water", "dead_cum_water"], "chance": 0.1 }, //cum is basic
"slime": { "elem1": "water", "elem2": "cum_slime" }, //cum enters slime
"salt": { "elem1": null, "elem2": "dead_cum" }, //salt kills sperm
"salt_water": { "elem1": "dead_cum_water", "elem2": null }, //killed and diluted
"acid": { "elem1": "water", "elem2": "dead_cum", "chance": 0.2 }, //sperm die from acid, also cum probably has an alkalinity a lot weaker than the acidity of acid, so the amount of cum needed to "neutralize" a small amount of acid wouldn't be diluted much by the small amount of water remaining
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum", "chance": 0.2 }, //sperm die from alcohol, also I'm not implementing alcohol-water mixing
"soap": { "elem1": "soap", "elem2": "dead_cum", "chance": 0.2 }, //sperm die from soap
"radiation": { "elem1": "radiation", "elem2": "dead_cum", "chance": 0.2 }, //sperm die from radiation
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum" }, //sperm die from alcohol, also I'm not implementing alcohol-water mixing
"soap": { "elem1": "soap", "elem2": "dead_cum" }, //sperm die from soap
"radiation": { "elem1": "radiation", "elem2": "dead_cum" }, //sperm die from radiation
},
tempLow: 0,
stateLow: "cum_ice",
@ -49,7 +48,7 @@ elements.dead_cum = {
"mud": { "elem1": "dead_cum_water", "elem2": "dead_cummy_mud", "chance": (1/3) }, // cum goes into mud
"sand": { "elem1": null, "elem2": "dead_cummy_sand" }, // cum goes into sand
"wet_sand": { "elem1": "dead_cum_water", "elem2": "dead_cummy_sand", "chance": (1/3) }, // cum goes into wet sand
"acid": { "elem1": "water", "elem2": "dead_cum", "chance": 0.1 }, //dead cum is still basic
"acid": { "elem1": "water", "elem2": "dead_cum_water" }, //dead cum is still basic
"salt_water": { "elem1": "dead_cum_water", "elem2": "dead_cum_water" }, //salty mixing
"sugar_water": { "elem1": "sugar_water", "elem2": "sugar_water" }, //salty mixing
"salt": { "elem1": null, "elem2": "salt_water" }, //salty mixing
@ -78,12 +77,11 @@ elements.cum_water = {
"sugar": { "elem1": null, "elem2": "cum_water", "chance":0.7 }, //sperm eat sugar
"slime": { "elem1": "water", "elem2": "cum_slime" }, //cum enters slime
"salt": { "elem1": null, "elem2": "dead_cum_water" }, //cum dies
"salt_water": { "elem1": "dead_cum_water", "dead_cum_water": "salt_water", "chance": 0.12 }, //cum dies
"acid": { "elem1": "water", "elem2": "cum", "chance": 0.05 }, //less cum is less basic
"acid": { "elem1": "water", "elem2": "dead_cum_water", "chance": 0.1 }, //sperm die from acid
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_water", "chance": 0.2 }, //alcohol kills things
"soap": { "elem1": "soap", "elem2": "dead_cum_water", "chance": 0.2 }, //soap also kills things
"radiation": { "elem1": "soap", "elem2": "dead_cum_water", "chance": 0.2 }, //so does radiation
"salt_water": { "elem1": ["dead_cum_water", "salt_water"], "elem2": ["dead_cum_water", "salt_water"] }, //cum dies
"acid": { "elem1": ["acid", "water"], "elem2": "water" }, //diluted cum is less effective
"soap": { "elem1": "soap", "elem2": "dead_cum_water" },
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_water" },
"radiation": { "elem1": "radiation", "elem2": "dead_cum_water" },
},
density: 997,
tempHigh: 35,
@ -93,6 +91,7 @@ elements.cum_water = {
viscosity: 8,
category: "cum",
conduct: 0.03,
hidden: true,
},
elements.dead_cum_water = {
name: "dead cum water",
@ -103,15 +102,7 @@ elements.dead_cum_water = {
"M1 AND SW:water,cum,dead_cum_water,dead_cum%5|M1 AND SW:water,cum,dead_cum_water,dead_cum%5|M1 AND SW:water,cum,dead_cum_water,dead_cum%5",
],
reactions: {
"sugar_water": { "elem1": "cum_water", "elem2": "cum_water", "chance":0.7 }, //sperm eat sugar
"dirt": { "elem1": "water", "elem2": "cummy_mud" }, //cum goes into dirt
"sand": { "elem1": "water", "elem2": "cummy_sand" }, // cum goes into sand
"sugar": { "elem1": null, "elem2": "cum_water", "chance":0.7 }, //sperm eat sugar
"slime": { "elem1": "water", "elem2": "cum_slime" }, //cum enters slime
"salt": { "elem1": null, "elem2": "dead_cum_water" }, //cum dies
"acid": { "elem1": "water", "elem2": "dead_cum_water", "chance": 0.05 }, //dead and diluted but still basic
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_water", "chance": 0.2 }, //alcohol kills things
"soap": { "elem1": "soap", "elem2": "dead_cum_water", "chance": 0.2 }, //soap also kills things
"acid": { "elem1": ["acid", "water"], "elem2": "water" }, //diluted cum is less effective
},
density: 997,
tempHigh: 100,
@ -143,11 +134,10 @@ elements.cum_ice = {
color: "#cfe2e6",
behavior: behaviors.WALL,
reactions: {
"acid": { "elem1": "water", "elem2": "cum_ice", "chance": 0.2 }, //frozen bases are still basic
"acid": { "elem1": "water", "elem2": "dead_cum_ice", "chance": 0.2 }, //sperm die from acid
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_ice", "chance": 0.2 }, //alcohol kills things
"soap": { "elem1": "soap", "elem2": "dead_cum_ice", "chance": 0.2 }, //soap also kills things
"radiation": { "elem1": "soap", "elem2": "dead_cum_ice", "chance": 0.2 }, //so does radiation
"acid": { "elem1": "water", "elem2": ["cum_water_ice", "dead_cum_water_ice", "dead_cum_water_ice", "dead_cum_water_ice", "dead_cum_water_ice"] }, //frozen bases are still basic
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_ice" }, //alcohol kills things
"soap": { "elem1": "soap", "elem2": "dead_cum_ice" }, //soap also kills things
"radiation": { "elem1": "radiation", "elem2": "dead_cum_ice" }, //so does radiation
},
density: 917,
temp: 0,
@ -160,24 +150,24 @@ elements.cum_water_ice = {
color: "#cae3e8",
behavior: behaviors.WALL,
reactions: {
"acid": { "elem1": "water", "elem2": "cum_water_ice", "chance": 0.05 }, //frozen bases are still basic
"acid": { "elem1": "water", "elem2": "dead_cum_water_ice", "chance": 0.1 }, //sperm die from acid
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_water_ice", "chance": 0.2 }, //alcohol kills things
"soap": { "elem1": "soap", "elem2": "dead_cum_water_ice", "chance": 0.2 }, //soap also kills things
"radiation": { "elem1": "soap", "elem2": "dead_cum_water_ice", "chance": 0.2 }, //so does radiation
"acid": { "elem1": ["water", "acid"], "elem2": "ice" }, //less concentrated frozen bases are less basic then more concentrated frozen bases
"alcohol": { "elem1": "alcohol", "elem2": "dead_cum_water_ice" }, //alcohol kills things
"soap": { "elem1": "soap", "elem2": "dead_cum_water_ice" }, //soap also kills things
"radiation": { "elem1": "radiation", "elem2": "dead_cum_water_ice" }, //so does radiation
},
density: 917,
temp: 0,
tempHigh: 5,
stateHigh: "cum_water",
category: "cum",
hidden: true,
},
elements.dead_cum_ice = {
name: "dead frozen cum",
color: "#d5d5ec",
behavior: behaviors.WALL,
reactions: {
"acid": { "elem1": "water", "elem2": "dead_cum_ice", "chance": 0.1 },
"acid": { "elem1": "water", "elem2": "dead_cum_water_ice" },
},
density: 917,
temp: 0,
@ -191,7 +181,7 @@ elements.dead_cum_water_ice = {
color: "#e2e2e7",
behavior: behaviors.WALL,
reactions: {
"acid": { "elem1": "water", "elem2": "dead_cum_water_ice", "chance": 0.05 },
"acid": { "elem1": ["acid", "water"], "elem2": "ice" },
},
density: 917,
temp: 0,
@ -211,8 +201,10 @@ elements.cummy_mud = {
reactions: {
"water": { "elem1": "mud", "elem2": "cum_water", "chance": (3/4) },
"water": { "elem2": "mud", "elem2": "cum" },
"acid": { "elem1": "water", "elem2": "cummy_mud", "chance": 0.1 },
"acid": { "elem1": "water", "elem2": "dead_cummy_mud", "chance": 0.2 },
"acid": { "elem1": ["acid", "water"], "elem2": "mud" },
"soap": { "elem1": "soap", "elem2": "dead_cummy_mud" },
"alcohol": { "elem1": "alcohol", "elem2": "dead_cummy_mud" },
"radiation": { "elem1": "radiation", "elem2": "dead_cummy_mud" },
},
tempLow: -50,
stateLow: "cummy_permafrost",
@ -221,6 +213,7 @@ elements.cummy_mud = {
category:"cum",
state:"solid",
density: 1740,
hidden: true,
},
elements.cummy_sand = {
name: "cummy sand",
@ -233,14 +226,17 @@ elements.cummy_sand = {
reactions: {
"water": { "elem1": "sand", "elem2": "cum_water", "chance": (3/4) },
"water": { "elem2": "sand", "elem2": "cum" },
"acid": { "elem1": "water", "elem2": "cummy_sand", "chance": 0.1 },
"acid": { "elem1": "water", "elem2": "dead_cummy_sand", "chance": 0.2 },
"acid": { "elem1": ["acid", "water"], "elem2": "wet_sand" },
"soap": { "elem1": "soap", "elem2": "dead_cummy_sand" },
"alcohol": { "elem1": "alcohol", "elem2": "dead_cummy_sand" },
"radiation": { "elem1": "radiation", "elem2": "dead_cummy_sand" },
},
tempHigh: 35,
stateHigh: "dead_cummy_sand",
category: "cum",
state: "solid",
density: 1915,
hidden: true,
},
elements.dead_cummy_mud = {
name: "dead cummy mud",
@ -253,10 +249,10 @@ elements.dead_cummy_mud = {
reactions: {
"water": { "elem1": "mud", "elem2": "dead_cum_water", "chance": 0.15 },
"water": { "elem2": "mud", "elem2": "dead_cum", "chance": 0.05 },
"acid": { "elem1": "water", "elem2": "dead_cummy_mud", "chance": 0.2 },
"acid": { "elem1": ["acid", "water"], "elem2": "mud" },
},
tempLow: -50,
stateLow: "permafrost",
stateLow: "dead_cummy_permafrost",
tempHigh: 100,
stateHigh: "mudstone",
category:"cum",
@ -275,7 +271,7 @@ elements.dead_cummy_sand = {
reactions: {
"water": { "elem1": "wet_sand", "elem2": "dead_cum_water", "chance": 0.15 },
"water": { "elem2": "wet_sand", "elem2": "dead_cum", "chance": 0.05 },
"acid": { "elem1": "water", "elem2": "dead_cummy_sand", "chance": 0.2 },
"acid": { "elem1": ["acid", "water"], "elem2": "wet_sand" },
},
tempHigh: 100,
stateHigh: "packed_sand",
@ -293,7 +289,7 @@ elements.cum_slime = {
state: "liquid",
reactions: {
"water": { "elem1": "cum_water", "elem2": "slime", "chance": (1/5) },
"acid": { "elem1": "water", "elem2": "cum_slime", "chance": 0.1 },
"acid": { "elem1": ["acid", "water"], "elem2": "slime" },
},
density: 1470,
tempHigh: 150,
@ -313,14 +309,14 @@ elements.cummy_snake = {
elements.penis = {
color: "#9c5e5f",
behavior: [
"XX|CR:cum%6|XX",
"CR:cum%6|XX|CR:cum%6",
"XX|CR:cum%6|XX",
"XX|CR:cum,cum,cum,precum%6|XX",
"CR:cum,cum,cum,precum%6|XX|CR:cum,cum,cum,precum%6",
"XX|CR:cum,cum,cum,precum%6|XX",
],
behaviorOn: [
"CR:cum%10|CR:cum%10|CR:cum%10",
"CR:cum%10|XX|CR:cum%10",
"CR:cum%10|CR:cum%10|CR:cum%10",
"precum_ice%10|CR:cum,cum,cum,cum,precum%10|precum_ice%10",
"precum_ice%10|XX|precum_ice%10",
"precum_ice%10|precum_ice%10|precum_ice%10",
],
rotatable: false,
category: "cum",
@ -332,12 +328,68 @@ elements.cummy_permafrost = {
name: "cummy permafrost",
color: "#86b5a5",
behavior: behaviors.SUPPORT,
reactions: {
"acid": { "elem1": ["acid", "water"], "elem2": "permafrost" },
"soap": { "elem1": "soap", "elem2": "dead_cummy_permafrost" },
"alcohol": { "elem1": "alcohol", "elem2": "dead_cummy_permafrost" },
"radiation": { "elem1": "radiation", "elem2": "dead_cummy_permafrost" },
},
temp: -50,
tempHigh: 0,
stateHigh: "cummy_mud",
category: "cum",
hidden: true,
}
// Add reactions to existing elements
elements.dead_cummy_permafrost = {
name: "dead cummy permafrost",
color: "#b4bfbb",
behavior: behaviors.SUPPORT,
reactions: {
"acid": { "elem1": ["acid", "water"], "elem2": "permafrost" },
},
temp: -50,
tempHigh: 0,
stateHigh: "dead_cummy_mud",
category: "cum",
hidden: true,
}
elements.precum = {
name: "pre-cum",
color: "#d0d0d0",
behavior: [
"ST%50 AND SW:water,cum%15|ST%50 AND SW:water,cum%15|XX AND ST%50 AND SW:water,cum%15",
"M2 AND ST%65 AND SW:water,cum%15|XX|M2 AND ST%65 AND SW:water,cum%15",
"M1 AND ST%80 AND SW:water,cum%15|M1 AND ST%80 AND SW:water,cum%15|M1 AND ST%80 AND SW:water,cum%15",
],
density: 997,
tempHigh: 100,
stateHigh: "steam",
reactions: {
"acid": { "elem1": "water", "elem2": ["precum", "precum", "precum", "precum", "precum", "precum", "precum", "water", "water", "water"] }, //precum is still basic
},
tempLow: 0,
stateLow: "precum_ice",
viscosity: 20,
category:"cum",
},
elements.precum_ice = {
name: "frozen pre-cum",
color: "#e0e4f0",
behavior: behaviors.WALL,
density: 917,
tempHigh: 0,
stateHigh: "precum",
reactions: {
"acid": { "elem1": "water", "elem2": ["precum_ice", "precum_ice", "precum_ice", "precum_ice", "precum_ice", "precum_ice", "precum_ice", "ice", "ice", "ice"] },
},
viscosity: 20,
category:"cum",
hidden: true,
},
elements.precum.conduct = elements.water.conduct;
// Adding reactions to existing elements
if (!elements.fly.reactions) {
elements.fly.reactions = {}
}
@ -362,33 +414,107 @@ elements.fish.reactions.dead_cum = { "elem1":"fish", "elem2":"dead_cum_water" }
elements.fish.reactions.dead_cum_water = { "elem1":"fish", "elem2":"water" }
elements.cell.reactions.cum = { "elem1":"cum", "chance":0.01 }
elements.acid.ignore.push("water")
runAfterLoad(function() {
if(enabledMods.includes("mods/fey_and_more.js")) {
eLists.IMPURITY.push("cum");
eLists.IMPURITY.push("cum_water");
eLists.IMPURITY.push("cum_ice");
eLists.IMPURITY.push("cum_water_ice");
eLists.IMPURITY.push("dead_cum");
eLists.IMPURITY.push("dead_cum_water");
eLists.IMPURITY.push("dead_cum_ice");
eLists.IMPURITY.push("dead_cum_water_ice");
eLists.IMPURITY.push("cummy_mud");
eLists.IMPURITY.push("dead_cummy_mud");
eLists.IMPURITY.push("cummy_sand");
eLists.IMPURITY.push("dead_cummy_sand");
eLists.IMPURITY.push("cummy_permafrost");
eLists.IMPURITY.push("cummy_snake");
eLists.IMPURITY.push("cum_slime");
eLists.IMPURITY.push("burnt_cum");
elements.pure_water.behavior = [
"DL:"+eLists.IMPURITY+"|DL:"+eLists.IMPURITY+"|DL:"+eLists.IMPURITY+"",
"DL:"+eLists.IMPURITY+" AND M2|XX|DL:"+eLists.IMPURITY+" AND M2",
"DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1",
],
elements.pure_steam.behavior = [
"M2 AND DL:"+eLists.IMPURITY+"|M1 AND DL:"+eLists.IMPURITY+"|M2 AND DL:"+eLists.IMPURITY+"",
"M1 AND DL:"+eLists.IMPURITY+"|XX|M1 AND DL:"+eLists.IMPURITY+"",
"M2 AND DL:"+eLists.IMPURITY+"|M1 AND DL:"+eLists.IMPURITY+"|M2 AND DL:"+eLists.IMPURITY+"",
]
};
//cum elements as impurities {
eLists.IMPURITY.push("cum");
eLists.IMPURITY.push("cum_water");
eLists.IMPURITY.push("cum_ice");
eLists.IMPURITY.push("precum");
eLists.IMPURITY.push("precum_ice");
eLists.IMPURITY.push("cum_water_ice");
eLists.IMPURITY.push("dead_cum");
eLists.IMPURITY.push("dead_cum_water");
eLists.IMPURITY.push("dead_cum_ice");
eLists.IMPURITY.push("dead_cum_water_ice");
eLists.IMPURITY.push("cummy_mud");
eLists.IMPURITY.push("dead_cummy_mud");
eLists.IMPURITY.push("cummy_sand");
eLists.IMPURITY.push("dead_cummy_sand");
eLists.IMPURITY.push("cummy_permafrost");
eLists.IMPURITY.push("dead_cummy_permafrost");
eLists.IMPURITY.push("cummy_snake");
eLists.IMPURITY.push("cum_slime");
eLists.IMPURITY.push("burnt_cum");
eLists.IMPURITY.push("cum_fairy");
//}
//regenerate behaviors of elements that use eLists.IMPURITY {
elements.pure_water.behavior = [
"DL:"+eLists.IMPURITY+"|DL:"+eLists.IMPURITY+"|DL:"+eLists.IMPURITY+"",
"DL:"+eLists.IMPURITY+" AND M2|XX|DL:"+eLists.IMPURITY+" AND M2",
"DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1",
];
elements.pure_steam.behavior = [
"M2 AND DL:"+eLists.IMPURITY+"|M1 AND DL:"+eLists.IMPURITY+"|M2 AND DL:"+eLists.IMPURITY+"",
"M1 AND DL:"+eLists.IMPURITY+"|XX|M1 AND DL:"+eLists.IMPURITY+"",
"M2 AND DL:"+eLists.IMPURITY+"|M1 AND DL:"+eLists.IMPURITY+"|M2 AND DL:"+eLists.IMPURITY+"",
];
//}
//cum fairy {
elements.cum_fairy = {
color: ["#e3e3cf", "#f4f7de", "#f4f3e3", "#e0e0dd"],
state: "solid",
behavior: [
"XX|M1|M1",
"XX|FX%5|XX",
"XX|CR:cum%0.5 AND CR:fairy_dust%0.005 AND M1|M1",
],
category: "fey",
};
//}
//eList rebuilding {
eLists.FAIRY.push("cum_fairy");
elements.iron.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX"
];
elements.silver.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX"
];
//}
//concoction support (it's all mistakes) {
elements.concoction.reactions.cum = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cum_water = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cum_ice = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.precum = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.precum_ice = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cummy_ice = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cum = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cum_water = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cum_ice = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cummy_ice = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cummy_mud = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cummy_sand = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cummy_permafrost = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cummy_mud = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cummy_sand = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.dead_cummy_permafrost = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.burnt_cum = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cum_slime = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.cummy_snake = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.penis = { "elem1": "mistake", "elem2": null }
//}
//cum fairy creation {
elements.fairy.reactions.cum = { "elem1": "cum_fairy" }
//}
};
if(enabledMods.includes("mods/fey_and_more.js") && enabledMods.includes("mods/randomness.js")) {
//additional eList rebuilding for RM steel derivatives
elements.tungstensteel.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX",
],
elements.molten_tungstensteel.behavior = [
"XX|DL:"+eLists.FAIRY+" AND CR:fire%2.5|XX",
"DL:"+eLists.FAIRY+" AND M2|XX|DL:"+eLists.FAIRY+" AND M2",
"M1|DL:"+eLists.FAIRY+"|M1",
]
};
});

1729
mods/fairy_chain.js Normal file

File diff suppressed because it is too large Load Diff

102
mods/more_fairies.js Normal file
View File

@ -0,0 +1,102 @@
if(enabledMods.includes("mods/fey_and_more.js")) {
elements.acid_fairy = {
name: "acid fairy",
color: ["#e2f777","#d1ff94","#d8f7c1"],
behavior: [
"XX|M1|M1",
"XX|FX%5|XX",
"XX|CR:acid%0.5 AND CR:fairy_dust%0.005 AND M1|M1",
],
state: "solid",
category: "fey",
}
elements.oil_fairy = {
name: "oil fairy",
color: ["#636360","#a6956f","#a3816d","#cfc191"],
behavior: [
"XX|M1|M1",
"XX|FX%5|XX",
"XX|CR:oil%0.5 AND CR:fairy_dust%0.005 AND M1|M1",
],
state: "solid",
category: "fey",
}
elements.honey_fairy = {
name: "honey fairy",
color: ["#ffeaa6","#ffe987","#f2e7c2"],
behavior: [
"XX|M1|M1",
"XX|FX%5|XX",
"XX|CR:honey%0.5 AND CR:fairy_dust%0.005 AND M1|M1",
],
state: "solid",
category: "fey",
}
}
elements.acid.ignore.push("fairy")
elements.acid.ignore.push("fairy_dust")
elements.acid.ignore.push("acid_fairy")
runAfterLoad(function() {
if(enabledMods.includes("mods/fey_and_more.js")) {
//eList rebuilding {
eLists.FAIRY.push("acid_fairy");
eLists.FAIRY.push("oil_fairy");
eLists.FAIRY.push("honey_fairy");
elements.iron.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX"
];
elements.silver.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX"
];
//}
elements.fairy.reactions.acid = { "elem1": "acid_fairy", "elem2": null }
elements.fairy.reactions.oil = { "elem1": "oil_fairy", "elem2": null }
elements.fairy.reactions.honey = { "elem1": "honey_fairy", "elem2": null }
};
if(enabledMods.includes("mods/fey_and_more.js") && enabledMods.includes("mods/randomness.js")) {
elements.warp_fairy = {
name: "warp fairy",
color: ["#332f33","#3b3b3b","#413f4a"],
behavior: [
"XX|M1|M1",
"XX|FX%5|XX",
"XX|CR:warp%0.4 AND CR:fairy_dust%0.005 AND M1|M1",
],
state: "solid",
category: "fey",
}
elements.fairy.reactions.warp = { "elem1": "warp_fairy", "elem2": null }
eLists.FAIRY.push("warp_fairy");
elements.iron.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX"
];
elements.silver.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX"
];
elements.tungstensteel.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",
"DL:"+eLists.FAIRY+"|XX|DL:"+eLists.FAIRY+"",
"XX|DL:"+eLists.FAIRY+"|XX",
],
elements.molten_tungstensteel.behavior = [
"XX|DL:"+eLists.FAIRY+" AND CR:fire%2.5|XX",
"DL:"+eLists.FAIRY+" AND M2|XX|DL:"+eLists.FAIRY+" AND M2",
"M1|DL:"+eLists.FAIRY+"|M1",
]
};
});

32513
mods/nv7.js Executable file

File diff suppressed because it is too large Load Diff

463
mods/random_elems.js Normal file
View File

@ -0,0 +1,463 @@
elements.ogqWWRKo = {
color: "#b5f134",
behavior: [
"DB|XX|XX",
"CH:molten_silver>antifire|XX|BO",
"SA|SA|XX",
],
category: "random",
burn: 57,
burnTime: 451,
tempHigh: 1055,
density: 6632.184014557264,
}
elements.KIBiFwpD = {
color: "#b8a3a5",
behavior: [
"XX|RT|CH:light%32",
"SW|DL%25|SH",
"DB|SH|SW:firefly",
],
category: "random",
density: 1382.2019914825285,
}
elements.SEzhorqQ = {
color: "#f8f19c",
behavior: [
"DB|XX|M1",
"SA|CH:wheat%23|ST",
"M1|CH:molten_bronze>charcoal|XX",
],
category: "random",
burn: 26,
burnTime: 228,
density: 11054.763724436774,
}
elements.bGceLthV = {
color: "#2a8885",
behavior: [
"CC:#ec80f8|XX|ST",
"SW:salt|HT:10|RT",
"CH:glitter%4|SH|SW:salt",
],
reactions: {
"meat": { "elem1":"mushroom_stalk", "elem2":"bee", "chance":0.07255393753591068 },
"ball": { "elem1":"frog", "elem2":"acid_gas", "chance":0.8120527233695284 },
"antimatter": { "elem1":"molten_salt", "elem2":"dirty_water", "chance":0.18656242174277482 },
"burner": { "elem1":"electric", "elem2":"charcoal", "chance":0.9864527094278326 },
"oil": { "elem1":"epsom_salt", "elem2":"bamboo_plant", "chance":0.7298237285611298 },
},
category: "random",
density: 1446.9471325970142,
}
elements.hpWfukAK = {
color: "#f22c87",
behavior: [
"XX|SW:bronze|SW",
"CR:cancer|LB:slug|CO:1",
"BO|SW:bronze|BO",
],
category: "random",
burn: 71,
burnTime: 449,
density: 10877.887548154851,
}
elements.GgYSMbID = {
color: "#81ff73",
behavior: [
"SW|CR:molten_sterling|BO",
"DL:magma|C2:wood|XX",
"CC:#de4dbe|XX|DL:magma",
],
reactions: {
"slug": { "elem1":"mushroom_cap", "elem2":"plastic", "chance":0.7318844051213007 },
"wheat": { "elem1":"frozen_meat", "elem2":"mushroom_spore", "chance":0.7895678110819928 },
"sulfur": { "elem1":"caramel", "elem2":"liquid_hydrogen", "chance":0.8659314154325147 },
"bamboo_plant": { "elem1":"magma", "elem2":"glitter", "chance":0.5424222221105207 },
},
category: "random",
tempHigh: 2956,
density: 6284.617729241624,
}
elements.FpNkluKG = {
color: "#a68793",
behavior: [
"DB|DL:calcium|DB",
"SW|LB:algae|ST",
"DL:calcium|HT:4|CR:copper",
],
reactions: {
"dirt": { "elem1":"sand", "elem2":"water", "chance":0.9366010380552752 },
},
category: "random",
tempHigh: 1300,
density: 3828.9615486132043,
}
elements.EfgTDvzx = {
color: "#96ca55",
behavior: [
"SA|CO:7|SH",
"SW:potato_seed|L2:slaked_lime|CH:sugar_water>soap",
"BO|CC:#0bd2dd|CO:7",
],
category: "random",
density: 18274.111700368052,
}
elements.QACWIVPp = {
color: "#8f57c0",
behavior: [
"HT:8|CH:quicklime>copper|CR:dioxin",
"CC:#f64cc7|L1:mudstone|M2",
"CH:quicklime>copper|RT|CH:firefly%3",
],
category: "random",
density: 12926.310301027497,
}
elements.qFgDRSAY = {
color: "#c06b4e",
behavior: [
"CC:#bb68ee|DB|DL:molten_brick",
"CR:iron|CO:1|M1",
"CO:1|M2|SP",
],
category: "random",
burn: 50,
burnTime: 376,
density: 17821.827734771083,
}
elements.QbeSGuOy = {
color: "#4b9513",
behavior: [
"CC:#39d412|CO:10|CO:10",
"HT:5|FY|SW:snow_cloud",
"M1|SH|CO:10",
],
reactions: {
"ant": { "elem1":"tin", "elem2":"acid", "chance":0.015683479804684108 },
"liquid_hydrogen": { "elem1":"molten_calcium", "elem2":"tinder", "chance":0.5541216729460897 },
"molten_borax": { "elem1":"wall", "elem2":"bee", "chance":0.037733528661837115 },
"rock": { "elem1":"wire", "elem2":"wall", "chance":0.5515341715699367 },
"chocolate": { "elem1":"wet_sand", "elem2":"bamboo_plant", "chance":0.34082969121459494 },
"vinegar": { "elem1":"rock", "elem2":"flour", "chance":0.3551432786489651 },
"molten_iron": { "elem1":"led_r", "elem2":"udder", "chance":0.2856279501232143 },
"floating_cloner": { "elem1":"udder", "elem2":"copper", "chance":0.3669477762812875 },
"cancer": { "elem1":"yeast", "elem2":"bone_marrow", "chance":0.7241288621811043 },
},
category: "random",
burn: 34,
burnTime: 408,
density: 7097.343018249547,
}
elements.oMsDvDdH = {
color: "#e2d948",
behavior: [
"HT:8|RT|M1",
"ST|L1:chocolate_syrup|M2",
"SA|CR:flea|SH",
],
category: "random",
burn: 98,
conduct: 0.6023663023285293,
burnTime: 199,
tempHigh: 2767,
density: 10910.501840659097,
}
elements.IzhSEMYl = {
color: "#7fafff",
behavior: [
"ST|SW:clay_soil|CO:11",
"SA|LB:infection|BO",
"SW:clay_soil|SW:clay_soil|CR:dough",
],
category: "random",
density: 2810.029487411252,
}
elements.AyvnmLRQ = {
color: "#668a95",
behavior: [
"HT:1|M2|SA",
"CR:molten_nickel|CH:light%6|CO:4",
"SP|HT:1|SW:liquid_oxygen",
],
category: "random",
tempHigh: 893,
density: 11509.655636160245,
}
elements.pJRDtuTA = {
color: "#b12040",
behavior: [
"BO|SW:sodium_acetate|CO:1",
"BO|L1:laser|CC:#e40c6e",
"SW:sodium_acetate|SW|BO",
],
category: "random",
conduct: 0.33534106397322677,
density: 18826.565148369646,
}
elements.QodfMdFo = {
color: "#fe530b",
behavior: [
"ST|DL:cheese|RT",
"DB|FX|HT:11",
"CH:molten_sterling>wood|SP|CR:molten_iron",
],
category: "random",
conduct: 0.3465345689563781,
density: 11140.091847406393,
}
elements.rWWkMgJN = {
color: "#2eeaa0",
behavior: [
"CR:ant|CH:salt%7|DB",
"DL:freezer|FX|XX",
"CC:#c82b89|BO|HT:5",
],
category: "random",
conduct: 0.698741020714595,
tempHigh: 2686,
density: 17409.619803480866,
}
runAfterLoad(function() {
if(enabledMods.includes("mods/chalcopyrite.js") && enabledMods.includes("mods/extra_element_info.js") && enabledMods.includes("mods/fey_and_more.js") && enabledMods.includes("mods/ketchup_mod.js") && enabledMods.includes("mods/test.js") && enabledMods.includes("mods/randomness.js") && enabledMods.includes("mods/Neutronium Mod.js") && enabledMods.includes("mods/test2.js") && enabledMods.includes("mods/fairy_chain.js") && enabledMods.includes("mods/cum.js") && enabledMods.includes("mods/random_elems.js") && enabledMods.includes("mods/sus.js")) {
elements.yckRMplh = {
color: "#0807ad",
behavior: [
"XX|DL:dead_cum_water|CR:firesea",
"SH|HT:11|M2",
"BO|SH|M2",
],
reactions: {
"fairy_fairy_fairy_fairy": { "elem1":"molten_uranium", "elem2":"tritium", "chance":0.4602898017566186 },
"fluxed_matte_copper": { "elem1":"pure_water", "elem2":"enchanted_ketchup", "chance":0.8272186749812657 },
"molten_neutronium": { "elem1":"amogus9", "elem2":"fallout", "chance":0.9302153671106638 },
"bone_beast": { "elem1":"celie_leaves", "elem2":"dirt", "chance":0.3741482072147079 },
"fairy_fairy": { "elem1":"led_g", "elem2":"smoke", "chance":0.29352648263376613 },
"fairy_fairy_fairy": { "elem1":"old_celie_leaves", "elem2":"green_dye", "chance":0.5993662901794029 },
"flamer": { "elem1":"amogus1", "elem2":"brass", "chance":0.5319076167877976 },
},
category: "random",
tempHigh: 537,
density: 9215.024069840034,
}
elements.urhhhqJS = {
color: "#31a6bf",
behavior: [
"M2|CH:anesthesia%7|CH:anesthesia%7",
"SH|L1:sugar|CC:#55eda7",
"M1|DL:t_center|M2",
],
category: "random",
density: 373.9243313453792,
}
elements.BUDGKClj = {
color: "#ba657f",
behavior: [
"DL:blister_copper|SW:fire_fairy|XX",
"SA|CC:#3e65ab|ST",
"CC:#3e65ab|SP|CC:#3e65ab",
],
category: "random",
burn: 5,
burnTime: 480,
tempHigh: 2895,
density: 4123.593585708072,
}
elements.yzKluohO = {
color: "#3e297d",
behavior: [
"RT|CH:molten_borax>anesthesia|M2",
"M1|DL%11|SW:molten_amogus1",
"M2|CC:#0d4b06|SA",
],
category: "random",
burn: 22,
burnTime: 172,
tempHigh: 2838,
density: 16097.788434828502,
}
elements.PCQAHdkE = {
color: "#425618",
behavior: [
"CR:molten_uranium|CO:4|CH:led_b%10",
"DL:magic|HT:11|ST",
"SP|SP|SW:cocoon",
],
category: "random",
density: 6338.489583058846,
}
elements.ywDgKHcr = {
color: "#1bb24d",
behavior: [
"SW:fly|SW|CR:burning_unnamed_powder",
"CO:9|CC:#71a6b1|CH:fairy_fairy_fairy_fairy>amogus3",
"BO|XX|CH:bone%6",
],
category: "random",
conduct: 0.18249512087981343,
tempHigh: 2926,
density: 5349.2882949054265,
}
elements.ACsjdBSP = {
color: "#c25375",
behavior: [
"CH:antigas>fairy_fairy_fairy_fairy|BO|XX",
"DL:chocolate|CH:fairy_fairy_fairy%10|BO",
"SW:tree_branch|XX|SW:tree_branch",
],
category: "random",
density: 19429.0198815719,
}
elements.BXXBBUgd = {
color: "#63fb15",
behavior: [
"DB|SH|DB",
"XX|XX|SW:aluminum",
"SW|SW|CH:a4left%7",
],
category: "random",
density: 11933.76730202344,
}
elements.KkHXGSiW = {
color: "#30ee04",
behavior: [
"SW:molten_copper|CH:fairy_fairy_fairy%8|SW:molten_copper",
"XX|DL%5|ST",
"CH:dead_cum>molten_tungstensteel|DB|DL:fairy",
],
reactions: {
"led_r": { "elem1":"ketchup_metal", "elem2":"mystic_fire", "chance":0.032394734075084766 },
"plague": { "elem1":"flameshockwave3", "elem2":"stardust", "chance":0.13908761952404325 },
"blood": { "elem1":"rocket", "elem2":"fairy_fairy_fairy", "chance":0.16814629599115316 },
"yeast": { "elem1":"oil", "elem2":"juice", "chance":0.9787877797027756 },
"stardust": { "elem1":"molten_AyvnmLRQ", "elem2":"fairy_fairy", "chance":0.18375417180105702 },
"cooler": { "elem1":"celie_leaves", "elem2":"corn_seed", "chance":0.15359338811668444 },
},
category: "random",
burn: 60,
burnTime: 491,
density: 6333.626319914362,
}
elements.GQYHBMuQ = {
color: "#3e3969",
behavior: [
"CR:flea|CH:led_b%5|BO",
"SW|CC:#aaf599|SW:molten_dirt",
"SW|ST|SW",
],
category: "random",
tempHigh: 2972,
density: 3881.977856937143,
}
elements.OOKIoObo = {
color: "#f072da",
behavior: [
"SW|SW|DL:fairy_fairy_fairy_fairy",
"RT|XX|SW:copper",
"BO|XX|XX",
],
category: "random",
density: 34.228020163470646,
}
elements.qQNuEjNT = {
color: "#0a4f5d",
behavior: [
"BO|CH:tin>udder|ST",
"CH:molten_amogus7%1|DL%9|SW:magma",
"M1|XX|XX",
],
category: "random",
burn: 47,
burnTime: 183,
tempHigh: 2096,
density: 9679.340844240462,
}
elements.HgSHruqE = {
color: "#d59786",
behavior: [
"HT:3|M1|RT",
"XX|FY|RT",
"M2|CC:#885997|M1",
],
category: "random",
burn: 85,
burnTime: 90,
tempHigh: 346,
density: 11697.491509311361,
}
elements.hyVrNXQQ = {
color: "#a214b9",
behavior: [
"SW|XX|CH:dead_cum_water%2",
"CO:4|LB:molten_amogus4|CH:fairy_fairy>molten_potassium_salt",
"CH:fairy_fairy_fairy_fairy>molten_potassium_salt|CR:rainbow|CR:rainbow",
],
reactions: {
"fairy_fairy_fairy": { "elem1":"concoction", "elem2":"straw", "chance":0.17509068546150386 },
},
category: "random",
burn: 69,
burnTime: 76,
tempHigh: 1122,
density: 7158.798415310327,
}
elements.xxYsTXnM = {
color: "#763817",
behavior: [
"XX|SW|CC:#210b1d",
"SW:blue_dye|CO:6|SW:blue_dye",
"SW:blue_dye|HT:9|XX",
],
category: "random",
tempHigh: 2187,
density: 15160.604263202209,
}
elements.SowljGtd = {
color: "#c554eb",
behavior: [
"BO|XX|DL:t2",
"XX|FY|XX",
"XX|SW:ionized_hydrogen|HT:8",
],
reactions: {
"petal": { "elem1":"fairy_fairy_fairy", "elem2":"molten_sterling", "chance":0.13858328633550154 },
"fairy_fairy_fairy_fairy": { "elem1":"glass_shard", "elem2":"oxidized_copper", "chance":0.8228073223526745 },
"molten_corrupt_land": { "elem1":"everfire_dust", "elem2":"matte_copper", "chance":0.6538956182983582 },
"tralphium": { "elem1":"ice_fairy", "elem2":"mycelium", "chance":0.015319150698328909 },
"tritium": { "elem1":"molten_zinc", "elem2":"fairy_fairy", "chance":0.13333787328877345 },
},
category: "random",
burn: 82,
conduct: 0.5267298783471723,
burnTime: 313,
density: 10531.689830022671,
}
elements.giVRBDjd = {
color: "#c08adf",
behavior: [
"SH|DB|M1",
"BO|CH:slug%9|XX",
"M1|RT|SP",
],
category: "random",
density: 8965.264917972576,
}
};
});

View File

@ -208,6 +208,142 @@ elements.molten_tungstensteel = {
]
}
elements.rm_water_balloon = {
name: "water balloon",
color: "#3dc2ff",
behavior: [
"XX|M2|XX",
"XX|C2:wb3|XX",
"XX|M1|XX",
],
tempHigh: 180,
stateHigh: ["steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "steam", "plastic"],
tempLow: 0,
stateLow: ["ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "ice", "plastic"],
category: "special",
state: "solid",
density: 997,
}
elements.wb3 = {
name: "wb3",
color: "#0856ff",
behavior: [
"XX|CR:wb2|XX",
"CR:wb2|CH:wb2|CR:wb2",
"XX|CR:wb2|XX",
],
tempHigh: 100,
stateHigh: "steam",
tempLow: 0,
stateLow: "ice",
category: "liquid",
state: "solid",
density: 997,
hidden: true,
}
elements.wb2 = {
name: "wb2",
color: "#145fff",
behavior: [
"XX|CR:wb1|XX",
"CR:wb1|CH:wb1|CR:wb1",
"XX|CR:wb1|XX",
],
tempHigh: 100,
stateHigh: "steam",
tempLow: 0,
stateLow: "ice",
category: "special",
state: "liquid",
density: 997,
hidden: true,
}
elements.wb1 = {
name: "wb1",
color: "#2167ff",
behavior: [
"XX|CR:water|XX",
"CR:water|CH:water|CR:water",
"XX|CR:water|XX",
],
tempHigh: 100,
stateHigh: "steam",
tempLow: 0,
stateLow: "ice",
category: "special",
state: "liquid",
density: 997,
hidden: true,
}
elements.rm_lava_balloon = {
name: "lava balloon",
color: "#ffab36",
behavior: [
"XX|M2|XX",
"XX|C2:lb3|XX",
"XX|M1|XX",
],
temp: 950,
category: "special",
state: "solid",
density: 2725,
}
elements.lb3 = {
name: "lb3",
color: "#ff8c00",
behavior: [
"XX|CR:lb2|XX",
"CR:lb2|CH:lb2|CR:lb2",
"XX|CR:lb2|XX",
],
temp: 950,
tempLow: 800,
stateLow: "rock",
category: "liquid",
state: "solid",
density: 2725,
hidden: true,
}
elements.lb2 = {
name: "lb2",
color: "#ff6f00",
behavior: [
"XX|CR:lb1|XX",
"CR:lb1|CH:lb1|CR:lb1",
"XX|CR:lb1|XX",
],
temp: 950,
tempLow: 800,
stateLow: "rock",
category: "special",
state: "liquid",
density: 2725,
hidden: true,
}
elements.lb1 = {
name: "lb1",
color: "#ff4d00",
behavior: [
"XX|CR:magma|XX",
"CR:magma|CH:magma|CR:magma",
"XX|CR:magma|XX",
],
tempLow: 800,
tempLow: 800,
stateLow: "rock",
category: "special",
state: "liquid",
density: 2725,
hidden: true,
}
runAfterLoad(function() {
elements.tungstensteel.behavior = [
"XX|DL:"+eLists.FAIRY+"|XX",

92
mods/sus.js Normal file
View File

@ -0,0 +1,92 @@
function createSus(right, top) {
return {
color: "#ff0000",
behavior: [
`XX|CR:${top} AND CH:${top}|XX`,
`XX|XX|CR:${right} AND CH:${right}`,
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
}
}
function createSusTop(top) {
return {
color: "#ff0000",
behavior: [
`XX|CR:${top} AND CH:${top}|XX`,
`XX|XX|DL`,
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
}
}
function createSusTopRow(right) {
return {
color: "#ff0000",
behavior: [
`XX|CR:top AND CH:top|XX`,
`XX|XX|CR:${right} AND CH:${right}`,
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
}
}
elements.sus = createSus("sus2", "sus4")
elements.sus.behavior[2] = "XX|M1|XX"
elements.sus.hidden = false
elements.sus2 = createSus("sus3", "sus5")
elements.sus3 = createSusTop("sus6")
elements.sus4 = createSus("sus5", "sus7")
elements.sus5 = createSus("sus6", "sus8")
elements.sus6 = createSusTop("sus9")
elements.sus7 = createSus("sus8", "susA")
elements.sus8 = createSus("sus9", "susB")
elements.sus9 = createSusTop("susC")
elements.susA = createSusTopRow("susB")
elements.susB = createSusTopRow("susC")
elements.susC = {
color: "#ff0000",
behavior: [
`XX|CR:top AND CH:top|XX`,
`XX|XX|DL`,
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
}
elements.top = {
color: "#000000",
behavior: [
`XX|DL|XX`,
`XX|DL%5|XX`,
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
}
// Colors
elements.sus2.color = "#000000"
elements.sus8.color = "#00ffff"
elements.sus9.color = "#00ffff"
/*
susA susB susC
sus7 sus8 sus9
sus4 sus5 sus6
sus_ sus2 sus3
*/

335
mods/test2.js Normal file
View File

@ -0,0 +1,335 @@
//right col
elements.molten_amogus1 = {
behavior: [
"XX|CR:amogus2 AND CH:amogus2|XX",
"M2|XX|M2",
"M1|M1|M1",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus2 = {
behavior: [
"XX|CR:amogus3 AND CH:amogus3|M2",
"M2 AND CR:amogus5 AND CH:amogus5|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus3 = {
behavior: [
"XX|CR:amogus4 AND CH:amogus4|XX",
"M2 AND CR:amogus6 AND CH:amogus6|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus4 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus7 AND CH:amogus7|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
//middle col
elements.molten_amogus5 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus9 AND CH:amogus9|DL%25|M2",
"XX|XX|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus6 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus10 AND CH:amogus10|DL%25|M2",
"XX|XX|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus7 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus11 AND CH:amogus11|DL%25|M2",
"XX|XX|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
//left col
elements.molten_amogus9 = {
behavior: [
"XX|CR:amogus10 AND CH:amogus10|XX",
"M2|DL%25|M2",
"XX|CR:amogus8 AND CH:amogus8|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus8 = {
behavior: [
"XX|XX|XX",
"M2|DL%25|M2",
"XX|XX|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus10 = {
behavior: [
"XX|CR:amogus11 AND CH:amogus11|XX",
"M2|DL%25|M2",
"XX|XX|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus11 = {
behavior: [
"XX|XX|XX",
"M2|DL%25|M2",
"XX|XX|XX",
],
category: "specials",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
//right col
elements.amogus1 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus2 AND CH:amogus2|XX",
"XX|XX|XX",
"M2|M1|M2",
],
category: "special",
state: "solid",
density: 6942.0,
tempHigh: 420,
};
elements.amogus2 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus3 AND CH:amogus3|XX",
"CR:amogus5 AND CH:amogus5|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus3 = {
color: "#00ffff",
behavior: [
"XX|CR:amogus4 AND CH:amogus4|XX",
"CR:amogus6 AND CH:amogus6|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus4 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"CR:amogus7 AND CH:amogus7|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
//middle col
elements.amogus5 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"CR:amogus9 AND CH:amogus9|DL%25|XX",
"XX|XX|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus6 = {
color: "#00ffff",
behavior: [
"XX|XX|XX",
"CR:amogus10 AND CH:amogus10|DL%25|XX",
"XX|XX|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus7 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"CR:amogus11 AND CH:amogus11|DL%25|XX",
"XX|XX|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
//left col
elements.amogus9 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus10 AND CH:amogus10|XX",
"XX|DL%25|XX",
"XX|CR:amogus8 AND CH:amogus8|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus8 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"XX|DL%25|XX",
"XX|XX|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus10 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus11 AND CH:amogus11|XX",
"XX|DL%25|XX",
"XX|XX|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus11 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"XX|DL%25|XX",
"XX|XX|XX",
],
category: "specials",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
//F&M interactions
runAfterLoad(function() {
if(enabledMods.includes("mods/fey_and_more.js")) {
//cum elements as impurities {
eLists.IMPURITY.push("amogus1");
eLists.IMPURITY.push("amogus2");
eLists.IMPURITY.push("amogus3");
eLists.IMPURITY.push("amogus4");
eLists.IMPURITY.push("amogus5");
eLists.IMPURITY.push("amogus6");
eLists.IMPURITY.push("amogus7");
eLists.IMPURITY.push("amogus8");
eLists.IMPURITY.push("amogus9");
eLists.IMPURITY.push("amogus10");
eLists.IMPURITY.push("amogus11");
eLists.IMPURITY.push("molten_amogus1");
eLists.IMPURITY.push("molten_amogus2");
eLists.IMPURITY.push("molten_amogus3");
eLists.IMPURITY.push("molten_amogus4");
eLists.IMPURITY.push("molten_amogus5");
eLists.IMPURITY.push("molten_amogus6");
eLists.IMPURITY.push("molten_amogus7");
eLists.IMPURITY.push("molten_amogus8");
eLists.IMPURITY.push("molten_amogus9");
eLists.IMPURITY.push("molten_amogus10");
eLists.IMPURITY.push("molten_amogus11");
//}
//regenerate behaviors of elements that use eLists.IMPURITY {
elements.pure_water.behavior = [
"DL:"+eLists.IMPURITY+"XX|DL:"+eLists.IMPURITY+"XX|DL:"+eLists.IMPURITY+"",
"DL:"+eLists.IMPURITY+" AND M2|XX|DL:"+eLists.IMPURITY+" AND M2",
"DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1",
];
elements.pure_steam.behavior = [
"M2 AND DL:"+eLists.IMPURITY+"XX|M1 AND DL:"+eLists.IMPURITY+"XX|M2 AND DL:"+eLists.IMPURITY+"",
"M1 AND DL:"+eLists.IMPURITY+"XX|XX|M1 AND DL:"+eLists.IMPURITY+"",
"M2 AND DL:"+eLists.IMPURITY+"XX|M1 AND DL:"+eLists.IMPURITY+"XX|M2 AND DL:"+eLists.IMPURITY+"",
];
//concoction support (it's all mistakes) {
elements.concoction.reactions.amogus1 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus2 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus3 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus4 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus5 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus6 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus7 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus8 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus9 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus10 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus11 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus1 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus2 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus3 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus4 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus5 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus6 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus7 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus8 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus9 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus10 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus11 = { "elem1": "mistake", "elem2": null }
//}
};
});

116
scripts/im2elements/code.go Normal file
View File

@ -0,0 +1,116 @@
package main
import (
"fmt"
"image"
"strings"
)
const category = "special"
func genCode(im image.Image, name string) string {
out := &strings.Builder{}
fmt.Fprintf(out, `elements.%s_top = {
color: "#000000",
behavior: [
"XX|DL|XX",
"XX|DL%%5|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
}`+"\n\n", name)
for y := im.Bounds().Dy() - 1; y >= 0; y-- {
for x := 0; x < im.Bounds().Dx(); x++ {
r, g, b, _ := im.At(x, y).RGBA()
if r == 0 && g == 0 && b == 0 {
continue
}
r = r >> 8
g = g >> 8
b = b >> 8
// Get hex
hex := fmt.Sprintf("#%02x%02x%02x", r, g, b)
// Add code
nameNum := fmt.Sprintf("%s_%d_%d", name, x, y)
fall := "XX"
hidden := "true"
if y == im.Bounds().Dy()-1 && x == 0 {
nameNum = name
fall = "M1"
hidden = "false"
}
top := fmt.Sprintf("%s_%d_%d", name, x, y-1)
right := fmt.Sprintf("%s_%d_%d", name, x+1, y)
// On top and right?
if y == 0 && x == im.Bounds().Dx()-1 {
fmt.Fprintf(out, `elements.%s = {
color: "%s",
behavior: [
"XX|CR:%s_top AND CH:%s_top|XX",
"XX|XX|DL",
"XX|XX|XX",
],
category: "%s",
state: "solid",
density: 6942.0,
hidden: %s,
}`+"\n\n", nameNum, hex, name, name, category, hidden)
continue
}
// If on top?
if y == 0 {
fmt.Fprintf(out, `elements.%s = {
color: "%s",
behavior: [
"XX|CR:%s_top AND CH:%s_top|XX",
"XX|XX|CR:%s AND CH:%s",
"XX|XX|XX",
],
category: "%s",
state: "solid",
density: 6942.0,
hidden: %s,
}`+"\n\n", nameNum, hex, name, name, right, right, category, hidden)
continue
}
// If on far right?
if x == im.Bounds().Dx()-1 {
fmt.Fprintf(out, `elements.%s = {
color: "%s",
behavior: [
"XX|CR:%s AND CH:%s|XX",
"XX|XX|DL",
"XX|XX|XX",
],
category: "%s",
state: "solid",
density: 6942.0,
hidden: %s,
}`+"\n\n", nameNum, hex, top, top, category, hidden)
continue
}
fmt.Fprintf(out, `elements.%s = {
color: "%s",
behavior: [
"XX|CR:%s AND CH:%s|XX",
"XX|XX|CR:%s AND CH:%s",
"XX|%s|XX",
],
category: "%s",
state: "solid",
density: 6942.0,
hidden: %s,
}`+"\n\n", nameNum, hex, top, top, right, right, fall, category, hidden)
}
}
return out.String()
}

View File

@ -0,0 +1,5 @@
module im2elements
go 1.17
require github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646

View File

@ -0,0 +1,2 @@
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=

View File

@ -0,0 +1,58 @@
package main
import (
"image"
_ "image/jpeg"
_ "image/png"
"bufio"
"fmt"
"os"
"strconv"
"github.com/nfnt/resize"
)
var reader = bufio.NewReader(os.Stdin)
func getInput(par string) string {
fmt.Print(par)
text, _, err := reader.ReadLine()
if err != nil {
panic(err)
}
return string(text)
}
func toInt(val string) int {
v, err := strconv.Atoi(val)
if err != nil {
panic(err)
}
return v
}
func main() {
filename := getInput("Image: ")
f, err := os.Open(filename)
if err != nil {
panic(err)
}
defer f.Close()
im, _, err := image.Decode(f)
if err != nil {
panic(err)
}
width := toInt(getInput("Max Width (works best with 5-10): "))
height := toInt(getInput("Max Height (works best with 5-10, leave at 0 for scaling): "))
im = resize.Resize(uint(width), uint(height), im, resize.Lanczos3)
name := getInput("Name: ")
outF := getInput("Output file (JS): ")
err = os.WriteFile(outF, []byte(genCode(im, name)), os.ModePerm)
if err != nil {
panic(err)
}
}