My initial thought process is to have the attack_range_obj keep track of every enemy it hits, and to check to see if it has already hit an enemy before carrying out the damage script. But like I said I am having the darnest time figuring out how to make that work. Any input you can provide would be greatly appreciated.
You can use ds_list, or just arrays,
arrays are the best, but you have to make your own scripts for complex stuff, but youve got way more control over everything with arrays but you have to do it all yourself
ds functions are basically arrays, but if you ever feel like your too limited with ds stuff, you can do all the same stuff with arrays plus anything else you can think of