There's bound to be a more elegant way to do this but the idea below
might work. It requires two attributes to be set: expectation (+ and -
for 50% of the trials) and congruency (1 and 0 for 80% and 20% of the
trials). I assume your setup allows you to organise such a thing in
your lists?
Then what you'd do is first shift by the expectation attribute (+ or
-) and next by the congruency attribute to end up with the desired
feedback. The code below is not tested I probably made typoes and
mistakes in it, but it shows you the general idea.
*****************
select case c.getattrib ("expectation")
case +
select case c.getattrib ("congruency")
case 1
if response.acc = 1 then c.setattrib "feedback",
feedbackforrewardandcorrect
if response.acc = 0 then c.setattrib "feedback".
feedbackforrewardandincorrect
case 0
if response.acc = 1 then c.setattrib "feedback",
feedbackforpunishmentandcorrect
if response.acc = 0 then c.setattrib "feedback".
feedbackforpunishmentandincorrect
end select
case -
select case c.getattrib ("congruency")
case 1
if response.acc = 1 then c.setattrib "feedback",
feedbackforpunishmentandcorrect
if response.acc = 0 then c.setattrib "feedback".
feedbackforpunishmentandincorrect
case 0
if response.acc = 1 then c.setattrib "feedback",
feedbackforrewardandcorrect
if response.acc = 0 then c.setattrib "feedback".
feedbackforrewardandincorrect
end select
end select
************************