fix possible crash when PROT removes spark on disabled elements

This commit is contained in:
jacob1 2015-05-10 21:16:53 -04:00
parent aa854557f7
commit dd102c1f11

View File

@ -55,11 +55,17 @@ int Element_PROT::update(UPDATE_FUNC_ARGS)
switch (utype)
{
case PT_SPRK:
{
//remove active sparks
sim->part_change_type(under>>8, x, y, parts[under>>8].ctype);
parts[under>>8].life = 44 + parts[under>>8].life;
parts[under>>8].ctype = 0;
int sparked = parts[under>>8].ctype;
if (sparked >= 0 && sparked < PT_NUM && sim->elements[sparked].Enabled)
{
sim->part_change_type(under>>8, x, y, sparked);
parts[under>>8].life = 44 + parts[under>>8].life;
parts[under>>8].ctype = 0;
}
break;
}
case PT_DEUT:
if ((-((int)sim->pv[y / CELL][x / CELL] - 4) + (parts[under>>8].life / 100)) > rand() % 200)
{