für mich sieht der code ganz okay aus. müsste es jetzt mal ausprobieren, aber eigentlich kann es nur so sein, wie joga gesagt hat.
da du eh ein array verwendest könntest du auch ein panel mit dem korrespondierenden event verwenden oder einfach on_mouse_left oder on_mouse_right mit mouse_pan und dadurch dein panel/objekt abfragen. du kannst ja in skill_x oder skill_y deine daten speichern.
wäre ein mehr oder weniger einfacher workaround, wobei du sogar mehr kontrolle über die einzelnen objekte hast