public boolean[] CollisionEventWithShotWithHull(Ship ship, Shot shot, ArrayList<Ship> allShips)
    {
        boolean[] removed = {false, false}; // first is ship, second is shot.
        
        for (Ship s : allShips)
        {
            if (shot.getOwner().equals(s) && !s.equals(ship)) // if s fired the shot and s isn't the ship that collided with the shot...
            {  
                if (!(ship instanceof Enemy && s instanceof Enemy))
                { 
                    removed[1] = true;
                } 
            }
        }
        
        if (!ship.getShots().contains(shot)) 
        {
            if (!(ship instanceof Enemy && shot.getOwner() instanceof Enemy))
            {
                takeDamageHull(shot.getDamage());
                if (hullDurability <= 0) 
                {
                    removed[0] = true;
                }
            }
        }
        
        return removed;
    }