Okay, I've had a chance to test the conditional plan, however, it seems I can only get one condition from one field, the membership price is based on 4 radio fields.
Unfortunately it can only condition off of 1 field at this time.
This equates to over 40 separate plans.
Maybe a better way to do this would be to have 1 plan and just modify its price using CBSubs Promotions. A negative promotion can be used to increase the price of a plan.
The way I'd probably do this is combine a few things to reduce the maintenance overhead. First create a Code field using CB Code Field. The code field should use PHP to calculate the price based off your other fields. Example as follows.
Code:
$price = 0;
if ( $user->get( 'cb_field1' ) == 'value1' ) {
$price += 20; // add 20 to the price
}
if ( $user->get( 'cb_field2' ) == 'value2' ) {
$price += 5; // add 5 to the price
}
return -$price;
Now you'd create a promotion that uses the value of that field as its promotion value. This promotion should be an always applied one instead of a coupon code and should be conditioned to only apply to your 1 specific plan. This should result in the price dynamically increasing entirely based off whatever criteria you want in your code field, which you can freely add to or adjust whenever you like. This also means you only need to maintain 1 plan, 1 promotion, and 1 field.
If you want to show them the code field during registration you'll need to combine it with CB Core Fields Ajax and turn on its Update On for all the fields the code field depends on. This will allow its display during registration to refresh. So for example the Update On with the above should have cb_field1 and cb_field2 selected and when those fields values change the code field will update.