First sub proof starts with b

then you can infer

Funny(b) v Clever(b) v Pretty(b)

as well as

(Funny(b) v Clever(b)) -> ~Angry(b)

both are sited by Universal Elimination

Now, clearly we have to prove by case (3 in fact)

Sub proof one ( Assume Funny(b)) should not be a problem (you wish to get ~Angry(b) as end result)

Sub proof two (Assume Clever(b)) should also be easy (you wish to get ~Angry(b) as end result)

Sub proof three is the tricky one..

Assume Pretty(b)

Now make a new sub proof under this one and assume Angry(b).

Now, you can state Angry(b) & Pretty(b) (Conditional Intro from Pretty(b) and Angry(b))

Since we now have Angry(b) & Pretty(b), we can state Ex(Angry(x) & Pretty(x)), but guess what, this contradicts Premise 1, so indicate contradiction and state your two lines, end the sub proof and now state ~Angry(b) with rule ~Intro and state the lines of the sub proof you just finished. Now, you should see that you have three cases and all of them ends with ~Angry(b), so end this last case and write ~Angry(b). State as rule Disjunction elimination and state the lines for your disjunction sentence and your three cases. End the sub proof and state Ax ~Angry(x) and state as rule, Universal Intro specifying the lines for your b sub proof

And that's that..