summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/bg_pmove.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index 62151f4..cb215a3 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -609,6 +609,25 @@ static void PM_CheckCharge( void )
/*
=============
+PM_CheckWaterPounce
+=============
+*/
+static void PM_CheckWaterPounce( void )
+{
+ if( pm->ps->weapon != WP_ALEVEL3 &&
+ pm->ps->weapon != WP_ALEVEL3_UPG )
+ return;
+
+ // We were pouncing, but we've landed into water
+ if( ( pm->waterlevel > 1 ) && ( pm->ps->pm_flags & PMF_CHARGE ) )
+ {
+ pm->ps->pm_flags &= ~PMF_CHARGE;
+ pm->ps->weaponTime += LEVEL3_POUNCE_REPEAT;
+ }
+}
+
+/*
+=============
PM_CheckPounce
=============
*/
@@ -1188,7 +1207,6 @@ static void PM_WaterJumpMove( void )
/*
===================
PM_WaterMove
-
===================
*/
static void PM_WaterMove( void )
@@ -1200,6 +1218,8 @@ static void PM_WaterMove( void )
float scale;
float vel;
+ PM_CheckWaterPounce( );
+
if( PM_CheckWaterJump( ) )
{
PM_WaterJumpMove();