add damage check before calculate