From 3e21db19be1523b8244d6fc1a306558fed3fece0 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 1 Jan 2022 09:31:57 +0100 Subject: [PATCH] - Blood: fixed Life Leech no longer gettable after having fired. This was the direct result of dumb use of two pointers to different parts of the same objects. --- source/games/blood/src/actor.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index b5eea32f5..60de77d4e 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -5220,10 +5220,13 @@ int MoveMissile(DBloodActor* actor) auto Owner = actor->GetOwner(); int cliptype = -1; ESpriteFlags bakCstat = 0; - if (Owner && Owner->IsDudeActor()) + if (Owner) { bakCstat = Owner->spr.cstat; - Owner->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; + if (Owner->IsDudeActor()) + { + Owner->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; + } } gHitInfo.clearObj(); if (actor->spr.type == kMissileFlameSpray) actAirDrag(actor, 0x1000);