You should add some probability to the weapon taking, because I'd hate to pick up a weapon and somebody just snatch it very easily from me. It should probably do something like based on their hp and how fast they are moving or something. Also, maybe you should add a bit of randomness with the punches, make them do a random number from somewhere from 10-30? Would add a bit of realism and not make the melee overpowered.