Added safety measures for Bartoli ItemFlags[3]

Now if the 3rd explosion is deactivated using a negative value for ItemFlags[3], Bartoli will still be destroyed activate heavy trigger when its animation reaches to the end.
This commit is contained in:
Adngel 2024-02-05 12:54:21 +01:00
parent beccf36bf0
commit 3ad6a1b252

View file

@ -57,6 +57,7 @@ namespace TEN::Entities::Creatures::TR2
short& timeExplosion1 = item.ItemFlags[1]; short& timeExplosion1 = item.ItemFlags[1];
short& timeExplosion2 = item.ItemFlags[2]; short& timeExplosion2 = item.ItemFlags[2];
short& timeExplosion3 = item.ItemFlags[3]; short& timeExplosion3 = item.ItemFlags[3];
int animationFrameEnd = GetAnimData(item.ObjectNumber, 0).frameEnd;
if (item.Animation.FrameNumber == 0) if (item.Animation.FrameNumber == 0)
{ {
@ -97,8 +98,12 @@ namespace TEN::Entities::Creatures::TR2
TriggerDynamicLight(lightPos, lightColor, transformationLightFalloff); TriggerDynamicLight(lightPos, lightColor, transformationLightFalloff);
SpawnBartoliTransformEffect(item, ID_SPHERE_OF_DOOM3); SpawnBartoliTransformEffect(item, ID_SPHERE_OF_DOOM3);
SoundEffect(SFX_TR2_MARCO_BARTOLLI_TRANSFORM, &item.Pose); SoundEffect(SFX_TR2_MARCO_BARTOLLI_TRANSFORM, &item.Pose);
KillItem(itemNumber); item.Animation.FrameNumber = animationFrameEnd;
}
if (item.Animation.FrameNumber >= animationFrameEnd)
{
KillItem(itemNumber);
TestTriggers(&item, true); TestTriggers(&item, true);
} }
} }