diff --git a/Source/Client/Player.c b/Source/Client/Player.c index 21505f06..b3f1bd36 100755 --- a/Source/Client/Player.c +++ b/Source/Client/Player.c @@ -32,7 +32,11 @@ float Player_PreDraw( void ) { vector vOldVelocity = self.velocity; float fOldPMoveFlags = self.pmove_flags; - self.movetype = MOVETYPE_WALK; + if ( getplayerkeyvalue( player_localnum, "*spectator" ) == "1" ) { + self.movetype = MOVETYPE_NOCLIP; + } else { + self.movetype = MOVETYPE_WALK; + } for ( int i = servercommandframe + 1; i <= clientcommandframe; i++ ) { getinputstate( i ); diff --git a/Source/Server/EntHostage.c b/Source/Server/EntHostage.c index 5c0964ed..7bdd2d1c 100755 --- a/Source/Server/EntHostage.c +++ b/Source/Server/EntHostage.c @@ -83,7 +83,6 @@ void hostage_die( int iHitBody ) { self.solid = SOLID_NOT; self.takedamage = DAMAGE_NO; - //skel_delete( self.skeletonindex ); if ( other.eTargetPoint != other.eUser ) { remove( other.eTargetPoint ); @@ -203,11 +202,8 @@ void hostage_physics( void ) { self.frame = 13; } } - - // Calculate physstuff + runstandardplayerphysics( self ); - //self.frame1time += frametime; - //skel_build( self.skeletonindex, self, self.modelindex, 1, 0, 0 ); } /* @@ -225,9 +221,6 @@ void hostage_entity( void ) { self.movetype = MOVETYPE_WALK; setmodel( self, self.model ); setsize( self, VEC_HULL_MIN + '0 0 36', VEC_HULL_MAX + '0 0 36' ); - - //self.basebone = -1; // Debug: Network that shit - //self.skeletonindex = skel_create( self.modelindex ); self.customphysics = hostage_physics; self.eUser = world; diff --git a/freecs/csprogs.dat b/freecs/csprogs.dat index 033cb905..c321e4f5 100644 Binary files a/freecs/csprogs.dat and b/freecs/csprogs.dat differ