Minor bug report. I believe:
elif globals.state.nonsexactions > 0 && researcher.dailyevents.count('assistedresearch') < 0:
should be:
elif globals.state.nonsexactions > 0 && researcher.dailyevents.count('assistedresearch') < 1:
(or)
elif globals.state.nonsexactions > 0 && researcher.dailyevents.count('assistedresearch') == 0:
Otherwise, one can never assist on crystal research.