public void onHit(Physicsable source) {
		if(hitBy.contains(source)) return;
		hitBy.add(source);
		health -= source.damage;
		
		if(source instanceof Meteor) health -= source.damage * 3;
		if(health >= 1) return;
				
		FMath.playSound("Meteor_Destroy0");
		remove();
		if(size < 18) return;
		
		ArrayList<Meteor> meteors = new ArrayList<Meteor>();
		for (int i = 0; i < 4; i++) {
			Point newPos = randomRelativePos();
			Point newVelocity = FMath.smallerHypot(position.x - newPos.x, position.y - newPos.y, MAX_SPEED / 1.5);
			Meteor _meteor = new Meteor(color, newPos, newVelocity, size / 2);
			meteors.add(_meteor);
			Flatscape.enemyAddition.put(_meteor, true);
		}
		for(Meteor _meteor : meteors) {
			for(Meteor $meteor : meteors) {
				if(_meteor == $meteor) continue;
				_meteor.hitBy.add($meteor);
			}
		}
	}