```damage``` is the only variable carried between ```moveHit``` and ```tryMoveHit```, but it currently doesn't differentiate between sub damage and damage to a pokemon; both can return 0 in certain circumstances (e.g. hitting Sturdy Shedinja), so that allows damage to return different values depending on if 0 damage was _actually_ dealt and if it was a sub instead (it will only return a number if the move actually connects directly with a target)