summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob1 <jfu614@gmail.com>2012-03-14 23:35:28 (GMT)
committer Jacob1 <jfu614@gmail.com>2012-03-14 23:35:28 (GMT)
commit803ded3b334abc27252974f3f6cdda282af6621d (patch)
treeca8ebbeac50a43055aa17584983978d465eadf81
parent83d4658589d366a8a708d64c912c128bcebb9d1c (diff)
downloadpowder-803ded3b334abc27252974f3f6cdda282af6621d.zip
powder-803ded3b334abc27252974f3f6cdda282af6621d.tar.gz
fusion step 2 + modify temp/pressure of step 1
-rw-r--r--includes/powder.h1
-rw-r--r--nble.c27
-rw-r--r--src/elementdata.c4
-rw-r--r--src/elements/h2.c16
4 files changed, 38 insertions, 10 deletions
diff --git a/includes/powder.h b/includes/powder.h
index 1795894..66a606d 100644
--- a/includes/powder.h
+++ b/includes/powder.h
@@ -371,6 +371,7 @@ int update_ICEI(UPDATE_FUNC_ARGS);
int update_ISZ(UPDATE_FUNC_ARGS);
int update_LCRY(UPDATE_FUNC_ARGS);
int update_MORT(UPDATE_FUNC_ARGS);
+int update_NBLE(UPDATE_FUNC_ARGS);
int update_NEUT(UPDATE_FUNC_ARGS);
int update_NPTCT(UPDATE_FUNC_ARGS);
int update_PCLN(UPDATE_FUNC_ARGS);
diff --git a/nble.c b/nble.c
new file mode 100644
index 0000000..ea8031a
--- /dev/null
+++ b/nble.c
@@ -0,0 +1,27 @@
+#include <element.h>
+
+int update_NBLE(UPDATE_FUNC_ARGS)
+{
+ if (parts[i].temp > 5273.15 && pv[y/CELL][x/CELL] > 50.0f)
+ {
+ parts[i].tmp = 1;
+ if (rand()%5 < 1)
+ {
+ int j;
+ float temp = parts[i].temp;
+ part_change_type(i,x,y,PT_PLSM);
+ parts[i].life = rand()%150+50;
+ create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT);
+ create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC);
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT);
+ if (j != -1) { parts[j].ctype = 0xFF0000; parts[j].temp = temp; }
+
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_CO2);
+ if (j != -1) parts[j].temp = temp;
+
+ parts[i].temp += 10000;
+ pv[y/CELL][x/CELL] += 30;
+ }
+ }
+ return 0;
+}
diff --git a/src/elementdata.c b/src/elementdata.c
index a64b0b4..5058931 100644
--- a/src/elementdata.c
+++ b/src/elementdata.c
@@ -62,7 +62,7 @@ part_type ptypes[PT_NUM] =
{"PLSM", PIXPACK(0xBB99FF), 0.9f, 0.04f * CFDS, 0.97f, 0.20f, 0.0f, -0.1f, 0.30f, 0.001f * CFDS, 0, 0, 0, 0, 0, 1, 1, 1, SC_GAS, 10000.0f +273.15f, 5, "Plasma, extremely hot.", ST_NONE, TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL, &update_PYRO, &graphics_PLSM},
{"ETRD", PIXPACK(0x404040), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "Electrode. Creates a surface that allows Plasma arcs. (Use sparingly)", ST_NONE, TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC, NULL, NULL},
{"NICE", PIXPACK(0xC0E0FF), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, -0.0005f* CFDS, 0, 0, 0, 0, 20, 1, 1, 100, SC_SOLIDS, 35.0f, 46, "Nitrogen Ice.", ST_SOLID, TYPE_SOLID, NULL, NULL},
- {"NBLE", PIXPACK(0xEB4917), 1.0f, 0.01f * CFDS, 0.99f, 0.30f, -0.1f, 0.0f, 0.75f, 0.001f * CFDS, 0, 0, 0, 0, 1, 1, 1, 1, SC_GAS, R_TEMP+2.0f +273.15f, 106, "Noble Gas. Diffuses. Conductive. Ionizes into plasma when introduced to electricity", ST_GAS, TYPE_GAS|PROP_CONDUCTS|PROP_LIFE_DEC, NULL, NULL},
+ {"NBLE", PIXPACK(0xEB4917), 1.0f, 0.01f * CFDS, 0.99f, 0.30f, -0.1f, 0.0f, 0.75f, 0.001f * CFDS, 0, 0, 0, 0, 1, 1, 1, 1, SC_GAS, R_TEMP+2.0f +273.15f, 106, "Noble Gas. Diffuses. Conductive. Ionizes into plasma when introduced to electricity", ST_GAS, TYPE_GAS|PROP_CONDUCTS|PROP_LIFE_DEC, &update_NBLE, NULL},
{"BTRY", PIXPACK(0x858505), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "Solid. Generates Electricity.", ST_SOLID, TYPE_SOLID, &update_BTRY, NULL},
{"LCRY", PIXPACK(0x505050), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_POWERED, R_TEMP+0.0f +273.15f, 251, "Liquid Crystal. Changes colour when charged. (PSCN Charges, NSCN Discharges)", ST_SOLID, TYPE_SOLID, &update_LCRY, &graphics_LCRY},
{"STKM", PIXPACK(0x000000), 0.5f, 0.00f * CFDS, 0.2f, 1.0f, 0.0f, 0.0f, 0.0f, 0.00f * CFDS, 0, 0, 0, 0, 0, 1, 1, 50, SC_SPECIAL, R_TEMP+14.6f+273.15f, 0, "Stickman. Don't kill him!", ST_NONE, 0, &update_STKM, &graphics_STKM},
@@ -353,4 +353,4 @@ part_transition ptransitions[PT_NUM] =
#undef ITL
#undef ITH
#undef NT
-#undef ST \ No newline at end of file
+#undef ST
diff --git a/src/elements/h2.c b/src/elements/h2.c
index fa504ca..c073014 100644
--- a/src/elements/h2.c
+++ b/src/elements/h2.c
@@ -43,25 +43,25 @@ int update_H2(UPDATE_FUNC_ARGS)
if (rand()%5 < 1)
{
int j;
+ float temp = parts[i].temp;
part_change_type(i,x,y,PT_PLSM);
parts[i].life = rand()%150+50;
- create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT);
- create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC);
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT);
+ j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC);
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT);
- if (j) parts[j].ctype = 0xFFFF00;
+ if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; }
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE);
- if (j) parts[j].tmp = 1;
+ if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; }
if (rand()%2)
{
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE);
- if (j) parts[j].tmp = 1;
+ if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; }
}
- if (parts[i].temp < 4273.15)
- parts[i].temp = 4273.15;
- pv[y/CELL][x/CELL] += 50;
+ parts[i].temp += 6000;
+ pv[y/CELL][x/CELL] += 30;
}
}
return 0;