From my experience, SPHITSP doesn't work well when a rotation have been applied to a sprite. If your ship doesn't rotate, then you can use SPHITSP. Protip: SPHITSP(SPRITE1) always return the first that overlap SPRITE1, but SPHITSP() return the rest. You can do something like this: var SPHT=SPHITSP(LASER) REPEAT DAMAGESHIP SPHT SPHT=SPHITSP() UNTIL SPHT==-1