Spawn big fern leaves relative to angle

This commit is contained in:
MascaraSnake 2019-10-06 10:30:22 +02:00
parent 357baeaa60
commit 17a2d1071c
1 changed files with 15 additions and 13 deletions

View File

@ -10049,19 +10049,6 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
P_SetTarget(&mobj->tracer, P_SpawnMobjFromMobj(mobj, 0, 0, 0, MT_MINECARTENDSOLID));
mobj->tracer->angle = mobj->angle + ANGLE_90;
break;
case MT_BIGFERN:
{
UINT8 i;
for (i = 0; i < 8; i++)
{
UINT8 j = (i + 2) % 8;
fixed_t xoffs = (j % 4) ? FRACUNIT : 0;
fixed_t yoffs = (i % 4) ? FRACUNIT : 0;
mobj_t *leaf = P_SpawnMobjFromMobj(mobj, (j > 3) ? -xoffs : xoffs, (i > 3) ? -yoffs : yoffs, 0, MT_BIGFERNLEAF);
leaf->angle = (angle_t)i * ANGLE_45;
}
break;
}
case MT_TORCHFLOWER:
{
mobj_t *fire = P_SpawnMobjFromMobj(mobj, 0, 0, 46*FRACUNIT, MT_FLAME);
@ -12101,6 +12088,21 @@ ML_EFFECT5 : Don't stop thinking when too far away
S_StartSound(mobj, sfx_s3kd3l);
}
break;
case MT_BIGFERN:
{
angle_t angle = FixedAngle((mthing->angle % 45) << FRACBITS);
UINT8 i;
for (i = 0; i < 8; i++)
{
UINT8 j = (i + 2) % 8;
fixed_t xoffs = (j % 4) ? FRACUNIT : 0;
fixed_t yoffs = (i % 4) ? FRACUNIT : 0;
mobj_t *leaf = P_SpawnMobjFromMobj(mobj, (j > 3) ? -xoffs : xoffs, (i > 3) ? -yoffs : yoffs, 0, MT_BIGFERNLEAF);
leaf->angle = angle;
angle += ANGLE_45;
}
break;
}
default:
break;
}