It remains true that the "no" branch could not have conditions? In the end it the "yes" fails is OK to say not with the original modifier... doing checks in this case should have only sense if the Pope would have the possibility to make three choices (I don't now for example if he was greedy he could say "well if you give me some money maybe..." :laugh

.
You seem to have a basic misunderstanding of the language being used here. This is not a script, with branching & flow control based on if statements. The "we get here automatically" is meaningless.
The factors are
weights. Both options will get their weights evaluated, then a random number generator will choose between the options in proportion to the weights. And
each if in the 1st option will be evaluated, not just the first, and all the successful ones will be multiplied together with the base factor (50 in your case).
If the pope is ambitious or his opinion<0, the factor 0 will apply, but so will .25, .50, and .75. So, 50*0*.25*.5*.75=0. 0 weight vs. the 2nd option's 50 weight will always choose the 2nd.
If the pope is not ambitious, and his 0<=opinion<25: 50*.25*.5*.75=4.6875. Set against the 50 of the 2nd option, that gives about 8.6% chance to say yes.
If the pope is not ambitious, and his 25<=opinion<50: 50*.5*.75=18.75. Set against the 50 of the 2nd option, that gives about 27.3% chance to say yes.
If the pope is not ambitious, and his 50<=opinion<75: 50*.75=37.5. Set against the 50 of the 2nd option, that gives about 42.9% chance to say yes.
If the pope is not ambitious, and his 75<=opinion<=100: 50. Set against the 50 of the 2nd option, that gives 50% chance to say yes.
If you actually want the percentages described in your comments, you'll need to change things. 1st, give the 2nd option a base factor of 6, and a modifier with factor=0 when opinion=75. On the 1st option, base factor 2, drop the opinion not 25 modifier, and change the .50 and 0.75 opinion factors to .3333 and 9.