- handle intermediate special values in thinkers. They also need to take care of the related damage variables and flags.

This commit is contained in:
Christoph Oelckers 2016-01-06 13:30:28 +01:00
commit eb6c855a95
7 changed files with 109 additions and 25 deletions

View file

@ -282,8 +282,7 @@ bool EV_DoPlat (int tag, line_t *line, DPlat::EPlatType type, int height,
{
if (line)
sec->SetTexture(sector_t::floor, line->sidedef[0]->sector->GetTexture(sector_t::floor));
if (change == 1)
sec->xspecial = 0; // Stop damage and other stuff, if any
if (change == 1) sec->ClearSpecial();
}
switch (type)
@ -295,7 +294,7 @@ bool EV_DoPlat (int tag, line_t *line, DPlat::EPlatType type, int height,
plat->m_Low = sec->floorplane.d;
plat->m_Status = DPlat::up;
plat->PlayPlatSound ("Floor");
sec->xspecial = 0; // NO MORE DAMAGE, IF APPLICABLE
sec->ClearSpecial();
break;
case DPlat::platUpByValue: