Thanks for the prompt reply, Dave.
For folks interested in how I tackled this, see some scraps of code below :) the branching for trial RCDP is bloated, but I opted to keep it built out as a check for other conditions that have a less rigid structure!
<trial RC12>
/ ontrialbegin = [
trial.RC12.insertstimulustime(video.AtoB, expressions.cyberdecisiontime);
values.gamestate = "RC12"
]
/ stimulustimes = [0= Bear, Wildebeest, YOU, picture.chosenavatar, AtoB_static]
/ timeout = 0
/ branch = [
if(values.trialcounterRC == 5) {surveypage.RCsurvey}
else if(values.trialcounterRC == 10) {surveypage.RCsurvey}
else if(values.trialcounterRC == 15) {surveypage.RCsurvey}
else if(values.trialcounterRC == 20) {surveypage.RCsurvey}
else if(values.trialcounterRC == 25) {surveypage.RCsurvey}
else{trial.RC2P}
]
/ ontrialend = [values.trialcounterRC += 1]
</trial>
<trial RCDP>
/inputdevice = mouse
/ ontrialbegin = [
values.DPcountRC += 1
]
/ validresponse = (picture.Bear, picture.Wildebeest)
/ stimulustimes = [0= Bear, Wildebeest, YOU, picture.chosenavatar, PtoB_static]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 2) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 2) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 5) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 5) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 8) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 8) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 11) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 11) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 14) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 14) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 17) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 17) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 20) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 20) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 23) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 23) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 26) {trial.RCP1}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 26) {trial.RCP2}]
/ branch = [if(trial.RCDP.response == "Bear" && values.trialcounterRC == 29) {trial.RCP1final}]
/ branch = [if(trial.RCDP.response == "Wildebeest" && values.trialcounterRC == 29) {trial.RCP2final}]
</trial>
<surveypage RCsurvey>
/ ontrialbegin = [values.RCsurvey +=1]
/ stimulustimes = [0= Bear, Wildebeest, YOU, picture.chosenavatar, box, box1]
/ fontstyle = ("Arial",25)
/ questions = [1= slider.fair; 2= AffectiveSlider1; 3=sleepy_face; 4=awake_face; 5=gradient1; 6=AffectiveSlider2; 7=unhappy_face; 8=happy_face; 9=gradient2]
/ showpagenumbers = false
/ nextbuttonposition = (70%, 68%)
/ branch = [
if(values.gamestate == "RC12") {trial.RC2P}
else if(values.gamestate == "RC21") {trial.RC1P}
else if(values.gamestate == "RC2P") {trial.RCDP}
else if(values.gamestate == "RC1P") {trial.RCDP}
else if(values.gamestate == "RCP1") {trial.RC12}
else if(values.gamestate == "RCP2") {trial.RC21}
]
</surveypage>