still allow NBLE to ionize at high temperatures (probably won't interfere with fusion)
This commit is contained in:
parent
4dae152b6a
commit
df1aac8180
@ -96,6 +96,7 @@ int Element_H2::update(UPDATE_FUNC_ARGS)
|
|||||||
int j;
|
int j;
|
||||||
float temp = parts[i].temp;
|
float temp = parts[i].temp;
|
||||||
sim->create_part(i,x,y,PT_NBLE);
|
sim->create_part(i,x,y,PT_NBLE);
|
||||||
|
parts[i].tmp = 0x1;
|
||||||
|
|
||||||
j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT);
|
j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT);
|
||||||
if (j>-1)
|
if (j>-1)
|
||||||
|
@ -51,7 +51,7 @@ int Element_NBLE::update(UPDATE_FUNC_ARGS)
|
|||||||
{
|
{
|
||||||
if (parts[i].temp > 5273.15 && sim->pv[y/CELL][x/CELL] > 100.0f)
|
if (parts[i].temp > 5273.15 && sim->pv[y/CELL][x/CELL] > 100.0f)
|
||||||
{
|
{
|
||||||
parts[i].tmp = 1;
|
parts[i].tmp |= 0x1;
|
||||||
if (!(rand()%5))
|
if (!(rand()%5))
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
|
@ -49,7 +49,7 @@ Element_SPRK::Element_SPRK()
|
|||||||
//#TPT-Directive ElementHeader Element_SPRK static int update(UPDATE_FUNC_ARGS)
|
//#TPT-Directive ElementHeader Element_SPRK static int update(UPDATE_FUNC_ARGS)
|
||||||
int Element_SPRK::update(UPDATE_FUNC_ARGS)
|
int Element_SPRK::update(UPDATE_FUNC_ARGS)
|
||||||
{
|
{
|
||||||
int r, rx, ry, rt, conduct_sprk, nearp, pavg, ct = parts[i].ctype, sender, receiver;
|
int r, rx, ry, nearp, pavg, ct = parts[i].ctype, sender, receiver;
|
||||||
Element_FIRE::update(UPDATE_FUNC_SUBCALL_ARGS);
|
Element_FIRE::update(UPDATE_FUNC_SUBCALL_ARGS);
|
||||||
|
|
||||||
if (parts[i].life<=0)
|
if (parts[i].life<=0)
|
||||||
@ -96,13 +96,13 @@ int Element_SPRK::update(UPDATE_FUNC_ARGS)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PT_NBLE:
|
case PT_NBLE:
|
||||||
if (parts[i].life<=1 && parts[i].temp<5273.15f)
|
if (parts[i].life<=1 && !(parts[i].tmp&0x1))
|
||||||
{
|
{
|
||||||
parts[i].life = rand()%150+50;
|
parts[i].life = rand()%150+50;
|
||||||
sim->part_change_type(i,x,y,PT_PLSM);
|
sim->part_change_type(i,x,y,PT_PLSM);
|
||||||
parts[i].ctype = PT_NBLE;
|
parts[i].ctype = PT_NBLE;
|
||||||
if (parts[i].temp > 5273.15)
|
if (parts[i].temp > 5273.15)
|
||||||
parts[i].tmp |= 4;
|
parts[i].tmp |= 0x4;
|
||||||
parts[i].temp = 3500;
|
parts[i].temp = 3500;
|
||||||
sim->pv[y/CELL][x/CELL] += 1;
|
sim->pv[y/CELL][x/CELL] += 1;
|
||||||
}
|
}
|
||||||
@ -302,7 +302,7 @@ int Element_SPRK::update(UPDATE_FUNC_ARGS)
|
|||||||
goto conduct;
|
goto conduct;
|
||||||
continue;
|
continue;
|
||||||
case PT_NBLE:
|
case PT_NBLE:
|
||||||
if (parts[i].temp < 5273.15f)
|
if (!(parts[i].tmp&0x1))
|
||||||
goto conduct;
|
goto conduct;
|
||||||
continue;
|
continue;
|
||||||
case PT_PSCN:
|
case PT_PSCN:
|
||||||
|
Reference in New Issue
Block a user