public void execute() {
		final int initialTurns = (int) Math.ceil(3.0 / State.coolingRate) + 4;
		double safeTurns = state.robotGunHeat / State.coolingRate;
		if(state.time < initialTurns) {
			/*
			 * Do we have enough time to move around before they can start
			 * firing?
			 */
			if(safeTurns > 4) {
				doMovement();
			} else {
				/*
				 * Stop down and face perpendicular to them to get ready for them to fire. 
				 */
				move.path.calculatePath(state.robotPosition, getTargetPosition(),
						state.robotBodyHeading, state.robotVelocity, state.robotOrbitDirection);

				bot.setTurnBody(move.path.getAngleToTurn());
				bot.setMaxVelocity(0);
				bot.setMove(0);
				
				move.updateNextPosition(move.path.getAngleToTurn(), 0, 1);
			}
		} else {
			doMovement();
		}

	}