That's exactly right! You find a good place to branch (usually somewhere that loads a byte or overwrites a register with a mov or ldr function) then do the Thick Fat check, if it's successful go back to the original routine where it checks for Fire and Ice, then immediately after that check have the Heatproof check. Though if successful, i'd just copy how it handles Fire (or move Fire to after Ice) just so that when you branch with Heatproof it then doesn't check the ice at all.