Create nirmod.js
This commit is contained in:
parent
1b87771c89
commit
973da054e7
|
|
@ -0,0 +1,168 @@
|
|||
// helper objects for pixel
|
||||
const cat = {
|
||||
TOOLS: "tools",
|
||||
LAND: "land",
|
||||
LIQUIDS: "liquids",
|
||||
LIFE: "life",
|
||||
POWDERS: "powders",
|
||||
SOLIDS: "solids",
|
||||
ENERGY: "energy",
|
||||
WEAPONS: "weapons",
|
||||
GASES: "gases",
|
||||
FOOD: "food",
|
||||
MACHINES: "machines",
|
||||
SPECIAL: "special",
|
||||
STATES: "states",
|
||||
}
|
||||
const state = {
|
||||
SOLID: "solid",
|
||||
LIQUID: "liquid",
|
||||
GAS: "gas",
|
||||
}
|
||||
const bb = {
|
||||
POWDER_OLD: behaviors.POWDER_OLD,
|
||||
POWDER: behaviors.POWDER,
|
||||
AGPOWDER: behaviors.AGPOWDER,
|
||||
LIQUID_OLD: behaviors.LIQUID_OLD,
|
||||
LIQUID: behaviors.LIQUID,
|
||||
SUPERFLUID_OLD: behaviors.SUPERFLUID_OLD,
|
||||
SUPERFLUID: behaviors.SUPERFLUID,
|
||||
LIGHTWEIGHT: behaviors.LIGHTWEIGHT,
|
||||
SLIDE: behaviors.SLIDE,
|
||||
AGLIQUID: behaviors.AGLIQUID,
|
||||
WALL: behaviors.WALL,
|
||||
UL_UR: behaviors.UL_UR,
|
||||
UL_UR_OPTIMIZED: behaviors.UL_UR_OPTIMIZED,
|
||||
GAS_OLD: behaviors.GAS_OLD,
|
||||
GAS: behaviors.GAS,
|
||||
DGAS: behaviors.DGAS,
|
||||
SUPPORT: behaviors.SUPPORT,
|
||||
SUPPORTPOWDER: behaviors.SUPPORTPOWDER,
|
||||
DELETE: behaviors.DELETE,
|
||||
FILL: behaviors.FILL,
|
||||
CLONER: behaviors.CLONER,
|
||||
STURDYPOWDER: behaviors.STURDYPOWDER,
|
||||
SELFDELETE: behaviors.SELFDELETE,
|
||||
FOAM: behaviors.FOAM,
|
||||
BUBBLE: behaviors.BUBBLE,
|
||||
STICKY: behaviors.STICKY,
|
||||
MOLTEN: behaviors.MOLTEN,
|
||||
RADPOWDER: behaviors.RADPOWDER,
|
||||
RADMOLTEN: behaviors.RADMOLTEN,
|
||||
RADLIQUID: behaviors.RADLIQUID,
|
||||
BOUNCY: behaviors.BOUNCY,
|
||||
FEEDPIXEL: behaviors.FEEDPIXEL,
|
||||
KILLPIXEL1: behaviors.KILLPIXEL1,
|
||||
KILLPIXEL2: behaviors.KILLPIXEL2,
|
||||
FLY: behaviors.FLY,
|
||||
CRAWLER: behaviors.CRAWLER,
|
||||
}
|
||||
|
||||
class Type {
|
||||
constructor(name) {
|
||||
this.name = name;
|
||||
this.color = "#ffffff";
|
||||
this.behavior = behaviors.WALL;
|
||||
this.category = "land";
|
||||
this.state = "solid";
|
||||
this.hidden = false;
|
||||
this.density = undefined;
|
||||
this.tempHigh = undefined;
|
||||
this.stateHigh = undefined;
|
||||
this.tempLow = undefined;
|
||||
this.stateLow = undefined;
|
||||
this.temp = undefined;
|
||||
this.reactions = undefined;
|
||||
this.viscosity = undefined;
|
||||
}
|
||||
|
||||
setColor(color) {
|
||||
if (typeof color == "string" && !color.startsWith("#")) color = "#" + color;
|
||||
this.color = color;
|
||||
this.colorObject = hexToRGB(color);
|
||||
}
|
||||
Add() {
|
||||
const {...elem} = this;
|
||||
elements[this.name] = elem;
|
||||
}
|
||||
}
|
||||
|
||||
function createPowders() {
|
||||
const Ni = new Type("nirme");
|
||||
Ni.setColor("22b14c");
|
||||
Ni.behavior = bb.POWDER;
|
||||
Ni.category = cat.POWDERS;
|
||||
Ni.state = state.SOLID;
|
||||
Ni.density = 1752;
|
||||
Ni.reactions = {
|
||||
"water": { elem1: "dull_nirme", elem2: null },
|
||||
"salt_water": { elem1: "dull_nirme", elem2: null },
|
||||
}
|
||||
Ni.Add();
|
||||
|
||||
const DNi = new Type("dull_nirme");
|
||||
DNi.setColor("5c916c");
|
||||
DNi.behavior = bb.STURDYPOWDER;
|
||||
DNi.category = cat.STATES;
|
||||
DNi.state = state.SOLID;
|
||||
DNi.density = 1752;
|
||||
DNi.hidden = true;
|
||||
DNi.Add();
|
||||
|
||||
const Em = new Type("emerald");
|
||||
Em.setColor(["#00f49f", "#2fe094", "#b3ffd6", "#5fd9c5"]);
|
||||
Em.behavior = bb.POWDER;
|
||||
Em.category = cat.POWDERS;
|
||||
Em.state = state.SOLID;
|
||||
Em.density = 2750;
|
||||
Em.Add();
|
||||
}
|
||||
|
||||
function createMetals() {
|
||||
const Tg = new Type("thingite");
|
||||
Tg.setColor("4f5263");
|
||||
Tg.behavior = bb.WALL;
|
||||
Tg.category = cat.SOLIDS;
|
||||
Tg.state = state.SOLID;
|
||||
Tg.density = 9408;
|
||||
Tg.tempHigh = 700;
|
||||
Tg.stateHigh = "molten_thingite";
|
||||
Tg.Add();
|
||||
|
||||
const MTg = new Type("molten_thingite");
|
||||
MTg.setColor("5f9cba");
|
||||
MTg.behavior = bb.MOLTEN;
|
||||
MTg.category = cat.STATES;
|
||||
MTg.state = state.LIQUID;
|
||||
MTg.density = 9408;
|
||||
MTg.temp = 700;
|
||||
MTg.tempLow = 600;
|
||||
MTg.stateLow = "thingite";
|
||||
MTg.hidden = true;
|
||||
MTg.Add();
|
||||
|
||||
const Or = new Type("orangium");
|
||||
Or.setColor("b89256");
|
||||
Or.behavior = bb.WALL;
|
||||
Or.category = cat.SOLIDS;
|
||||
Or.state = state.SOLID;
|
||||
Or.density = 12403;
|
||||
Or.tempHigh = 1600;
|
||||
Or.stateHigh = "molten_orangium";
|
||||
Or.Add();
|
||||
|
||||
const MOr = new Type("molten_orangium");
|
||||
MOr.setColor("cca833");
|
||||
MOr.behavior = bb.MOLTEN;
|
||||
MOr.category = cat.STATES;
|
||||
MOr.state = state.LIQUID;
|
||||
MOr.density = 12403;
|
||||
MOr.temp = 1600;
|
||||
MOr.tempLow = 1500;
|
||||
MOr.stateLow = "orangium";
|
||||
MOr.hidden = true;
|
||||
MOr.Add();
|
||||
}
|
||||
|
||||
createPowders();
|
||||
createMetals();
|
||||
Loading…
Reference in New Issue