@@ -213,3 +213,31 @@ script.on_event(defines.events.on_player_main_inventory_changed, function(event)
213213 end
214214 end
215215end )
216+
217+ script .on_event (defines .events .on_entity_died , function (event )
218+ local loot = event .loot
219+ local killing_force = event .force
220+ if (not killing_force ) or loot .is_empty () then
221+ return
222+ end
223+ loot = loot .get_contents ()
224+ for loot_item_name , loot_technology_to_research in pairs ({
225+ [" small-alien-artifact" ] = " angels-alien-artifact" ,
226+ [" small-alien-artifact-red" ] = " angels-alien-artifact-red" ,
227+ [" small-alien-artifact-yellow" ] = " angels-alien-artifact-yellow" ,
228+ [" small-alien-artifact-orange" ] = " angels-alien-artifact-orange" ,
229+ [" small-alien-artifact-blue" ] = " angels-alien-artifact-blue" ,
230+ [" small-alien-artifact-purple" ] = " angels-alien-artifact-purple" ,
231+ [" small-alien-artifact-green" ] = " angels-alien-artifact-green" ,
232+ }) do
233+ if loot [loot_item_name ] then
234+ local technology = killing_force .technologies [loot_technology_to_research ]
235+ if technology then
236+ technology .researched = true
237+ end
238+ end
239+ end
240+ end , {
241+ { mode = " or" , filter = " type" , type = " unit" },
242+ { mode = " or" , filter = " type" , type = " unit-spawner" },
243+ })
0 commit comments