I tip 25% for great service, 20% for good service, 15% for o.k. service, 10% for just bringing my food and drinks to the table and 0% and a BIG "F U" as I exit for rudeness or an attitude.
If the group you go out with doesn't tip well and shorts you, then find a new group to go out with.