Quest staircase only calculates intensity after all conditions have passed

OS (e.g. Win10): Win10
PsychoPy version (e.g. 1.84.x): 3.15
Standard Standalone? (y/n) Yes

What are you trying to achieve?:
I have a 2IFC QUEST staircase. I am using the xlsx file with 4 conditions to randomize the interval and location of a gabor. Right now what happens is that the MultiStairHandler runs through all 4 conditions in one routine and then it only adjusts the intensity from the last condition used.

I want it to where the intensity for the next trial is adjusted after each condition, or only one condition is randomly selected for each routine.

I remove the interval, position, corrAns columns from the condition file and just left one condition needed for the staircase and under Begin Experiment I wrote:

import random

Then under Begin Routine:

interval = (200, 402)
position = ([-10,0], [+10,0])
gabFrame = random.choice(interval)
pos = random.choice(position)
grating.setPos(pos)
if gabFrame == 200:
    corrAns = ['s','x']
else:
    corrAns = ['k','m']