I have a suggestion, is it hard to make the prerequisite items not just a flag, but a list of items? It would make it a lot more flexible to potential mods to the research tree.
So just looking at the research.dat:
- name: STR_PLASMA_RIFLE
cost: 700
needItem: true
dependencys:
[]
unlock:
[]
would become:
- name: STR_PLASMA_RIFLE
cost: 700
prereqItems:
- STR_PLASMA_RIFLE
prereqResearch:
[]
unlock:
[]