@Override
	public void update() {
		super.update();
		
		//Get current time and set elapsed time
		double currentTime = System.currentTimeMillis();
		elapsedTime += (currentTime - previousTime) / 1000.0;
		previousTime = currentTime;

		//Check if bursting
		if(bursting){
			//Bursting, check if it's time to shoot
			if(elapsedTime >= shotDelay){
				elapsedTime -= shotDelay;
				shoot();
				burstRoundCount++;
				if(burstRoundCount >= numBurstRounds){
					bursting = false;
					burstRoundCount = 0;
					elapsedTime = 0;
				}
			}
		}
		else{
			//Not yet bursting, check if it's time to burst
			if(elapsedTime >= burstDelay){
				bursting = true;
				elapsedTime -= burstDelay;
				
				//Determine new burst equation
				currentBurstEquation = Equation.GenRndEquation(BattleState.difficulty);
			}
		}
	}