Thanks, actually both was pretty easy. I hope I remember everything correctly... void PM_BeginWeaponchange in bg_pmove.c .
PM_AddEventWithParm( EV_CHANGE_WEAPON, weapon );
pm->ps->weaponstate = WEAPON_DROPPING;
pm->ps->weaponTime = 0; //afi
//PM_StartTorsoAnim( TORSO_DROPWEAP1 );
//PM_SetAnim(SETANIM_TORSO, TORSO_DROPWEAP1, SETANIM_FLAG_OVERRIDE, 0);
And void PM_FinishWeaponchange pm->ps->weapon = weapon;
pm->ps->weaponstate = WEAPON_READY;
pm->ps->weaponTime = 0; You may also want so change some stuff around line 7237... like custom switch time for different weapons... if (pm->ps->weapon == WP_DISRUPTOR)
{
if ( pm->ps->weaponTime <= 0 || pm->ps->weaponstate != WEAPON_FIRING )
{
if ( pm->ps->weapon != pm->cmd.weapon )
{
PM_BeginWeaponchange( pm->cmd.weapon );
}
}
}
else
{
if ( pm->ps->weapon != pm->cmd.weapon ) {
PM_BeginWeaponchange( pm->cmd.weapon );
}
} For the wallruns you just have to go to this if else if ( pm->cmd.upmove > 0 && pm->waterlevel < 2 &&
pm->ps->fd.forcePowerLevel[FP_LEVITATION] > FORCE_LEVEL_0 &&
!(pm->ps->pm_flags&PMF_JUMP_HELD) &&
(pm->ps->weapon == WP_SABER || pm->ps->weapon == WP_MELEE) &&
!PM_IsRocketTrooper() &&
!BG_HasYsalamiri(pm->gametype, pm->ps) &&
BG_CanUseFPNow(pm->gametype, pm->ps, pm->cmd.serverTime, FP_LEVITATION) ) And remove the (pm->ps->weapon == WP_SABER || pm->ps->weapon == WP_MELEE) && part