Duke3d: fix regression with the Devastator's ability to damage sprites in sectors other than the sector the rocket hit

Fixes terminx/eduke32#62.
This commit is contained in:
Richard C. Gobeille 2020-06-08 12:38:24 -07:00 committed by Christoph Oelckers
parent a5c9a702e9
commit 28911435d9

View file

@ -276,9 +276,11 @@ void A_RadiusDamage(int const spriteNum, int const blastRadius, int const dmg1,
bfirst_search_init(sectorList, sectorMap, &numSectors, numsectors, pSprite->sectnum);
#ifndef EDUKE32_STANDALONE
int wallDamage = true;
// rockets from the Devastator skip propagating damage to other sectors
if (!FURY && (pSprite->picnum == RPG && pSprite->xrepeat < 11))
goto wallsfinished;
wallDamage = false;
#endif
uint8_t *wallTouched;
@ -342,7 +344,10 @@ void A_RadiusDamage(int const spriteNum, int const blastRadius, int const dmg1,
if (pWall->nextwall != -1)
bitmap_set(wallCanSee, pWall->nextwall);
A_DamageWall_Internal(spriteNum, w, { p.x, p.y, pSprite->z }, pSprite->picnum);
#ifndef EDUKE32_STANDALONE
if (wallDamage)
#endif
A_DamageWall_Internal(spriteNum, w, { p.x, p.y, pSprite->z }, pSprite->picnum);
}
int const nextSector = pWall->nextsector;