///<inheritdoc/>
        public override int GetHashCode()
        {
            int hash = 17;

            // Overflow is fine, just wrap
            unchecked
            {
                hash = (hash * 29) + PaintScheme.GetHashCode();
                hash = (hash * 29) + Health.GetHashCode();
                hash = (hash * 29) + Compliance.GetHashCode();
                hash = (hash * 29) + FlashLights.GetHashCode();
                hash = (hash * 29) + LifeFormState.GetHashCode();
                hash = (hash * 29) + FrozenStatus.GetHashCode();
                hash = (hash * 29) + State.GetHashCode();
                hash = (hash * 29) + Weapon1.GetHashCode();
                hash = (hash * 29) + Weapon2.GetHashCode();
                hash = (hash * 29) + CamouflageType.GetHashCode();
                hash = (hash * 29) + ConcealedStationary.GetHashCode();
                hash = (hash * 29) + ConcealedMovement.GetHashCode();
            }

            return(hash);
        }