public void alienKilled(double dmg) {
        if(!(armour<=dmg)){
            armour-=dmg;
        } else if(!alreadyKilled){
            alreadyKilled=true;
                        Entity[][] grid = game.getAlienGrid();
                        grid[rowNum][colNum]=null;
                        game.setAlienGrid(grid);
            game.removeEntity(this);
            game.notifyAlienKilled((int)y,(int)x);
            Random r = new Random();
            Color c;

            int numSparks;
            if(Spark.glowEnabled){
            	numSparks=Spark.glowSparks;
            } else {
            	numSparks=Spark.normalSparks;
            }
            for(int i = 0; i<numSparks;i++){
            	switch(r.nextInt(3)){
            	case 0:c=Color.GREEN;
            	c=Color.red;
            	break;
            	case 1:c=Color.ORANGE;
            	c=Color.orange;
            	break;
            	case 2:c=Color.CYAN;
            	c=Color.yellow;
            	break;
            	default:c=Color.BLUE;
            }
            	double angle = r.nextInt(360);
            	int distance = r.nextInt(100);
            	int xPos = (int) (x+(Math.cos(angle)*distance));
            	int yPos = (int) (y+(Math.sin(angle)*distance));
            	game.addSpark((int) (x+(sprite.getWidth()/2)),(int) (y+(sprite.getHeight()/2)), 10,xPos,yPos,20, c,Spark.glowEnabled);
            }
            for(int i = 0; i<XPBonus;i++){
            	double angle = r.nextInt(360);
            	int distance = r.nextInt(50);
            	int xPos = (int) (x+(Math.cos(angle)*distance));
            	int yPos = (int) (y+(Math.sin(angle)*distance));
            	game.addSpark(xPos,yPos, 60,1,false,100, Color.WHITE,true);
            }
        }
        }