From fe30698db8080612a052bd57b6418e31064c5205 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 31 Jul 2001 19:20:19 +0000 Subject: [PATCH] --- source/enemy/nclam.cpp | 7 +++++-- source/enemy/ndogfish.cpp | 14 ++++++++++---- source/enemy/nfdutch.cpp | 7 +++++-- source/enemy/nmjfish.cpp | 7 +++++-- source/enemy/npc.cpp | 7 +++++-- source/enemy/nsj2back.cpp | 7 +++++-- 6 files changed, 35 insertions(+), 14 deletions(-) diff --git a/source/enemy/nclam.cpp b/source/enemy/nclam.cpp index ae05f67be..287a4c197 100644 --- a/source/enemy/nclam.cpp +++ b/source/enemy/nclam.cpp @@ -314,8 +314,11 @@ void CNpcStaticClamEnemy::collidedWith( CThing *_thisThing ) { if ( m_frame >= ( 5 << 8 ) ) { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } } } } diff --git a/source/enemy/ndogfish.cpp b/source/enemy/ndogfish.cpp index 5f05966a4..3fd388378 100644 --- a/source/enemy/ndogfish.cpp +++ b/source/enemy/ndogfish.cpp @@ -430,8 +430,11 @@ void CNpcIronDogfishEnemy::processAttackCollision() { // only detect collision if in attack mode - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } break; } @@ -514,8 +517,11 @@ void CNpcIronDogfishEnemy::collidedWith( CThing *_thisThing ) case DETECT_ALL_COLLISION: { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } break; } diff --git a/source/enemy/nfdutch.cpp b/source/enemy/nfdutch.cpp index 2b1e9a203..abed718a2 100644 --- a/source/enemy/nfdutch.cpp +++ b/source/enemy/nfdutch.cpp @@ -735,8 +735,11 @@ void CNpcFlyingDutchmanEnemy::collidedWith(CThing *_thisThing) case DETECT_ALL_COLLISION: { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } processUserCollision( _thisThing ); diff --git a/source/enemy/nmjfish.cpp b/source/enemy/nmjfish.cpp index aaf6eb1f8..e4e8812c6 100644 --- a/source/enemy/nmjfish.cpp +++ b/source/enemy/nmjfish.cpp @@ -841,8 +841,11 @@ void CNpcMotherJellyfishEnemy::collidedWith(CThing *_thisThing) case DETECT_ALL_COLLISION: { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } processUserCollision( _thisThing ); diff --git a/source/enemy/npc.cpp b/source/enemy/npc.cpp index 66b3409be..2d6c9d0d3 100644 --- a/source/enemy/npc.cpp +++ b/source/enemy/npc.cpp @@ -916,8 +916,11 @@ void CNpcEnemy::collidedWith( CThing *_thisThing ) case DETECT_ALL_COLLISION: { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } processUserCollision( _thisThing ); diff --git a/source/enemy/nsj2back.cpp b/source/enemy/nsj2back.cpp index e57cd6816..333121202 100644 --- a/source/enemy/nsj2back.cpp +++ b/source/enemy/nsj2back.cpp @@ -123,8 +123,11 @@ void CNpcSmallJellyfish2BackgroundEnemy::collidedWith( CThing *_thisThing ) case DETECT_ALL_COLLISION: { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; + if ( m_controlFunc != NPC_CONTROL_COLLISION ) + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + } processUserCollision( _thisThing );