diff --git a/sp/src/game/server/ai_basenpc.cpp b/sp/src/game/server/ai_basenpc.cpp index fc8cd287..7167b2c8 100644 --- a/sp/src/game/server/ai_basenpc.cpp +++ b/sp/src/game/server/ai_basenpc.cpp @@ -7308,7 +7308,6 @@ bool CAI_BaseNPC::IsActivityFinished( void ) #ifdef MAPBASE if (GetFakeSequenceGesture() != -1) { - Msg( "Checking if fake sequence gesture is finished\n" ); return IsLayerFinished( GetFakeSequenceGesture() ); } #endif @@ -16260,9 +16259,16 @@ bool CAI_BaseNPC::IsCrouchedActivity( Activity activity ) case ACT_COVER_SMG1_LOW: case ACT_RELOAD_SMG1_LOW: #ifdef MAPBASE - //case ACT_RELOAD_AR2_LOW: +#if AR2_ACTIVITY_FIX == 1 + case ACT_COVER_AR2_LOW: + case ACT_RELOAD_AR2_LOW: +#endif case ACT_RELOAD_PISTOL_LOW: case ACT_RELOAD_SHOTGUN_LOW: +#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES + case ACT_RELOAD_REVOLVER_LOW: + case ACT_RELOAD_CROSSBOW_LOW: +#endif #endif return true; } diff --git a/sp/src/game/server/ai_basenpc_schedule.cpp b/sp/src/game/server/ai_basenpc_schedule.cpp index e0c9feef..61fefb3f 100644 --- a/sp/src/game/server/ai_basenpc_schedule.cpp +++ b/sp/src/game/server/ai_basenpc_schedule.cpp @@ -3374,14 +3374,17 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask ) } else if (IsActivityFinished()) { - // Dismount complete. Fix up our position if we have to + // Dismount complete. + GetMotor()->MoveClimbStop(); + + // Fix up our position if we have to Vector vecTeleportOrigin; if (GetMotor()->MoveClimbShouldTeleportToSequenceEnd( vecTeleportOrigin )) { - GetMotor()->MoveClimbStop(); SetLocalOrigin( vecTeleportOrigin ); - TaskComplete(); } + + TaskComplete(); } break; #else diff --git a/sp/src/game/server/ai_network.cpp b/sp/src/game/server/ai_network.cpp index 818324f0..1323b7ce 100644 --- a/sp/src/game/server/ai_network.cpp +++ b/sp/src/game/server/ai_network.cpp @@ -157,7 +157,7 @@ public: virtual float NodeDistanceSqr( CAI_Node &node ) { // Heavier hints are considered closer - if (node.GetHint() && node.GetHint()->GetHintWeight() != 1.0f) + if ( node.GetHint() && node.GetHint()->GetHintWeight() != 1.0f && (node.GetHint()->GetGroup() == NULL_STRING || node.GetHint()->GetGroup() == m_pNPC->GetHintGroup()) ) { return CNodeFilter::NodeDistanceSqr( node ) * node.GetHint()->GetHintWeightInverse(); }