diff --git a/code/modules/objectives/mob_objectives.dm b/code/modules/objectives/mob_objectives.dm index 4725f9c20e0d..5f1f8cbb9906 100644 --- a/code/modules/objectives/mob_objectives.dm +++ b/code/modules/objectives/mob_objectives.dm @@ -10,6 +10,7 @@ var/list/corpses = list() var/list/scored_other_corpses = list() var/list/scored_humansynth_corpses = list() + var/max_humans = FALSE /datum/cm_objective/recover_corpses/New() . = ..() @@ -118,12 +119,13 @@ if(isqueen(X)) //Queen is Tier 0 for some reason... value = OBJECTIVE_ABSOLUTE_VALUE - else if(ishumansynth_strict(target) && length(scored_humansynth_corpses) <= 48) // Limit human corpse recovery to 5 total points (.1 each) - return OBJECTIVE_LOW_VALUE - - else if(ishumansynth_strict(target) && length(scored_humansynth_corpses) == 49) - marine_announcement("Maximum intel points for non-xenomorph corpses has been achieved.", "Intel Announcement", 'sound/misc/notice2.ogg') - return OBJECTIVE_LOW_VALUE + else if(ishumansynth_strict(target)) + if(length(scored_humansynth_corpses) <= 48) // Limit human corpse recovery to 5 total points (.1 each) + return OBJECTIVE_LOW_VALUE + if(!max_humans) + marine_announcement("Maximum intel points for non-xenomorph corpses has been achieved.", "Intel Announcement", 'sound/misc/notice2.ogg') + max_humans = TRUE + return OBJECTIVE_LOW_VALUE return value