Ok, przeczytałem, że place_meeting zwraca tylko wartość true albo false. Wystarczyło zmienić
GML
a=place_meeting(x,y,o_swing)
na
GML
a=collision_point(x,y,o_swing,1,1)
i pięknie zwraca ID obiektu (czyli odejmuje hp jak należy)
Dzięki wielkie, nie zamykam, może się komuś przyda.