Jeśli chcesz to zrobić na podstawie odległości od przeciwnika (im bliżej, tym miecz wchodzi w sumie głębiej), to wystarzczy np.
GML
//w kolizji
var dist,taken;
dist = point_distance(x,y,other.x,other.y);
taken = 20 - dist; //im dalej, tym mniej hp odbierze, np. 12 pixeli od (o ile jest tak duży miecz), będzie to raptem 8 hp)</span>