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)
/ shape = rectangle
/ color = gray
/ position = (50%, 50%)
/ size = (parameters.picSize, parameters.picSize)
/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
**************************************************************************************************************