Anything that evaluates to boolean (true or false) can be in the WHEN state of the CASE statement. Therefore, you can replace 'r' with:
('r' AND table1.name='jones')
Thinking more about this, you may need to lose table1.event after CASE
SELECT table1.id, table1.name, CASE WHEN (table1.event = 'r' AND table1.name='Jones') THEN 'very high' WHEN table1.event = 't' THEN 'very low' ELSE (SELECT table2.risk FROM table2 WHERE table2.value <= table1.value ORDER BY table2.value DESC LIMIT 1) END AS risk FROM table1 ORDER BY FIELD( table1.event, 'r', 'f', 't' ), table1.value DESC
source share