1. on_research_finished event should specify a force.
2. force.technologies[event.research.name].researched should be set before on_research_finished is called. This makes it easier to share functions between on_research_finished and other events.
on_research_finished improvements
Re: on_research_finished improvements
The event passes: event.research - the LuaTechnology that was researched. You can use research.force to tell what force the research is for. No need to re-lookup the technology.
If you want to get ahold of me I'm almost always on Discord.