Mafia tend to want to kill power roles. Is there something different about this setup that changes that?
Yes. Most importantly: one of the three power roles is mafia, and that role doesn't work.
Suppose all town claim truthfully. My partner can lie, which would be stupid; that narrows it down to the two candidates which claim the same hat. Whichever power hat isn't claimed is the one mafia have. If it's
not the vig, you just lynch one and vig the other. If it is, you'll have to lynch each separately. In either case, you would of course lynch me first. Mafia get off at most one kill, if my partner graverobs me tonight and survives tomorrow's lynch.
Otherwise, my partner tells the truth. All hats are claimed. You know one of the three claimed power roles is scum. Which one? In this case, you leave me alive today and tell the vig claim to vig me while the doctor claim doctors the vig claim (you can have the cop claim cop the doctor, if you want). If the vig is my partner, I survive and presumably kill one person; you lynch me tomorrow, then lynch my partner the next day. If the doctor or cop is my partner, I get killed, I kill someone else, you have to pick between the doctor and cop claims to lynch tomorrow, and the vig, if alive, kills the other (if necessary). Of course if I kill the vig, you know the doctor was my partner, so assume I'm smart enough not to do that. Mafia again get off at most one kill.
In all cases you will mislynch at most one player.
This is all, of course, really obvious. If I had chosen to fakeclaim, it would have been slightly harder since you would have two "possibility pools" to pick from, but still easy enough that I decided my plan was better.