EEG Triggers Not Coming Through Properly To Recorder

Hello all. I am thinking this may not be a PsychoPy issue, but rather an issue with my EEG recording software, g.Recorder. I want to see if you guys feel the same. I followed the PsychoPy tutorial on parallel port communications and got my test trigger to come through on g.Recorder. So now I have set my actual four triggers in g.Recorder by going to Settings > g.USBamp Digital I/O. In PsychoPy, I added a Parallel Out component to my trial routine, and in its Properties > Data I have Start data set to $trig_id, Stop data set to $0, and Save onset/offset times, Sync timing with screen refresh, and Sync to screen all checked.

Here is my code for trig_id:

#create trigger id for g.recorder
if StimID in range(0,78):
    trig_id = 1 #nontarget
elif StimID in range(78,94):
    trig_id = 2 #target
elif StimID in range(94,118):
    trig_id = 3 #angry
    trig_id = 4 #neutral

Here is where things get weird and the reason why I think it may be g.Recorder. When the experiment is running and data is recording, the first two triggers come in properly. However, when trig_id = 3, g.Recorder returns triggers 1 and 2 simultaneously. When trig_id = 4, g.Recorder returns trigger 3. Is this an error with my code? I will upload my experiment file so you guys can check it out. The trigger stuff is all in the FirstBlockLoop. Please forgive my sloppy coding and building. I am new to all of this. (Also the experiment obviously isn’t done and some stuff is the way it is for testing purposes.)
FirstYearProject.psyexp (84.9 KB)