Added PSTE, a colloid element that turns solid under pressure. WTF is now radioactive with neutrons. boom.
This commit is contained in:
parent
d89e7e4abe
commit
f02d504656
@ -157,7 +157,9 @@
|
||||
#define PT_ISZS 108
|
||||
#define PT_PRTI 109
|
||||
#define PT_PRTO 110
|
||||
#define PT_NUM 111
|
||||
#define PT_PSTE 111
|
||||
#define PT_PSTS 112
|
||||
#define PT_NUM 113
|
||||
|
||||
#define R_TEMP 22
|
||||
#define MAX_TEMP 9999
|
||||
@ -343,7 +345,7 @@ static const part_type ptypes[PT_NUM] =
|
||||
{"FOG", PIXPACK(0xAAAAAA), 0.8f, 0.00f * CFDS, 0.4f, 0.70f, -0.1f, 0.0f, 0.99f, 0.000f * CFDS, 0, 0, 0, 0, 30, 1, 1, SC_GAS, 243.15f, 100, "Not quite Steam",TYPE_GAS},
|
||||
{"BCLN", PIXPACK(0xFFD040), 0.1f, 0.00f * CFDS, 0.97f, 0.50f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 12, 1, 100, SC_SPECIAL, R_TEMP+0.0f +273.15f, 251, "Breakable Clone.", TYPE_SOLID},
|
||||
{"LOVE", PIXPACK(0xFF30FF), 0.0f, 0.00f * CFDS, 0.00f, 0.00f, 0.0f, 0.0f, 0.0f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_LIFE, 373.0f, 40, "Love...", TYPE_SOLID},
|
||||
{"WTF", PIXPACK(0x00153F), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 30, SC_LIQUID, R_TEMP-2.0f +273.15f, 251, "WTF for catelite, volume changes with temp", TYPE_LIQUID},
|
||||
{"WTF", PIXPACK(0x00153F), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 30, SC_NUCLEAR, R_TEMP-2.0f +273.15f, 251, "Volume changes with temp, radioactive with neutrons.", TYPE_LIQUID|PROP_NEUTPENETRATE},
|
||||
{"WARP", PIXPACK(0x000000), 0.8f, 0.00f * CFDS, 0.9f, 0.70f, -0.1f, 0.0f, 3.00f, 0.000f * CFDS, 0, 0, 0, 0, 30, 1, 1, SC_GAS, R_TEMP +273.15f, 100, "This is what happens to your mind when catelite descibes an element.",TYPE_GAS},
|
||||
{"PUMP", PIXPACK(0x9EA3B6), 0.0f, 0.00f * CFDS, 0.95f, 0.00f, 0.0f, 0.0f, 0.00f, 0.1f * CFDS, 0, 7, 0, 0, 10, 1, 100, SC_SPECIAL, 273.15f, 0, "Changes pressure to its temp (use HEAT/COOL).", TYPE_SOLID},
|
||||
{"FWRK", PIXPACK(0x666666), 0.4f, 0.01f * CFDS, 0.99f, 0.95f, 0.0f, 0.4f, 0.00f, 0.000f * CFDS, 1, 0, 0, 0, 0, 1, 97, SC_EXPLOSIVE, R_TEMP+0.0f+273.15f, 100, "First fireworks made, activated by heat/neutrons."},
|
||||
@ -351,14 +353,17 @@ static const part_type ptypes[PT_NUM] =
|
||||
{"FRZZ", PIXPACK(0xC0E0FF), 0.7f, 0.01f * CFDS, 0.96f, 0.90f, -0.1f, 0.05f, 0.01f, -0.00005f* CFDS,1, 0, 0, 0, 20, 1, 50, SC_CRACKER, 90.0f, 46, "FREEZE", TYPE_PART},
|
||||
{"FRZW", PIXPACK(0x1020C0), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 30, SC_CRACKER, 90.0f, 29, "FREEZE WATER", TYPE_LIQUID},
|
||||
{"GRAV", PIXPACK(0xFFE0A0), 0.7f, 0.00f * CFDS, 1.00f, 1.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 1, 10, 0, 0, 30, 1, 85, SC_POWDERS, R_TEMP+0.0f +273.15f, 70, "Very light dust. Flammable.", TYPE_PART},
|
||||
{"@_@", PIXPACK(0x00FF77), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 30, SC_CRACKER, R_TEMP+0.0f +273.15f, 29, "@_@", TYPE_LIQUID},
|
||||
{"@_@", PIXPACK(0x00FF77), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 30, SC_CRACKER, R_TEMP+0.0f +273.15f, 29, "@_@, contradicts the normal state changes.", TYPE_LIQUID},
|
||||
{"@_@G", PIXPACK(0x00FFBB), 1.0f, 0.01f * CFDS, 0.99f, 0.30f, -0.1f, 0.0f, 2.75f, 0.000f * CFDS, 0, 0, 0, 0, 1, 1, 1, SC_CRACKER, R_TEMP-200.0f +273.15f, 42, "@_@ gas", TYPE_GAS},
|
||||
{"@_@S", PIXPACK(0x00E455), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 100, SC_CRACKER, R_TEMP+300.0f +273.15f, 251, "@_@ solid", TYPE_SOLID},
|
||||
{"INST", PIXPACK(0x404039), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 251, "Instantly conducts, like walls", TYPE_SOLID|PROP_CONDUCTS},
|
||||
{"ISOZ", PIXPACK(0xAA30D0), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 30, SC_NUCLEAR, R_TEMP-2.0f +273.15f, 29, "Radioactive liquid", TYPE_LIQUID|PROP_NEUTPENETRATE},
|
||||
{"ISZS", PIXPACK(0x662089), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, -0.0007f* CFDS, 0, 0, 0, 1, 1, 1, 100, SC_NUCLEAR, 140.00f, 251, "thingy solid", TYPE_SOLID},
|
||||
{"ISZS", PIXPACK(0x662089), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, -0.0007f* CFDS, 0, 0, 0, 1, 1, 1, 100, SC_NUCLEAR, 140.00f, 251, "Solid form of ISOZ, slowly decays.", TYPE_SOLID},
|
||||
{"PRTI", PIXPACK(0xEB5917), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, -0.005f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 40, "Portal IN. Things go in here", TYPE_SOLID},
|
||||
{"PRTO", PIXPACK(0x0020EB), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.005f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_CRACKER, R_TEMP+0.0f +273.15f, 40, "Portal OUT. Things come out here", TYPE_SOLID},
|
||||
{"PSTE", PIXPACK(0xAA99AA), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 20, 1, 31, SC_CRACKER, R_TEMP-2.0f +273.15f, 29, "Colloid", TYPE_LIQUID},
|
||||
{"PSTS", PIXPACK(0x776677), 0.0f, 0.00f * CFDS, 0.00f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 20, 0, 100, SC_CRACKER, R_TEMP-2.0f +273.15f, 29, "blah blah solid not in the menu", TYPE_SOLID},
|
||||
|
||||
//Name Colour Advec Airdrag Airloss Loss Collid Grav Diffus Hotair Fal Burn Exp Mel Hrd M Weights Section H Ins(real world, by triclops200) Description
|
||||
};
|
||||
|
||||
@ -476,6 +481,8 @@ static part_state pstates[PT_NUM] =
|
||||
/* ISZS */ {ST_SOLID, PT_NONE, 0.0f, PT_ISOZ, 300.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
|
||||
/* PRTI */ {ST_SOLID, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
|
||||
/* PRTO */ {ST_SOLID, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
|
||||
/* PSTE */ {ST_LIQUID, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
|
||||
/* PSTS */ {ST_SOLID, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f, PT_NONE, 0.0f},
|
||||
};
|
||||
static int grule[NGOL][9] =
|
||||
{
|
||||
|
34
src/powder.c
34
src/powder.c
@ -945,7 +945,7 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
}
|
||||
}
|
||||
}
|
||||
love[nx/9][ny/9]=0;
|
||||
love[nx/9][ny/9]=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1006,11 +1006,8 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
gol2[nx+nnx][ny+nny][golnum] ++;
|
||||
gol2[nx+nnx][ny+nny][0] ++;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
for(nx=4;nx<XRES-4;nx++)
|
||||
for(ny=4;ny<YRES-4;ny++)
|
||||
@ -1260,6 +1257,10 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
t = parts[i].type = PT_STNE;
|
||||
if(t==PT_PIPE && pv[y/CELL][x/CELL]>10.0f)
|
||||
t = parts[i].type = PT_BRMT;
|
||||
if(t==PT_PSTE && pv[y/CELL][x/CELL]>0.5f)
|
||||
t = parts[i].type = PT_PSTS;
|
||||
if(t==PT_PSTS && pv[y/CELL][x/CELL]<0.5f)
|
||||
t = parts[i].type = PT_PSTE;
|
||||
//if(t==PT_GLAS && pv[y/CELL][x/CELL]>4.0f)
|
||||
// t = parts[i].type = PT_BGLA;
|
||||
if(t==PT_GLAS)
|
||||
@ -1289,6 +1290,9 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
parts[i].vy = rr*sinf(a);
|
||||
create_part(i, x, y, t);
|
||||
}
|
||||
if(t==PT_PSTE)
|
||||
if(parts[i].temp>747.0f)
|
||||
t = parts[i].type = PT_BRCK;
|
||||
if(t==PT_SPRK&&parts[i].ctype==PT_ETRD&&parts[i].life==1)
|
||||
{
|
||||
nearp = nearest_part(i, PT_ETRD);
|
||||
@ -1880,7 +1884,11 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
{
|
||||
parts[i].life = 4;
|
||||
t = parts[i].type = PT_FIRE;
|
||||
|
||||
}
|
||||
if(((r&0xFF)==PT_CNCT&&t==PT_WATR) && 1>(rand()%500))
|
||||
{
|
||||
t = parts[i].type = PT_PSTE;
|
||||
parts[r>>8].type = PT_NONE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2026,6 +2034,22 @@ void update_particles_i(pixel *vid, int start, int inc)
|
||||
pv[y/CELL][x/CELL] += 10.0f * CFDS; //Used to be 2, some people said nukes weren't powerful enough
|
||||
fe ++;
|
||||
}
|
||||
if((r&0xFF)==PT_WTF && (rt+1)>(rand()%1000))
|
||||
{
|
||||
|
||||
create_part(r>>8, x+nx, y+ny, PT_NEUT);
|
||||
parts[r>>8].vx = 0.25f*parts[r>>8].vx + parts[i].vx;
|
||||
parts[r>>8].vy = 0.25f*parts[r>>8].vy + parts[i].vy;
|
||||
if(parts[r>>8].life>0)
|
||||
{
|
||||
parts[r>>8].life --;
|
||||
parts[r>>8].temp += (parts[r>>8].life*17);
|
||||
pv[y/CELL][x/CELL] += 6.0f * CFDS;
|
||||
|
||||
}
|
||||
else
|
||||
parts[r>>8].type = PT_NONE;
|
||||
}
|
||||
if((r&0xFF)==PT_GUNP && 15>(rand()%1000))
|
||||
parts[r>>8].type = PT_DUST;
|
||||
if((r&0xFF)==PT_DYST && 15>(rand()%1000))
|
||||
|
Reference in New Issue
Block a user