What if there's a cooldown: after robbing a node, you must skip at least one level before robbing again? Now you need three states: (rob,skip1,skip2+). skip1 = just skipped one level, skip2+ = skipped two or more.
Transition: rob=value+skip2+children. skip1=robchildren. skip2+=max(skip1,skip2+)children. This pattern generalizes: more constraints = more states. The tree structure stays the same; only the state tuple grows.