VISUAL SEARCH (behavioral data only; no eyetracking) SCRIPT INFO Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 06-19-2017 last updated: 05-24-2018 by K.Borchert (katjab@millisecond.com) for Millisecond Software LLC Script Copyright © 05-24-2018 Millisecond Software BACKGROUND INFO *Purpose* This script implements a basic visual search paradigm based on: Motter,B.C., & Simoni, D.A. (2008). Changes in the functional visual field during search with and without eye movements. Vision Research 48 (2008) 2382–2393. *Task* Participants are asked to check a word grid for a target word. 75% of trials contain the target (72 trials = Target present, 24 trials = target absent). DATA FILE INFORMATION: The default data stored in the data files are: (1) Raw data file: 'visualsearch_letters_raw*.iqdat' (a separate file for each participant)* build: Inquisit build computer.platform: the platform the script was run on date, time, subject, group: date and time script was run with the current subject/groupnumber blockcode, blocknum: the name and number of the current block trialcode, trialnum: the name and number of the currently recorded trial (Note: not all trials that are run might record data; by default data is collected unless /recorddata = false is set for a particular trial/block) /arraySize: stores the number of stims presented (6, 24, 48) /targetPresent: 1 = target presented in array; 0 = otherwise picture.target.hposition: the horizontal screen position (in % of canvas width) picture.target.vposition: the vertical screen position (in % of canvas height) /targetDistance: calculates the distance (in %) from the target stim to the center (fixation cross) relative to the screen canvas (portion of monitor used for stimulus display) (only valid for 'Target Present' trials) -> the value can be converted to absolute measurements if the dimensions of the monitor are known (also needed: expressions.canvasRatio) /canvasRatio: calculates the ratio of canvas (=the part of the screen that is used by the script) height to height of monitor (in %) /currentTarget: stores the itemnumber of the current target item cue response: the participant's response (scancode of response button: 18(E); 23(I)) /response: translates scancode of response button into response: 'yes' vs. 'no correct: accuracy of response: 1 = correct response; 0 = otherwise latency: the response latency (in ms); measured from: onset of stims (after presentation of cue) (2) Summary data file: 'visualsearch_letters_summary*.iqdat' (a separate file for each participant)* script.startdate: date script was run script.starttime: time script was started script.subjectid: subject id number script.groupid: group id number script.elapsedtime: time it took to run script (in ms) computer.platform: the platform the script was run on /completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) /ACCoverall: overall proportion correct (across all test trials) /meanRT: mean latency (in ms) across all correct test trials /ACCtargetPresent_6: proportion correct of trials with 6 stimuli where the target is present /RTtargetPresent_6: mean correct latency (in ms) of trials with 6 stimuli where the target is present /ACCtargetAbsent_6: proportion correct of trials with 6 stimuli where the target is absent /RTtargetAbsent_6: mean correct latency (in ms) of trials with 6 stimuli where the target is absent /ACCtargetPresent_12: proportion correct of trials with 12 stimuli where the target is present /RTtargetPresent_12: mean correct latency (in ms) of trials with 12 stimuli where the target is present /ACCtargetAbsent_12: proportion correct of trials with 12 stimuli where the target is absent /RTtargetAbsent_12: mean correct latency (in ms) of trials with 12 stimuli where the target is absent /ACCtargetPresent_24: proportion correct of trials with 24 stimuli where the target is present /RTtargetPresent_24: mean correct latency (in ms) of trials with 24 stimuli where the target is present /ACCtargetAbsent_24: proportion correct of trials with 24 stimuli where the target is absent /RTtargetAbsent_24: mean correct latency (in ms) of trials with 24 stimuli where the target is absent /ACCtargetPresent_48: proportion correct of trials with 48 stimuli where the target is present /RTtargetPresent_48: mean correct latency (in ms) of trials with 48 stimuli where the target is present /ACCtargetAbsent_48: proportion correct of trials with 48 stimuli where the target is absent /RTtargetAbsent_48: mean correct latency (in ms) of trials with 48 stimuli where the target is absent * separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section "DATA" and follow further instructions EXPERIMENTAL SET-UP Practice: default - 6 practice trials (2 per target category, e.g. 'threat', order is randomized) - each possible target is used once per target category - random selection - 1 array size per target category (24 stims), random selection - half the trials (3) have the target present (order of 'target present' vs. 'target absent' randomized) - provides performance feedback Test: default 3 target word lists (24) x 1 array sizes (24) x 3 matrices (each word appears in each matrix once) = 72 trials Plus target absent condition (2 target conditions - 75% present vs. 25% absent) = 96 trials, tested in a full, mixed design - the 3 target categories are selected in random order - in each of the 3 target conditions: - in 72 trials, targets are present (each target appears once in each matrix type), on 24 trials, targets are absent (randomly selected) => balanced across the 3 different conditions (8 target present + 2-3 target absent trials for each of the 3 set sizes) - Target Selection: - The target stimulus is selected randomly from the 8 possible words in each stimuli list (see under STIMULI) for the given target condition) - each stimuli list is selected equally often (threat, neutral, positive) => each target word appears once per matrix (9 times). - Distractor Selection: - distractors are selected from a specific list per matrix -> the appropriate item numbers are selected randomly without replacement (repetitions are possible, once all 8 possible stims were selected) -> a word from the selected list does not feature as a distractor in a matrix if it is the target word - Stim Locations: - 24 possible stim locations (3x8 matrix, with fixation cross in the centre) - stim locations are randomly (without replacement) assigned to each of the stims (including target) - stim locations reset before each new trial Canvas: By default, the canvas (=part of the screen used by this script) is the biggest square (width = height) that can be established on the current monitor. The canvas can be further manipulated by explicitly forcing a specific canvas size and/or by forcing a specific windowsize (see section DEFAULTS for more info) Trial Sequence: Fixation Cross (until Spacebar press) -> Cue (default: 1000ms)->Array (max: 7000ms) STIMULI provided by Millisecond Software - can be edited under section Editable Stimuli INSTRUCTIONS edited EDITABLE CODE: check below for (relatively) easily editable parameters, stimuli, instructions etc. Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment. The parameters you can change are: ************************************************************************************************************** ************************************************************************************************************** EDITABLE PARAMETERS: change editable parameters here ************************************************************************************************************** ************************************************************************************************************** /cueDuration = 1000 /responseWindow = 7000 /spacebarReminder = 2000 /feedbackDuration = 2000 /readyDuration = 3000 /picSize = 25% /fixationSize = 10% /yesKey = 18 /yesKey_label = "E" /noKey = 23 /noKey_label = "I" /cueDuration = 1000 /responseWindow = 7000 /spacebarReminder = 2000 /feedbackDuration = 2000 /readyDuration = 3000 /cueDuration = 17 /responseWindow = 50 /spacebarReminder = 100 /feedbackDuration = 31 /readyDuration = 50 ************************************************************************************************************** ************************************************************************************************************** EDITABLE STIMULI ************************************************************************************************************** ************************************************************************************************************** Stim organization: 1-8: threat words 9-16: neutral words 17-24: positive words /1 = "anxious.jpg" /2 = "disaster.jpg" /3 = "harm.jpg" /4 = "nervous.jpg" /5 = "tense.jpg" /6 = "troubled.jpg" /7 = "upset.jpg" /8 = "worries.jpg" /9 = "apron.jpg" /10 = "butter.jpg" /11 = "curtain.jpg" /12 = "deep frozen.jpg" /13 = "fried.jpg" /14 = "hard boiled.jpg" /15 = "rare.jpg" /16 = "striped.jpg" /17 = "dreamy.jpg" /18 = "fascinating.jpg" /19 = "funny.jpg" /20 = "outing.jpg" /21 = "relaxing.jpg" /22 = "summer.jpg" /23 = "wealth.jpg" /24 = "wonderful.jpg" ************************************************************************************************************** ************************************************************************************************************** EDITABLE INSTRUCTIONS: change instructions here ************************************************************************************************************** ************************************************************************************************************** / fontstyle = ("Arial", 3.5%, true, false, false, false, 5, 1) / txcolor = black / screencolor = white / windowsize = (100%, 100%) ^^Welcome! ^^This is a visual search task. ^You will be presented with a fixation point in the centre of the screen followed by a single target word. You will then be presented with an array of 24 words in a grid, and asked to search for the target word that you have just seen. ^The grid may or may not contain the target word, and you need to indicate as quickly and accurately as possible whether you think it is in the grid. ^Once you have made your choice, another fixation cross will appear, followed by another target word. ^^There will be separate target words for each grid and you will perform several of these trials. ^^Please place your index fingers on the '<%parameters.yesKey_label%>' and '<%parameters.noKey_label%>' keys ^^When the task starts please look at the fixation cross. Once you have your eyes on the fixation cross, press the spacebar to view the target word. ^^If the grid DOES contain the target, press the left '<%parameters.yesKey_label%>' for yes. If the grid DOES NOT contain the target, press the right '<%parameters.noKey_label%>' for no. ^^As a reminder, yes and no labels are printed at the bottom of the screen. ^^There will be 8 practice trials on which you will receive feedback, but you will not receive feedback on the main task. Any questions? Are you ready to begin? ^^Please press the spacebar to begin ^^This is the end of the practice, and the actual task is about to start. ^^The task will stay the same, except you will not receive feedback. ^^As before, please indicate as quickly and accurately as possible, whether the array of words in the grid contains the target word. ^^Any questions? ^^Please press the spacebar to continue. You have reached the end of the task. ^^Thank you! / items = ("Press the Spacebar") / position = (50%, 55%) / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) / txcolor = darkgray / txbgcolor = transparent / items = ("Correct", "Incorrect!", "No response detected") / select = values.selectFeedback / position = (50%, 50%) / fontstyle = ("Arial", 7%, true, false, false, false, 5, 1) / items = ("yes") / position = (15%, 95%) / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) / size = (10%, 3%) / txcolor = black / items = ("no") / position = (85%, 95%) / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) / size = (10%, 3%) / txcolor = black ******************************* General Helper Instructions ****************************** / items = ("Get Ready: ~n<%expressions.buttoninstruct1%>") / fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1) / size = (80%, 40%) **************************************************************************************************** general instruction expressions: adjust the instruction text depending on device used to run script **************************************************************************************************** /buttoninstruct1 = if (computer.touch && !computer.haskeyboard) {"place your index fingers over the '<%parameters.yesKey_label%>' and '<%parameters.noKey_label%>' keys ~nand your thumbs over the ";} else {"put your index fingers on the '<%parameters.yesKey_label%>' and '<%parameters.noKey_label%>' keys ~nand your thumbs on the ";} ************************************************************************************************************** ************************************************************************************************************** EDITABLE LISTS: change editable lists here ************************************************************************************************************** ************************************************************************************************************** Note: the following lists control the positions of target and distractors on the screen locations are randomly selected from the 24 possible locations 0%: top/left of screen - 100%: bottom/right of screen (%points are the center of the images) (the size of the stim images is set at 10% by default, so the locations need at least 10% space to not overlap) /items = ( 15%, 15%, 15%, 15%, 15%, 15%, 15%, 15% 50%, 50%, 50%, 50%, 50%, 50%, 50%, 50% 85%, 85%, 85%, 85%, 85%, 85%, 85%, 85%) / replace = false / selectionrate = always / items = ( 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%) / selectionmode = list.xpos.currentindex / selectionrate = always ************************************************************************************************************** !!!REMAINING CODE: Customize after careful consideration only!!! ************************************************************************************************************** ************************************************************************************************************** ************************************************************************************************************** DEFAULTS ************************************************************************************************************** ************************************************************************************************************** script requires Inquisit 5.0.7.0 or higher /canvasaspectratio = (1,1) /minimumversion = "5.0.7.0" / fontstyle = ("Arial", 3%, false, false, false, false, 5, 1) /txbgcolor = white / txcolor = black / screencolor = white Note: /canvasaspectratio = (1, 1) <= uses a square as the canvas (with no further constraints, it will be the biggest square that can be establised on the current monitor) /canvassize = (50%, 50%) <= further constraints the size of the canvas to be 50% of the biggest square found OR /canvassize = (800px, 800px) <= uses a 800pixel x 800pixel square as the canvas /windowsize = (90%, 90%) <= the actual windowsize presented is 90% of the monitor width/90% of the monitor height ************************************************************************************************************** ************************************************************************************************************** DATA ************************************************************************************************************** ************************************************************************************************************** Note: data file explanations under User Manual Information at the top To change from one data file per participant to one data file for all participants, set /separatefiles = false *********************** raw data file *********************** / separatefiles = true / columns = (build, computer.platform, date, time, subject, group, blockcode, blocknum, trialcode, trialnum, values.arraySize, values.targetPresent, picture.target.hposition, picture.target.vposition, expressions.targetDistance, expressions.canvasRatio, values.currentTarget, response, values.response, correct, latency) *********************** summary data file *********************** /columns = (script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, computer.platform, values.completed, expressions.ACCoverall, expressions.meanRT, expressions.ACCtargetPresent_24, expressions.RTtargetPresent_24, expressions.ACCtargetAbsent_24, expressions.RTtargetAbsent_24) / separatefiles = true ************************************************************************************************************** ************************************************************************************************************** VALUES: automatically updated ************************************************************************************************************** ************************************************************************************************************** /completed: 0 = script was not completed; 1 = script was completed (all conditions run) /currentTarget: stores the itemnumber of the current target item cue /selectTarget: stores the itemnumber of the target (for target present trials) or the itemnumber of a distractor presented instead of the target (in target absent trials) /arraySize: stores the number of stims presented (6, 24, 48) /targetPresent: 1 = target presented in array; 0 = otherwise /response: translates scancode of response button into response: 'yes' vs. 'no /selectDistractor1- /selectDistractor47: store the itemnumber of up to 47 distractor items /completed = 0 /currentTarget = 0 /selectTarget = 3 /arraySize = 0 /targetPresent = 0 /response = "" /selectFeedback = 0 /selectDistractor1 = 0 /selectDistractor2 = 0 /selectDistractor3 = 0 /selectDistractor4 = 0 /selectDistractor5 = 0 /selectDistractor6 = 0 /selectDistractor7 = 0 /selectDistractor8 = 0 /selectDistractor9 = 0 /selectDistractor10 = 0 /selectDistractor11 = 0 /selectDistractor12 = 0 /selectDistractor13 = 0 /selectDistractor14 = 0 /selectDistractor15 = 0 /selectDistractor16 = 0 /selectDistractor17 = 0 /selectDistractor18 = 0 /selectDistractor19 = 0 /selectDistractor20 = 0 /selectDistractor21 = 0 /selectDistractor22 = 0 /selectDistractor23 = 0 /selectDistractor24 = 0 /selectDistractor25 = 0 /selectDistractor26 = 0 /selectDistractor27 = 0 /selectDistractor28 = 0 /selectDistractor29 = 0 /selectDistractor30 = 0 /selectDistractor31 = 0 /selectDistractor32 = 0 /selectDistractor33 = 0 /selectDistractor34 = 0 /selectDistractor35 = 0 /selectDistractor36 = 0 /selectDistractor37 = 0 /selectDistractor38 = 0 /selectDistractor39 = 0 /selectDistractor40 = 0 /selectDistractor41 = 0 /selectDistractor42 = 0 /selectDistractor43 = 0 /selectDistractor44 = 0 /selectDistractor45 = 0 /selectDistractor46 = 0 /selectDistractor47 = 0 /selectDistractor48 = 0 ************************************************************************************************************** ************************************************************************************************************** EXPRESSIONS ************************************************************************************************************** ************************************************************************************************************** /ACCoverall: overall proportion correct (across all test trials) /meanRT: mean latency (in ms) across all correct test trials /ACCtargetPresent_24: proportion correct of trials with 24 stimuli where the target is present /RTtargetPresent_24: mean correct latency (in ms) of trials with 24 stimuli where the target is present /ACCtargetAbsent_24: proportion correct of trials with 24 stimuli where the target is absent /RTtargetAbsent_24: mean correct latency (in ms) of trials with 24 stimuli where the target is absent /targetDistance: calculates the distance (in %) from the target stim to the center (fixation cross) relative to the screen canvas (portion of monitor used for stimulus display) (only valid for 'Target Present' trials) -> the value can be converted to absolute measurements if the dimensions of the monitor are known (also needed: expressions.canvasRatio) /canvasRatio: calculates the ratio of canvas height to height of monitor (in %) /ACCoverall = list.accuracy.mean /meanRT = list.latencies.mean /ACCtargetPresent_24 = list.ACCtargetPresent_24.mean /RTtargetPresent_24 = list.RTtargetPresent_24.mean /ACCtargetAbsent_24 = list.ACCtargetAbsent_24.mean /RTtargetAbsent_24 = list.RTtargetAbsent_24.mean /targetDistance = sqrt((picture.target.hposition - text.fixation.hposition)*(picture.target.hposition - text.fixation.hposition) + (picture.target.vposition - text.fixation.vposition) * (picture.target.vposition - text.fixation.vposition)) /canvasRatio = (display.canvasheight/display.height)*100 ************************************************************************************************************** ************************************************************************************************************** INSTRUCTIONS ************************************************************************************************************** ************************************************************************************************************** ************************************* General Helper Instruction Trials/Blocks ************************************* This trial is used when participants are asked to place their fingers on specific response buttons. On the touchscreen, this trial presents the (inactive) response buttons to the participants. / stimulusframes = [1 = getReady] / trialduration = parameters.readyDuration / validresponse = (parameters.yesKey, 57, parameters.noKey) / beginresponsetime = parameters.readyDuration / errormessage = false / recorddata = false ************************************************************************************************************** ************************************************************************************************************** STIMULI ************************************************************************************************************** ************************************************************************************************************** / items = ("+") / fontstyle = ("Arial", parameters.fixationSize, false, false, false, false, 5, 1) / position = (50%, 50%) / size = (parameters.fixationSize, parameters.fixationSize) / items = stims / select = values.currentTarget / position = (50%, 50%) / size = (parameters.picSize, parameters.picSize) / shape = rectangle / color = gray / position = (50%, 50%) / size = (parameters.picSize, parameters.picSize) / items = stims / select = values.selectTarget / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor1 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor2 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor3 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor4 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor5 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor6 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor7 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor8 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor9 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor10 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor11 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor12 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor13 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor14 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor15 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor16 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor17 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor18 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor19 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor20 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor21 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor22 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor23 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor24 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor25 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor26 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor27 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor28 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor29 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor30 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor31 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor32 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor33 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor34 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor35 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor36 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor37 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor38 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor39 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor40 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor41 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor42 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor43 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor44 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor45 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor46 / size = (parameters.picSize, parameters.picSize) / erase = false / items = stims / select = values.selectDistractor47 / size = (parameters.picSize, parameters.picSize) / erase = false /items = ("O") / size = (20%, 20%) / txcolor = red / txbgcolor = transparent / fontstyle = ("Arial", 20%, false, false, false, false, 5, 1) / erase = false ************************************************************************************************************** ************************************************************************************************************** LISTS ************************************************************************************************************** ************************************************************************************************************** ***************************** Practice ***************************** Note: the following lists control the selection of the target (-> items.stims) for the selected target category /items = (1, 2, 3, 4, 5, 6, 7, 8) / poolsize = 8 / replace = false / resetinterval = 0 /items = (9, 10, 11, 12, 13, 14, 15, 16) / poolsize = 8 / replace = false / resetinterval = 0 /items = (17, 18, 19, 20, 21, 22, 23, 24) / poolsize = 8 / replace = false / resetinterval = 0 Note: the following lists control the selection of the distractor items given the current target (item lists contain the relevant itemnumbers -> item.stims) /items = (1, 2, 3, 4, 5, 6, 7, 8) / not=[list.Threat_practice_targetStimItemNumber.currentvalue] / replace = true / selectionrate = always / resetinterval = 0 /not=(values.currentTarget) /items = (9, 10, 11, 12, 13, 14, 15, 16) / not=[list.Neutral_practice_targetStimItemNumber.currentvalue] / replace = true / selectionrate = always / resetinterval = 0 /not=(values.currentTarget) /items = (17, 18, 19, 20, 21, 22, 23, 24) / not=[list.Positive_practice_targetStimItemNumber.currentvalue] / replace = true / selectionrate = always / resetinterval = 0 /not=(values.currentTarget) Note: the following lists control the selection of the number of stims on the screen for the 3 target categories /items = (24, 24) / replace = false /items = (24, 24) / replace = false /items = (24, 24) / replace = false /items = (0, 1) / selectionmode = list.arraySize_Threat_practice.currentindex /items = (0, 1, 0) / selectionmode = list.arraySize_Neutral_practice.currentindex /items = (1, 0, 1) / selectionmode = list.arraySize_Positive_practice.currentindex ***************************** Test ***************************** Note: the following lists control the selection of the target (-> items.stims) for the selected target category /items = (1, 2, 3, 4, 5, 6, 7, 8) / poolsize = 24 / replace = false / resetinterval = 0 /items = (9, 10, 11, 12, 13, 14, 15, 16) / poolsize = 24 / replace = false / resetinterval = 0 /items = (17, 18, 19, 20, 21, 22, 23, 24) / poolsize = 24 / replace = false / resetinterval = 0 Note: the following lists control the selection of the distractor items given the current target (item lists contain the relevant itemnumbers -> item.stims) /items = (1, 2, 3, 4, 5, 6, 7, 8) / replace = false / selectionrate = always / resetinterval = 0 /not=(values.currentTarget) /items = (9, 10, 11, 12, 13, 14, 15, 16) / replace = false / selectionrate = always / resetinterval = 0 /not=(values.currentTarget) /items = (17, 18, 19, 20, 21, 22, 23, 24) / replace = false / selectionrate = always / resetinterval = 0 /not=(values.currentTarget) Note: the following lists control the selection of the number of stims on the screen for the 3 target categories /items = ( 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24) / replace = false / resetinterval = 0 /items = ( 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24) / replace = false / resetinterval = 0 /items = ( 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24) / replace = false / resetinterval = 0 /items = ( 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Threat.currentindex /items = ( 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Threat.currentindex /items = ( 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Threat.currentindex /items = ( 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Neutral.currentindex /items = ( 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Neutral.currentindex /items = ( 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Neutral.currentindex /items = ( 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Positive.currentindex /items = ( 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Positive.currentindex /items = ( 0, 0, 1, 1, 1, 1, 1, 1, 1, 1) / selectionmode = list.arraySize_Positive.currentindex ************************************************* Data Lists: used for descriptive statistics store correct latencies/accuracy data fill up during runtime ************************************************* Note: list stores 1 = correct response; 0 = incorrect response for each relevant trial any response coded as an error is automatically coded as 0 Note: list stores the latency of correct responses for each relevant trial ************************************************************************************************************** ************************************************************************************************************** TRIALS: Practice ************************************************************************************************************** ************************************************************************************************************** / ontrialbegin = [ trial.Threat_practice_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 = clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Threat_practice_start.resetstimulusframes(); ] / branch = [ trial.Threat_practice; ] / errormessage = false / recorddata = false / ontrialbegin = [ values.arraySize = list.arraySize_Threat_practice.nextvalue; values.selectTarget = list.Threat_practice_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Threat_practice_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; text.highlight.hposition = picture.target.hposition; text.highlight.vposition = picture.target.vposition; trial.Threat_practice.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Threat_practice.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 4){ values.selectDistractor1 = list.Neutral.nextvalue; values.selectDistractor2 = list.Neutral.nextvalue; values.selectDistractor3 = list.Positive.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Positive.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; trial.Threat_practice.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor3, parameters.cueDuration); } else if (values.arraySize == 24){ values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; values.selectDistractor4 = list.Threat.nextvalue; values.selectDistractor5 = list.Threat.nextvalue; values.selectDistractor6 = list.Threat.nextvalue; values.selectDistractor7 = list.Threat.nextvalue; values.selectDistractor8 = list.Threat.nextvalue; values.selectDistractor9 = list.Threat.nextvalue; values.selectDistractor10 = list.Threat.nextvalue; values.selectDistractor11 = list.Threat.nextvalue; values.selectDistractor12 = list.Threat.nextvalue; values.selectDistractor13 = list.Threat.nextvalue; values.selectDistractor14 = list.Threat.nextvalue; values.selectDistractor15 = list.Threat.nextvalue; values.selectDistractor16 = list.Threat.nextvalue; values.selectDistractor17 = list.Threat.nextvalue; values.selectDistractor18 = list.Threat.nextvalue; values.selectDistractor19 = list.Threat.nextvalue; values.selectDistractor20 = list.Threat.nextvalue; values.selectDistractor21 = list.Threat.nextvalue; values.selectDistractor22 = list.Threat.nextvalue; values.selectDistractor23 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Threat_practice.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Threat_practice.insertstimulustime(picture.distractor23, parameters.cueDuration); }; trial.Threat_practice.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Threat_practice.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Threat_practice.response == parameters.noKey) ] / ontrialend = [ trial.Threat_practice.resetstimulusframes(); if (trial.Threat_practice.correct){ values.selectFeedback = 1; } else if (trial.Threat_practice.response == 0){ values.selectFeedback = 3; } else { values.selectFeedback = 2; }; ] / branch = [ trial.feedback; ] / ontrialbegin = [ trial.Neutral_practice_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 = clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Neutral_practice_start.resetstimulusframes(); ] / branch = [ trial.Neutral_practice; ] / errormessage = false / recorddata = false / ontrialbegin = [ values.arraySize = list.arraySize_Neutral_practice.nextvalue; values.selectTarget = list.Neutral_practice_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Neutral_practice_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; text.highlight.hposition = picture.target.hposition; text.highlight.vposition = picture.target.vposition; trial.Neutral_practice.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 4){ values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Neutral.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Neutral.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; trial.Neutral_practice.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor3, parameters.cueDuration); } else if (values.arraySize == 24){ values.selectDistractor1 = list.Neutral.nextvalue; values.selectDistractor2 = list.Neutral.nextvalue; values.selectDistractor3 = list.Neutral.nextvalue; values.selectDistractor4 = list.Neutral.nextvalue; values.selectDistractor5 = list.Neutral.nextvalue; values.selectDistractor6 = list.Neutral.nextvalue; values.selectDistractor7 = list.Neutral.nextvalue; values.selectDistractor8 = list.Neutral.nextvalue; values.selectDistractor9 = list.Neutral.nextvalue; values.selectDistractor10 = list.Neutral.nextvalue; values.selectDistractor11 = list.Neutral.nextvalue; values.selectDistractor12 = list.Neutral.nextvalue; values.selectDistractor13 = list.Neutral.nextvalue; values.selectDistractor14 = list.Neutral.nextvalue; values.selectDistractor15 = list.Neutral.nextvalue; values.selectDistractor16 = list.Neutral.nextvalue; values.selectDistractor17 = list.Neutral.nextvalue; values.selectDistractor18 = list.Neutral.nextvalue; values.selectDistractor19 = list.Neutral.nextvalue; values.selectDistractor20 = list.Neutral.nextvalue; values.selectDistractor21 = list.Neutral.nextvalue; values.selectDistractor22 = list.Neutral.nextvalue; values.selectDistractor23 = list.Neutral.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Neutral.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Neutral_practice.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Neutral_practice.insertstimulustime(picture.distractor23, parameters.cueDuration); }; trial.Neutral_practice.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Neutral_practice.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Neutral_practice.response == parameters.noKey) ] / ontrialend = [ trial.Neutral_practice.resetstimulusframes(); if (trial.Neutral_practice.correct){ values.selectFeedback = 1; } else if (trial.Neutral_practice.response == 0){ values.selectFeedback = 3; } else { values.selectFeedback = 2; }; ] / branch = [ trial.feedback; ] / ontrialbegin = [ trial.Positive_practice_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 = clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Positive_practice_start.resetstimulusframes(); ] / branch = [ trial.Positive_practice; ] / errormessage = false / recorddata = false / ontrialbegin = [ values.arraySize = list.arraySize_Positive_practice.nextvalue; values.selectTarget = list.Positive_practice_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Positive_practice_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; text.highlight.hposition = picture.target.hposition; text.highlight.vposition = picture.target.vposition; trial.Positive_practice.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Positive_practice.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 4){ values.selectDistractor1 = list.Neutral.nextvalue; values.selectDistractor2 = list.Neutral.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; trial.Positive_practice.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor3, parameters.cueDuration); } else if (values.arraySize == 24){ values.selectDistractor1 = list.Positive.nextvalue; values.selectDistractor2 = list.Positive.nextvalue; values.selectDistractor3 = list.Positive.nextvalue; values.selectDistractor4 = list.Positive.nextvalue; values.selectDistractor5 = list.Positive.nextvalue; values.selectDistractor6 = list.Positive.nextvalue; values.selectDistractor7 = list.Positive.nextvalue; values.selectDistractor8 = list.Positive.nextvalue; values.selectDistractor9 = list.Positive.nextvalue; values.selectDistractor10 = list.Positive.nextvalue; values.selectDistractor11 = list.Positive.nextvalue; values.selectDistractor12 = list.Positive.nextvalue; values.selectDistractor13 = list.Positive.nextvalue; values.selectDistractor14 = list.Positive.nextvalue; values.selectDistractor15 = list.Positive.nextvalue; values.selectDistractor16 = list.Positive.nextvalue; values.selectDistractor17 = list.Positive.nextvalue; values.selectDistractor18 = list.Positive.nextvalue; values.selectDistractor19 = list.Positive.nextvalue; values.selectDistractor20 = list.Positive.nextvalue; values.selectDistractor21 = list.Positive.nextvalue; values.selectDistractor22 = list.Positive.nextvalue; values.selectDistractor23 = list.Positive.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Positive.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Positive_practice.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Positive_practice.insertstimulustime(picture.distractor23, parameters.cueDuration); }; trial.Positive_practice.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Positive_practice.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Positive_practice.response == parameters.noKey) ] / ontrialend = [ trial.Positive_practice.resetstimulusframes(); if (trial.Positive_practice.correct){ values.selectFeedback = 1; } else if (trial.Positive_practice.response == 0){ values.selectFeedback = 3; } else { values.selectFeedback = 2; }; ] / branch = [ trial.feedback; ] / ontrialbegin = [ if (values.selectFeedback == 1){ text.highlight.textcolor = green; text.feedback.textcolor = green; } else { text.highlight.textcolor = red; text.feedback.textcolor = red; }; if (values.targetPresent == 1){ trial.feedback.insertstimulusframe(text.highlight, 1); }; ] / stimulusframes = [1 = feedback] / ontrialend = [ trial.feedback.resetstimulusframes(); ] / trialduration = parameters.feedbackDuration / recorddata = false ************************************************************************************************************** ************************************************************************************************************** TRIALS: no eye movements recorded ************************************************************************************************************** ************************************************************************************************************** / ontrialbegin = [ trial.Threat1N_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Threat1N_start.resetstimulusframes(); ] / branch = [ trial.Threat1N; ] / errormessage = false Note: trial.Threat1N: - selects the number of stimuli to be presented from the appropriate list (list.arraySize_Threat) - selects the current target cue from the appropriate list (list.Threat_targetStimItemNumber) (Note: while values.currentTarget will store the target cue itemnumber until the end of trial, values.selectTarget might get assigned a different itemnumber if the target should be absent) - selects whether or not the target should be one of the presented stims (list.Threat_targetPresent) - the location lists get reset to ensure that all positions are available for selections - the target picture gets a random position assigned - depending on the number of stimuli to be presented, the distractors get prepared by selecting the appropriate number of stimuli from the lists that share one (and only one) attribute (letter/color) with the target cue (if the trial is a designated 'target absent' trial, the target stimuli will present a stimulus from one of those lists - specifically the list that shares the same color with the target cue) - positions for the distractors get randomly assigned - prepares dynamic stimuli for presentation - presents the cue for parameters.cueDuration and then the fixation cross and the stimuli array - waits for response within the defined response window (here: 7s) and evaluates the correctness of the response - updates summary data lists / ontrialbegin = [ values.arraySize = list.arraySize_Threat.nextvalue; values.selectTarget = list.Threat_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Threat1N_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Threat1N.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Threat1N.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Neutral.nextvalue; values.selectDistractor2 = list.Neutral.nextvalue; values.selectDistractor3 = list.Neutral.nextvalue; values.selectDistractor4 = list.Neutral.nextvalue; values.selectDistractor5 = list.Neutral.nextvalue; values.selectDistractor6 = list.Neutral.nextvalue; values.selectDistractor7 = list.Neutral.nextvalue; values.selectDistractor8 = list.Neutral.nextvalue; values.selectDistractor9 = list.Neutral.nextvalue; values.selectDistractor10 = list.Neutral.nextvalue; values.selectDistractor11 = list.Neutral.nextvalue; values.selectDistractor12 = list.Neutral.nextvalue; values.selectDistractor13 = list.Neutral.nextvalue; values.selectDistractor14 = list.Neutral.nextvalue; values.selectDistractor15 = list.Neutral.nextvalue; values.selectDistractor16 = list.Neutral.nextvalue; values.selectDistractor17 = list.Neutral.nextvalue; values.selectDistractor18 = list.Neutral.nextvalue; values.selectDistractor19 = list.Neutral.nextvalue; values.selectDistractor20 = list.Neutral.nextvalue; values.selectDistractor21 = list.Neutral.nextvalue; values.selectDistractor22 = list.Neutral.nextvalue; values.selectDistractor23 = list.Neutral.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Neutral.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Threat1N.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Threat1N.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Threat1N.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Threat1N.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Threat1N.response == parameters.noKey) ] / ontrialend = [ trial.Threat1N.resetstimulusframes(); list.accuracy.insertitem(trial.Threat1N.correct, 1); if (trial.Threat1N.correct){ list.latencies.insertitem(trial.Threat1N.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Threat1N.correct, 1); if (trial.Threat1N.correct){ list.RTtargetPresent_24.insertitem(trial.Threat1N.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Threat1N.correct, 1); if (trial.Threat1N.correct){ list.RTtargetAbsent_24.insertitem(trial.Threat1N.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Threat1N.correct, 1); if (trial.Threat1N.correct){ list.RTtargetPresent_48.insertitem(trial.Threat1N.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Threat1N.correct, 1); if (trial.Threat1N.correct){ list.RTtargetAbsent_48.insertitem(trial.Threat1N.latency, 1); }; }; }; ] / ontrialbegin = [ trial.Threat2P_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Threat2P_start.resetstimulusframes(); ] / branch = [ trial.Threat2P; ] / errormessage = false Note: Trial Threat 2 begins here / ontrialbegin = [ values.arraySize = list.arraySize_Threat.nextvalue; values.selectTarget = list.Threat_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Threat2P_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Threat2P.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Threat2P.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Positive.nextvalue; values.selectDistractor2 = list.Positive.nextvalue; values.selectDistractor3 = list.Positive.nextvalue; values.selectDistractor4 = list.Positive.nextvalue; values.selectDistractor5 = list.Positive.nextvalue; values.selectDistractor6 = list.Positive.nextvalue; values.selectDistractor7 = list.Positive.nextvalue; values.selectDistractor8 = list.Positive.nextvalue; values.selectDistractor9 = list.Positive.nextvalue; values.selectDistractor10 = list.Positive.nextvalue; values.selectDistractor11 = list.Positive.nextvalue; values.selectDistractor12 = list.Positive.nextvalue; values.selectDistractor13 = list.Positive.nextvalue; values.selectDistractor14 = list.Positive.nextvalue; values.selectDistractor15 = list.Positive.nextvalue; values.selectDistractor16 = list.Positive.nextvalue; values.selectDistractor17 = list.Positive.nextvalue; values.selectDistractor18 = list.Positive.nextvalue; values.selectDistractor19 = list.Positive.nextvalue; values.selectDistractor20 = list.Positive.nextvalue; values.selectDistractor21 = list.Positive.nextvalue; values.selectDistractor22 = list.Positive.nextvalue; values.selectDistractor23 = list.Positive.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Positive.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Threat2P.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Threat2P.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Threat2P.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Threat2P.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Threat2P.response == parameters.noKey) ] / ontrialend = [ trial.Threat2P.resetstimulusframes(); list.accuracy.insertitem(trial.Threat2P.correct, 1); if (trial.Threat2P.correct){ list.latencies.insertitem(trial.Threat2P.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Threat2P.correct, 1); if (trial.Threat2P.correct){ list.RTtargetPresent_24.insertitem(trial.Threat2P.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Threat2P.correct, 1); if (trial.Threat2P.correct){ list.RTtargetAbsent_24.insertitem(trial.Threat2P.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Threat2P.correct, 1); if (trial.Threat2P.correct){ list.RTtargetPresent_48.insertitem(trial.Threat2P.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Threat2P.correct, 1); if (trial.Threat2P.correct){ list.RTtargetAbsent_48.insertitem(trial.Threat2P.latency, 1); }; }; }; ] / ontrialbegin = [ trial.Threat3T_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Threat3T_start.resetstimulusframes(); ] / branch = [ trial.Threat3T; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Threat.nextvalue; values.selectTarget = list.Threat_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Threat3T_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Threat3T.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Threat3T.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; values.selectDistractor4 = list.Threat.nextvalue; values.selectDistractor5 = list.Threat.nextvalue; values.selectDistractor6 = list.Threat.nextvalue; values.selectDistractor7 = list.Threat.nextvalue; values.selectDistractor8 = list.Threat.nextvalue; values.selectDistractor9 = list.Threat.nextvalue; values.selectDistractor10 = list.Threat.nextvalue; values.selectDistractor11 = list.Threat.nextvalue; values.selectDistractor12 = list.Threat.nextvalue; values.selectDistractor13 = list.Threat.nextvalue; values.selectDistractor14 = list.Threat.nextvalue; values.selectDistractor15 = list.Threat.nextvalue; values.selectDistractor16 = list.Threat.nextvalue; values.selectDistractor17 = list.Threat.nextvalue; values.selectDistractor18 = list.Threat.nextvalue; values.selectDistractor19 = list.Threat.nextvalue; values.selectDistractor20 = list.Threat.nextvalue; values.selectDistractor21 = list.Threat.nextvalue; values.selectDistractor22 = list.Threat.nextvalue; values.selectDistractor23 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Threat3T.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Threat3T.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Threat3T.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Threat3T.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Threat3T.response == parameters.noKey) ] / ontrialend = [ trial.Threat3T.resetstimulusframes(); list.accuracy.insertitem(trial.Threat3T.correct, 1); if (trial.Threat3T.correct){ list.latencies.insertitem(trial.Threat3T.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Threat3T.correct, 1); if (trial.Threat3T.correct){ list.RTtargetPresent_24.insertitem(trial.Threat3T.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Threat3T.correct, 1); if (trial.Threat3T.correct){ list.RTtargetAbsent_24.insertitem(trial.Threat3T.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Threat3T.correct, 1); if (trial.Threat3T.correct){ list.RTtargetPresent_48.insertitem(trial.Threat3T.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Threat3T.correct, 1); if (trial.Threat3T.correct){ list.RTtargetAbsent_48.insertitem(trial.Threat3T.latency, 1); }; }; }; ] Note Neutral Trials start here: / ontrialbegin = [ trial.Neutral1P_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Neutral1P_start.resetstimulusframes(); ] / branch = [ trial.Neutral1P; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Neutral.nextvalue; values.selectTarget = list.Neutral_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Neutral1P_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Neutral1P.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Neutral1P.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Positive.nextvalue; values.selectDistractor2 = list.Positive.nextvalue; values.selectDistractor3 = list.Positive.nextvalue; values.selectDistractor4 = list.Positive.nextvalue; values.selectDistractor5 = list.Positive.nextvalue; values.selectDistractor6 = list.Positive.nextvalue; values.selectDistractor7 = list.Positive.nextvalue; values.selectDistractor8 = list.Positive.nextvalue; values.selectDistractor9 = list.Positive.nextvalue; values.selectDistractor10 = list.Positive.nextvalue; values.selectDistractor11 = list.Positive.nextvalue; values.selectDistractor12 = list.Positive.nextvalue; values.selectDistractor13 = list.Positive.nextvalue; values.selectDistractor14 = list.Positive.nextvalue; values.selectDistractor15 = list.Positive.nextvalue; values.selectDistractor16 = list.Positive.nextvalue; values.selectDistractor17 = list.Positive.nextvalue; values.selectDistractor18 = list.Positive.nextvalue; values.selectDistractor19 = list.Positive.nextvalue; values.selectDistractor20 = list.Positive.nextvalue; values.selectDistractor21 = list.Positive.nextvalue; values.selectDistractor22 = list.Positive.nextvalue; values.selectDistractor23 = list.Positive.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Positive.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Neutral1P.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Neutral1P.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Neutral1P.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Neutral1P.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Neutral1P.response == parameters.noKey) ] / ontrialend = [ trial.Neutral1P.resetstimulusframes(); list.accuracy.insertitem(trial.Neutral1P.correct, 1); if (trial.Neutral1P.correct){ list.latencies.insertitem(trial.Neutral1P.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Neutral1P.correct, 1); if (trial.Neutral1P.correct){ list.RTtargetPresent_24.insertitem(trial.Neutral1P.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Neutral1P.correct, 1); if (trial.Neutral1P.correct){ list.RTtargetAbsent_24.insertitem(trial.Neutral1P.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Neutral1P.correct, 1); if (trial.Neutral1P.correct){ list.RTtargetPresent_48.insertitem(trial.Neutral1P.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Neutral1P.correct, 1); if (trial.Neutral1P.correct){ list.RTtargetAbsent_48.insertitem(trial.Neutral1P.latency, 1); }; }; }; ] Note this is where Neutral2 Trials start: Neutral target in threat matrix / ontrialbegin = [ trial.Neutral2T_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Neutral2T_start.resetstimulusframes(); ] / branch = [ trial.Neutral2T; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Neutral.nextvalue; values.selectTarget = list.Neutral_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Neutral2T_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Neutral2T.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Neutral2T.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; values.selectDistractor4 = list.Threat.nextvalue; values.selectDistractor5 = list.Threat.nextvalue; values.selectDistractor6 = list.Threat.nextvalue; values.selectDistractor7 = list.Threat.nextvalue; values.selectDistractor8 = list.Threat.nextvalue; values.selectDistractor9 = list.Threat.nextvalue; values.selectDistractor10 = list.Threat.nextvalue; values.selectDistractor11 = list.Threat.nextvalue; values.selectDistractor12 = list.Threat.nextvalue; values.selectDistractor13 = list.Threat.nextvalue; values.selectDistractor14 = list.Threat.nextvalue; values.selectDistractor15 = list.Threat.nextvalue; values.selectDistractor16 = list.Threat.nextvalue; values.selectDistractor17 = list.Threat.nextvalue; values.selectDistractor18 = list.Threat.nextvalue; values.selectDistractor19 = list.Threat.nextvalue; values.selectDistractor20 = list.Threat.nextvalue; values.selectDistractor21 = list.Threat.nextvalue; values.selectDistractor22 = list.Threat.nextvalue; values.selectDistractor23 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Neutral2T.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Neutral2T.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Neutral2T.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Neutral2T.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Neutral2T.response == parameters.noKey) ] / ontrialend = [ trial.Neutral2T.resetstimulusframes(); list.accuracy.insertitem(trial.Neutral2T.correct, 1); if (trial.Neutral2T.correct){ list.latencies.insertitem(trial.Neutral2T.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Neutral2T.correct, 1); if (trial.Neutral2T.correct){ list.RTtargetPresent_24.insertitem(trial.Neutral2T.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Neutral2T.correct, 1); if (trial.Neutral2T.correct){ list.RTtargetAbsent_24.insertitem(trial.Neutral2T.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Neutral2T.correct, 1); if (trial.Neutral2T.correct){ list.RTtargetPresent_48.insertitem(trial.Neutral2T.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Neutral2T.correct, 1); if (trial.Neutral2T.correct){ list.RTtargetAbsent_48.insertitem(trial.Neutral2T.latency, 1); }; }; }; ] This is where Neutral2T ends This is where Neutral3N starts / ontrialbegin = [ trial.Neutral3N_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Neutral3N_start.resetstimulusframes(); ] / branch = [ trial.Neutral3N; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Neutral.nextvalue; values.selectTarget = list.Neutral_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Neutral3N_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Neutral3N.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Neutral3N.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Neutral.nextvalue; values.selectDistractor2 = list.Neutral.nextvalue; values.selectDistractor3 = list.Neutral.nextvalue; values.selectDistractor4 = list.Neutral.nextvalue; values.selectDistractor5 = list.Neutral.nextvalue; values.selectDistractor6 = list.Neutral.nextvalue; values.selectDistractor7 = list.Neutral.nextvalue; values.selectDistractor8 = list.Neutral.nextvalue; values.selectDistractor9 = list.Neutral.nextvalue; values.selectDistractor10 = list.Neutral.nextvalue; values.selectDistractor11 = list.Neutral.nextvalue; values.selectDistractor12 = list.Neutral.nextvalue; values.selectDistractor13 = list.Neutral.nextvalue; values.selectDistractor14 = list.Neutral.nextvalue; values.selectDistractor15 = list.Neutral.nextvalue; values.selectDistractor16 = list.Neutral.nextvalue; values.selectDistractor17 = list.Neutral.nextvalue; values.selectDistractor18 = list.Neutral.nextvalue; values.selectDistractor19 = list.Neutral.nextvalue; values.selectDistractor20 = list.Neutral.nextvalue; values.selectDistractor21 = list.Neutral.nextvalue; values.selectDistractor22 = list.Neutral.nextvalue; values.selectDistractor23 = list.Neutral.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Neutral.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Neutral3N.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Neutral3N.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Neutral3N.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Neutral3N.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Neutral3N.response == parameters.noKey) ] / ontrialend = [ trial.Neutral3N.resetstimulusframes(); list.accuracy.insertitem(trial.Neutral3N.correct, 1); if (trial.Neutral3N.correct){ list.latencies.insertitem(trial.Neutral3N.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Neutral3N.correct, 1); if (trial.Neutral3N.correct){ list.RTtargetPresent_24.insertitem(trial.Neutral3N.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Neutral3N.correct, 1); if (trial.Neutral3N.correct){ list.RTtargetAbsent_24.insertitem(trial.Neutral3N.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ List.ACCtargetPresent_48.insertitem(trial.Neutral3N.correct, 1); if (trial.Neutral3N.correct){ list.RTtargetPresent_48.insertitem(trial.Neutral3N.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Neutral3N.correct, 1); if (trial.Neutral3N.correct){ list.RTtargetAbsent_48.insertitem(trial.Neutral3N.latency, 1); }; }; }; ] This is where Positive1N starts / ontrialbegin = [ trial.Positive1N_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Positive1N_start.resetstimulusframes(); ] / branch = [ trial.Positive1N; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Positive.nextvalue; values.selectTarget = list.Positive_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Positive1N_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Positive1N.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Positive1N.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Neutral.nextvalue; values.selectDistractor2 = list.Neutral.nextvalue; values.selectDistractor3 = list.Neutral.nextvalue; values.selectDistractor4 = list.Neutral.nextvalue; values.selectDistractor5 = list.Neutral.nextvalue; values.selectDistractor6 = list.Neutral.nextvalue; values.selectDistractor7 = list.Neutral.nextvalue; values.selectDistractor8 = list.Neutral.nextvalue; values.selectDistractor9 = list.Neutral.nextvalue; values.selectDistractor10 = list.Neutral.nextvalue; values.selectDistractor11 = list.Neutral.nextvalue; values.selectDistractor12 = list.Neutral.nextvalue; values.selectDistractor13 = list.Neutral.nextvalue; values.selectDistractor14 = list.Neutral.nextvalue; values.selectDistractor15 = list.Neutral.nextvalue; values.selectDistractor16 = list.Neutral.nextvalue; values.selectDistractor17 = list.Neutral.nextvalue; values.selectDistractor18 = list.Neutral.nextvalue; values.selectDistractor19 = list.Neutral.nextvalue; values.selectDistractor20 = list.Neutral.nextvalue; values.selectDistractor21 = list.Neutral.nextvalue; values.selectDistractor22 = list.Neutral.nextvalue; values.selectDistractor23 = list.Neutral.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Neutral.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Positive1N.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Positive1N.insertstimulustime(picture.distractor23, parameters.cueDuration); } else { values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; values.selectDistractor4 = list.Threat.nextvalue; values.selectDistractor5 = list.Threat.nextvalue; values.selectDistractor6 = list.Threat.nextvalue; values.selectDistractor7 = list.Threat.nextvalue; values.selectDistractor8 = list.Threat.nextvalue; values.selectDistractor9 = list.Threat.nextvalue; values.selectDistractor10 = list.Threat.nextvalue; values.selectDistractor11 = list.Threat.nextvalue; values.selectDistractor12 = list.Threat.nextvalue; values.selectDistractor13 = list.Threat.nextvalue; values.selectDistractor14 = list.Threat.nextvalue; values.selectDistractor15 = list.Threat.nextvalue; values.selectDistractor16 = list.Threat.nextvalue; values.selectDistractor17 = list.Threat.nextvalue; values.selectDistractor18 = list.Threat.nextvalue; values.selectDistractor19 = list.Threat.nextvalue; values.selectDistractor20 = list.Threat.nextvalue; values.selectDistractor21 = list.Threat.nextvalue; values.selectDistractor22 = list.Threat.nextvalue; values.selectDistractor23 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Positive2T.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Positive1N.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Positive1N.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Positive1N.response == parameters.noKey) ] / ontrialend = [ trial.Positive1N.resetstimulusframes(); list.accuracy.insertitem(trial.Positive1N.correct, 1); if (trial.Positive1N.correct){ list.latencies.insertitem(trial.Positive1N.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Positive1N.correct, 1); if (trial.Positive1N.correct){ list.RTtargetPresent_24.insertitem(trial.Positive1N.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Positive1N.correct, 1); if (trial.Positive1N.correct){ list.RTtargetAbsent_24.insertitem(trial.Positive1N.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Positive1N.correct, 1); if (trial.Positive1N.correct){ list.RTtargetPresent_48.insertitem(trial.Positive1N.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Positive1N.correct, 1); if (trial.Positive1N.correct){ list.RTtargetAbsent_48.insertitem(trial.Positive1N.latency, 1); }; }; }; ] Positive1N ends here Positive2T starts here / ontrialbegin = [ trial.Positive2T_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Positive2T_start.resetstimulusframes(); ] / branch = [ trial.Positive2T; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Positive.nextvalue; values.selectTarget = list.Positive_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Positive2T_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Positive2T.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Positive2T.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; values.selectDistractor4 = list.Threat.nextvalue; values.selectDistractor5 = list.Threat.nextvalue; values.selectDistractor6 = list.Threat.nextvalue; values.selectDistractor7 = list.Threat.nextvalue; values.selectDistractor8 = list.Threat.nextvalue; values.selectDistractor9 = list.Threat.nextvalue; values.selectDistractor10 = list.Threat.nextvalue; values.selectDistractor11 = list.Threat.nextvalue; values.selectDistractor12 = list.Threat.nextvalue; values.selectDistractor13 = list.Threat.nextvalue; values.selectDistractor14 = list.Threat.nextvalue; values.selectDistractor15 = list.Threat.nextvalue; values.selectDistractor16 = list.Threat.nextvalue; values.selectDistractor17 = list.Threat.nextvalue; values.selectDistractor18 = list.Threat.nextvalue; values.selectDistractor19 = list.Threat.nextvalue; values.selectDistractor20 = list.Threat.nextvalue; values.selectDistractor21 = list.Threat.nextvalue; values.selectDistractor22 = list.Threat.nextvalue; values.selectDistractor23 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Positive2T.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Positive2T.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Positive2T.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Positive2T.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Positive2T.response == parameters.noKey) ] / ontrialend = [ trial.Positive2T.resetstimulusframes(); list.accuracy.insertitem(trial.Positive2T.correct, 1); if (trial.Positive2T.correct){ list.latencies.insertitem(trial.Positive2T.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Positive2T.correct, 1); if (trial.Positive2T.correct){ list.RTtargetPresent_24.insertitem(trial.Positive2T.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Positive2T.correct, 1); if (trial.Positive2T.correct){ list.RTtargetAbsent_24.insertitem(trial.Positive2T.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Positive2T.correct, 1); if (trial.Positive2T.correct){ list.RTtargetPresent_48.insertitem(trial.Positive2T.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Positive2T.correct, 1); if (trial.Positive2T.correct){ list.RTtargetAbsent_48.insertitem(trial.Positive2T.latency, 1); }; }; }; ] Positive 2T ends here Positive3P starts here / ontrialbegin = [ trial.Positive3P_start.insertstimulustime(text.SpacebarReminder, parameters.spacebarReminder); ] / stimulusframes = [1 =clearscreen, fixation] / validresponse = (57) / beginresponsetime = 0 / responseinterrupt = immediate / ontrialend = [ trial.Positive3P_start.resetstimulusframes(); ] / branch = [ trial.Positive3P; ] / errormessage = false / ontrialbegin = [ values.arraySize = list.arraySize_Positive.nextvalue; values.selectTarget = list.Positive_targetStimItemNumber.nextvalue; values.currentTarget = values.selectTarget; values.targetPresent = list.Positive3P_targetPresent.nextvalue; list.xpos.reset(); list.ypos.reset(); picture.target.hposition = list.xpos.nextvalue; picture.target.vposition = list.ypos.nextvalue; trial.Positive3P.insertstimulustime(shape.cueEraser, parameters.cueDuration); trial.Positive3P.insertstimulustime(text.fixation, parameters.cueDuration); if (values.arraySize == 24){ values.selectDistractor1 = list.Threat.nextvalue; values.selectDistractor2 = list.Threat.nextvalue; values.selectDistractor3 = list.Threat.nextvalue; values.selectDistractor4 = list.Threat.nextvalue; values.selectDistractor5 = list.Threat.nextvalue; values.selectDistractor6 = list.Threat.nextvalue; values.selectDistractor7 = list.Threat.nextvalue; values.selectDistractor8 = list.Threat.nextvalue; values.selectDistractor9 = list.Threat.nextvalue; values.selectDistractor10 = list.Threat.nextvalue; values.selectDistractor11 = list.Threat.nextvalue; values.selectDistractor12 = list.Threat.nextvalue; values.selectDistractor13 = list.Threat.nextvalue; values.selectDistractor14 = list.Threat.nextvalue; values.selectDistractor15 = list.Threat.nextvalue; values.selectDistractor16 = list.Threat.nextvalue; values.selectDistractor17 = list.Threat.nextvalue; values.selectDistractor18 = list.Threat.nextvalue; values.selectDistractor19 = list.Threat.nextvalue; values.selectDistractor20 = list.Threat.nextvalue; values.selectDistractor21 = list.Threat.nextvalue; values.selectDistractor22 = list.Threat.nextvalue; values.selectDistractor23 = list.Threat.nextvalue; if (!values.targetPresent){ values.selectTarget = list.Threat.nextvalue; }; picture.distractor1.hposition = list.xpos.nextvalue; picture.distractor1.vposition = list.ypos.nextvalue; picture.distractor2.hposition = list.xpos.nextvalue; picture.distractor2.vposition = list.ypos.nextvalue; picture.distractor3.hposition = list.xpos.nextvalue; picture.distractor3.vposition = list.ypos.nextvalue; picture.distractor4.hposition = list.xpos.nextvalue; picture.distractor4.vposition = list.ypos.nextvalue; picture.distractor5.hposition = list.xpos.nextvalue; picture.distractor5.vposition = list.ypos.nextvalue; picture.distractor6.hposition = list.xpos.nextvalue; picture.distractor6.vposition = list.ypos.nextvalue; picture.distractor7.hposition = list.xpos.nextvalue; picture.distractor7.vposition = list.ypos.nextvalue; picture.distractor8.hposition = list.xpos.nextvalue; picture.distractor8.vposition = list.ypos.nextvalue; picture.distractor9.hposition = list.xpos.nextvalue; picture.distractor9.vposition = list.ypos.nextvalue; picture.distractor10.hposition = list.xpos.nextvalue; picture.distractor10.vposition = list.ypos.nextvalue; picture.distractor11.hposition = list.xpos.nextvalue; picture.distractor11.vposition = list.ypos.nextvalue; picture.distractor12.hposition = list.xpos.nextvalue; picture.distractor12.vposition = list.ypos.nextvalue; picture.distractor13.hposition = list.xpos.nextvalue; picture.distractor13.vposition = list.ypos.nextvalue; picture.distractor14.hposition = list.xpos.nextvalue; picture.distractor14.vposition = list.ypos.nextvalue; picture.distractor15.hposition = list.xpos.nextvalue; picture.distractor15.vposition = list.ypos.nextvalue; picture.distractor16.hposition = list.xpos.nextvalue; picture.distractor16.vposition = list.ypos.nextvalue; picture.distractor17.hposition = list.xpos.nextvalue; picture.distractor17.vposition = list.ypos.nextvalue; picture.distractor18.hposition = list.xpos.nextvalue; picture.distractor18.vposition = list.ypos.nextvalue; picture.distractor19.hposition = list.xpos.nextvalue; picture.distractor19.vposition = list.ypos.nextvalue; picture.distractor20.hposition = list.xpos.nextvalue; picture.distractor20.vposition = list.ypos.nextvalue; picture.distractor21.hposition = list.xpos.nextvalue; picture.distractor21.vposition = list.ypos.nextvalue; picture.distractor22.hposition = list.xpos.nextvalue; picture.distractor22.vposition = list.ypos.nextvalue; picture.distractor23.hposition = list.xpos.nextvalue; picture.distractor23.vposition = list.ypos.nextvalue; trial.Positive3P.insertstimulustime(picture.distractor1, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor2, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor3, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor4, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor5, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor6, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor7, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor8, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor9, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor10, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor11, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor12, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor13, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor14, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor15, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor16, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor17, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor18, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor19, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor20, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor21, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor22, parameters.cueDuration); trial.Positive3P.insertstimulustime(picture.distractor23, parameters.cueDuration); } trial.Positive3P.insertstimulustime(picture.target, parameters.cueDuration); ] / stimulustimes = [0 = cue, yes, no] / beginresponsetime = parameters.cueDuration / response = timeout(parameters.responseWindow) / validresponse = (parameters.yesKey, parameters.nokey) / iscorrectresponse = [ (values.targetPresent == 1 && trial.Positive3P.response == parameters.yesKey) || (values.targetPresent == 0 && trial.Positive3P.response == parameters.noKey) ] / ontrialend = [ trial.Positive3P.resetstimulusframes(); list.accuracy.insertitem(trial.Positive3P.correct, 1); if (trial.Positive3P.correct){ list.latencies.insertitem(trial.Positive3P.latency, 1); }; if (values.arraySize == 24){ if (values.targetPresent){ list.ACCtargetPresent_24.insertitem(trial.Positive3P.correct, 1); if (trial.Positive3P.correct){ list.RTtargetPresent_24.insertitem(trial.Positive3P.latency, 1); }; } else { list.ACCtargetAbsent_24.insertitem(trial.Positive3P.correct, 1); if (trial.Positive3P.correct){ list.RTtargetAbsent_24.insertitem(trial.Positive3P.latency, 1); }; }; } else if (values.arraySize == 48){ if (values.targetPresent){ list.ACCtargetPresent_48.insertitem(trial.Positive3P.correct, 1); if (trial.Positive3P.correct){ list.RTtargetPresent_48.insertitem(trial.Positive3P.latency, 1); }; } else { list.ACCtargetAbsent_48.insertitem(trial.Positive3P.correct, 1); if (trial.Positive3P.correct){ list.RTtargetAbsent_48.insertitem(trial.Positive3P.latency, 1); }; }; }; ] ************************************************************************************************************** ************************************************************************************************************** BLOCKS ************************************************************************************************************** ************************************************************************************************************** / preinstructions = (instructions, intro2) / ontrialbegin = [ values.response = ""; ] / trials = [1 = getReady; 2-9 = noreplace(Threat_practice_start, Neutral_practice_start, Positive_practice_start)] / ontrialend = [ if (block.practice.response == parameters.noKey){ values.response = "no"; } else if (block.practice.response == parameters.yesKey){ values.response = "yes"; } else if (block.practice.response == 0){ values.response = "no response"; }; ] / preinstructions = (testintro) / ontrialbegin = [ values.response = ""; ] / trials = [1 = getReady; 2-97 = noreplace(Threat1N_start, Threat2P_start, Threat3T_start, Neutral1P_start, Neutral2T_start, Neutral3N_start, Positive1N_start, Positive2T_start, Positive3P_start)] / ontrialend = [ if (block.VS.response == parameters.noKey){ values.response = "no"; } else if (block.VS.response == parameters.yesKey){ values.response = "yes"; } else if (block.VS.response == 0){ values.response = "no response"; }; ] ************************************************************************************************************** ************************************************************************************************************** EXPERIMENT ************************************************************************************************************** ************************************************************************************************************** / blocks = [ 1 = practice; 2 = VS; ] / onexptend = [ values.completed = 1; ] / postinstructions = (end) ************************************************************************************************************** End of File **************************************************************************************************************