public void tryToFire(boolean isEpic) {
        // check that we have waiting long enough to fire
        if (System.currentTimeMillis() - lastFire < firingInterval) {
            return;
        }
        
        // if we waited long enough, create the shot entity, and record the time.
        lastFire = System.currentTimeMillis();
        ShotEntity shot = new ShotEntity(this,"sprites/shot.gif",ship.getX()+12,ship.getY()-5,upgradePanel.getLevel("ShtPwr"),0);
        entities.add(shot);
                shot = new ShotEntity(this,"sprites/shot.gif",ship.getX()+6,ship.getY()-5,upgradePanel.getLevel("ShtPwr"),0);
        entities.add(shot);
                if(isEpic&&power.getPower()>=10){
                	for(int i = 0;i<=upgradePanel.getLevel("BoPwr");i++){
                		int shotPos;
	                	if(i%2==0){
	                         shotPos = (9+((int) Math.ceil(((double)i)/2)));
	                	} else {
	                        shotPos = (9-((int) Math.ceil(((double)i)/2)));
	                	}
	                	shot = new ShotEntity(this,"sprites/shot2.gif",ship.getX()+shotPos,ship.getY()-5,1,0);
	                    entities.add(shot);
	                }
                    shot = new ShotEntity(this,"sprites/shot2.gif",ship.getX()+9,ship.getY()-5,1,0);
                    entities.add(shot);
                    power.addPower(-10);
                    
                }
    }