I really haven ' t had ' trouble ' but maybe it ' s because I ' m seeing her played more that she ' s gotten into the ' annoying to play against ' category . As S 76 I just stand back and plink away , as Roadhog I can get baby DVa out of her mech failry easily . But I must admit when someone uses her movement well , it does become difficult . <| sep |> You are right about the code . The only barely viable way to get this done with current code is to give contracts such as Complete mission without Witch Hunter in the team , for example . This way , of course , WH will be kicked from all games all day , which would not contribute to the friendly atmosphere . One more problem is that the contract should not decrease player pool . Even if the contracts ARE randomized , for any given game with 3 players in it there is 60 % chance that your hero is already taken it is not a problem now that you can simply change them , but it will be if you have a contract . Also , if you have a full party of friends , there is almost a 100 percent chance that your contract will be for the same hero . I see a very easy way to do it though implement a class of contracts that say something like Complete any 2 missions playing 23 different characters after you take the contract , you can complete any number of missions on any hero . Then you get 12 point for victory on any other hero . Need 12 points total Use 2 different meelee and 2 different ranged weapons on the same hero to complete any 2 missions after you take the contract , you can complete any number of missions on any number of heroes . Then you get 1 point for any weapon that you used that is different from your previous loadout on the same hero . Need 2 points . For example , I take Sienna and I use Bolt StaffSword , and for the next mission BeamConflagationEtc .