well from what i noticed in-game, all projectiles such as fragmentation grenades bounce with perfect reflection. as in, their velocity vector is changed accordingly to have a perfect bounce off of the wall or floor (with a bit of basic friction of course, so it slows down with each bounce). if you can find where they programmed bouncing entity physics (i think its MOVETYPE_BOUNCE which tells the entity to bounce when it hits something), you can find whatever perfect reflection formula they may be using to accomplish that.