From 76f68fe28aacd14fd5e48dbd03b203e3b5d0f847 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 16 May 2001 14:11:52 +0000 Subject: [PATCH] --- source/enemy/nsj2back.cpp | 56 ++++++++++++++++++++++++++++ source/enemy/nsj2back.h | 2 + source/enemy/nsjback.cpp | 78 --------------------------------------- 3 files changed, 58 insertions(+), 78 deletions(-) diff --git a/source/enemy/nsj2back.cpp b/source/enemy/nsj2back.cpp index 0b4259ecd..ece319c8f 100644 --- a/source/enemy/nsj2back.cpp +++ b/source/enemy/nsj2back.cpp @@ -85,3 +85,59 @@ void CNpcSmallJellyfish2BackgroundEnemy::render() } } } +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void CNpcSmallJellyfish2BackgroundEnemy::collidedWith( CThing *_thisThing ) +{ + if ( m_isActive && !m_isCaught && !m_isDying ) + { + switch(_thisThing->getThingType()) + { + case TYPE_PLAYER: + { + CPlayer *player = (CPlayer *) _thisThing; + + ATTACK_STATE playerState = player->getAttackState(); + + if(playerState==ATTACK_STATE__NONE) + { + if ( !player->isRecoveringFromHit() ) + { + switch( m_data[m_type].detectCollision ) + { + case DETECT_NO_COLLISION: + { + // ignore + + break; + } + + case DETECT_ALL_COLLISION: + { + m_oldControlFunc = m_controlFunc; + m_controlFunc = NPC_CONTROL_COLLISION; + + processUserCollision( _thisThing ); + + break; + } + + case DETECT_ATTACK_COLLISION_GENERIC: + { + processAttackCollision(); + processUserCollision( _thisThing ); + + break; + } + } + } + } + + break; + } + + default: + break; + } + } +} diff --git a/source/enemy/nsj2back.h b/source/enemy/nsj2back.h index c672d086b..eb9300be7 100644 --- a/source/enemy/nsj2back.h +++ b/source/enemy/nsj2back.h @@ -22,6 +22,8 @@ class CNpcSmallJellyfish2BackgroundEnemy : public CNpcSmallJellyfishBackgroundEn { public: virtual void render(); +protected: + virtual void collidedWith(CThing *_thisThing); }; #endif diff --git a/source/enemy/nsjback.cpp b/source/enemy/nsjback.cpp index c4b4e606c..3dea6e763 100644 --- a/source/enemy/nsjback.cpp +++ b/source/enemy/nsjback.cpp @@ -282,82 +282,4 @@ u8 CNpcSmallJellyfishBackgroundEnemy::hasBeenAttacked() void CNpcSmallJellyfishBackgroundEnemy::collidedWith( CThing *_thisThing ) { // do nothing - /*if ( m_isActive && !m_isCaught && !m_isDying ) - { - switch(_thisThing->getThingType()) - { - case TYPE_PLAYER: - { - CPlayer *player = (CPlayer *) _thisThing; - - ATTACK_STATE playerState = player->getAttackState(); - - if(playerState==ATTACK_STATE__NONE) - { - if ( !player->isRecoveringFromHit() ) - { - switch( m_data[m_type].detectCollision ) - { - case DETECT_NO_COLLISION: - { - // ignore - - break; - } - - case DETECT_ALL_COLLISION: - { - m_oldControlFunc = m_controlFunc; - m_controlFunc = NPC_CONTROL_COLLISION; - - processUserCollision( _thisThing ); - - break; - } - - case DETECT_ATTACK_COLLISION_GENERIC: - { - processAttackCollision(); - processUserCollision( _thisThing ); - - break; - } - } - } - } - else - { - // player is attacking, respond appropriately - - if ( m_controlFunc != NPC_CONTROL_SHOT ) - { - if(playerState==ATTACK_STATE__BUTT_BOUNCE) - { - player->justButtBouncedABadGuy(); - } - m_controlFunc = NPC_CONTROL_SHOT; - m_state = NPC_GENERIC_HIT_CHECK_HEALTH; - } - } - - break; - } - - case TYPE_ENEMY: - { - CNpcEnemy *enemy = (CNpcEnemy *) _thisThing; - - if ( canCollideWithEnemy() && enemy->canCollideWithEnemy() ) - { - processEnemyCollision( _thisThing ); - } - - break; - } - - default: - ASSERT(0); - break; - } - }*/ }