Proposal: Remove glorified CHEATS

Yes, it suggests that I did something wrong… Getting 0.0 should be pretty rare (even rarer than getting 1.0).

I don’t even know why I changed it. Probably selected a wrong number when lowering the dretch damage. Dretch definitely needs to be adapted to grazing hits the most because of its automatic bite which you can’t control. For now I simply increased its rate of fire and lowered the damage.

try setting the float precision of your prints to 0.00 or maybe even 0.000, perhaps the problem is rounding of the displayed results.

Nevermind, it’s probably because of the attack width (where you can miss the bbox completely and still hit). Minimum grazing hit damage could use some increase if this becomes a problem.

@lamefun , your latest movement fixes are on the GrangerLab server now. The spitfire seems better, however the jet movement seems jerky. Here is the current PM_JetPackMove() function for swirl:

/*
===================
PM_JetPackMove

Only with the jetpack
===================
*/
static void PM_JetPackMove( void )
{
  int     i;
  vec3_t  wishvel;
  float   wishspeed;
  vec3_t  wishdir;
  float   scale;

  //normal slowdown
  PM_Friction( );

  scale = PM_CmdScale( &pm->cmd, qfalse );

  // user intentions
  for( i = 0; i < 2; i++ )
    wishvel[ i ] = scale * pml.forward[ i ] * pm->cmd.forwardmove + scale * pml.right[ i ] * pm->cmd.rightmove;

  if( pm->cmd.upmove > 0.0f )
  {
    vec3_t thrustDir = { 0.0f, 0.0f, 1.0f };

    if( pm->ps->viewangles[ PITCH ] > 0.0f )
      VectorCopy( pml.up, thrustDir ) ;

    // give an initial vertical boost when first activating the jet
    if( pm->ps->persistant[PERS_JUMPTIME] <= JETPACK_ACT_BOOST_TIME )
      VectorMA( wishvel, JETPACK_ACT_BOOST_SPEED, thrustDir, wishvel );
    else
      VectorMA( wishvel, JETPACK_FLOAT_SPEED, thrustDir, wishvel );
  }
  else if( pm->cmd.upmove < 0.0f )
    wishvel[ 2 ] = -JETPACK_SINK_SPEED;
  else
    wishvel[ 2 ] = 0.0f;

  // apply the appropirate amount of gravity if the upward velocity is greater
  // than the max upward jet velocity.
  if( pm->ps->velocity[ 2 ] > wishvel[ 2 ] )
    pm->ps->velocity[ 2 ] -= MIN( pm->ps->gravity * pml.frametime, pm->ps->velocity[ 2 ] - wishvel[ 2 ] );

  VectorCopy( wishvel, wishdir );
  wishspeed = VectorNormalize( wishdir );

  PM_WallCoast( wishdir, WALLCOAST_3D );
  PM_Accelerate( wishdir, wishspeed, pm_flyaccelerate );

  PM_StepSlideMove( qfalse, qfalse );

  if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) )
    PM_ContinueLegsAnim( LEGS_LAND );
  else
    PM_ContinueLegsAnim( NSPA_LAND );

  // disable bunny hop
  pm->ps->pm_flags &= ~PMF_ALL_HOP_FLAGS;
}
1 Like

After 8 hours of debugging, I managed to fix the jerking jet problem with 2 line changes, and I updated the servers with this fix so that the jet should be playable again. Here is the commit:

Turns out the current implementation of PM_ComputeWallSpeedFactor() doesn’t mix well with the jet.

2 Likes

There has been an issue with the wall coasting that has had a negative impact on the aliens specifically from what i observed. Other players and buildables were treated like walls, and they would be “slippery” when attacking them using melee. So what I did in an update last night is to have wall coasting ignore other players and buildables. (something to consider for another update is have a MIN_WALK_NORMAL customized per class, as I have noticed that the mara has had difficulties passing by various doors/entrances by sliding).

In that same update I made it so that the jump acceleration only applies to jumping forward, which should help address the back peddling issue a bit, and addresses the super slow luci shot.

4 Likes