- fixed edge case where both Mancubus and Arachnotron have the same replacement and trigger a boss action.

This commit is contained in:
Christoph Oelckers 2020-10-24 12:57:41 +02:00 committed by drfrag
parent 1c32d22b3e
commit c4fbbfa033

View file

@ -3146,13 +3146,17 @@ void A_BossDeath(AActor *self)
}
if (level.flags & LEVEL_MAP07SPECIAL)
{
if (type == NAME_Fatso)
PClassActor * fatso = PClass::FindActor(NAME_Fatso);
PClassActor * arachnotron = PClass::FindActor(NAME_Arachnotron);
bool samereplacement = (type == NAME_Fatso || type == NAME_Arachnotron) && fatso && arachnotron && fatso->GetReplacement() == arachnotron->GetReplacement();
if (type == NAME_Fatso || samereplacement)
{
EV_DoFloor (DFloor::floorLowerToLowest, NULL, 666, 1., 0, -1, 0, false);
return;
}
if (type == NAME_Arachnotron)
if (type == NAME_Arachnotron || samereplacement)
{
EV_DoFloor (DFloor::floorRaiseByTexture, NULL, 667, 1., 0, -1, 0, false);
return;