From fdefd361e66c99975f5969f5a90629eb2dea4946 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 22 Apr 2012 07:32:09 +0000 Subject: [PATCH] - Undid the 'Spray' state change because it obviously can't work with the default blood actor. SVN r3582 (trunk) --- src/p_mobj.cpp | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 311ddd93a5..bcb5ba9765 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -4657,23 +4657,20 @@ void P_SpawnBlood (fixed_t x, fixed_t y, fixed_t z, angle_t dir, int damage, AAc { th->Translation = TRANSLATION(TRANSLATION_Blood, bloodcolor.a); } - - FState *state = th->FindState(NAME_Spray); - if (state != NULL) - { - if (damage > 13) - { - th->SetState (state); - } - else if (gameinfo.gametype == GAME_Strife) // this modification is Strife-specific. - { - damage += 2; - } - } - + // Moved out of the blood actor so that replacing blood is easier if (gameinfo.gametype & GAME_DoomStrifeChex) { + FState *state = th->FindState(NAME_Spray); + if (gameinfo.gametype == GAME_Strife) + { + if (damage > 13) + { + FState *state = th->FindState(NAME_Spray); + if (state != NULL) th->SetState (state); + } + else damage += 2; + } int advance = 0; if (damage <= 12 && damage >= 9) { @@ -4694,7 +4691,7 @@ void P_SpawnBlood (fixed_t x, fixed_t y, fixed_t z, angle_t dir, int damage, AAc for (; advance > 0; --advance) { // [RH] Do not set to a state we do not own. - if (ai->OwnsState(th->SpawnState + advance)) + if (!ai->OwnsState(th->SpawnState + advance)) { th->SetState(th->SpawnState + advance); goto statedone;