diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 83ca646d89..67785f8585 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -581,7 +581,15 @@ var/list/sacrificed = list() if(iscultist(C) && !C.stat) cultsinrange += C C.say("Barhah hra zar[pick("'","`")]garis!") + for(var/mob/H in victims) + + var/worth = 0 + if(istype(H,/mob/living/carbon/human)) + var/mob/living/carbon/human/lamb = H + if(lamb.species.rarity_value > 3) + worth = 1 + if (ticker.mode.name == "cult") if(H.mind == ticker.mode:sacrifice_target) if(cultsinrange.len >= 3) @@ -596,8 +604,8 @@ var/list/sacrificed = list() else if(cultsinrange.len >= 3) if(H.stat !=2) - if(prob(80)) - usr << "\red The Geometer of Blood accepts this sacrifice." + if(prob(80) || worth) + usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice." ticker.mode:grant_runeword(usr) else usr << "\red The Geometer of blood accepts this sacrifice." @@ -607,8 +615,8 @@ var/list/sacrificed = list() else H.gib() else - if(prob(40)) - usr << "\red The Geometer of blood accepts this sacrifice." + if(prob(40) || worth) + usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice." ticker.mode:grant_runeword(usr) else usr << "\red The Geometer of blood accepts this sacrifice." diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index d01e0e3506..e2cc152c8e 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -637,18 +637,24 @@ datum/objective/capture check_completion()//Basically runs through all the mobs in the area to determine how much they are worth. var/captured_amount = 0 var/area/centcom/holding/A = locate() - for(var/mob/living/carbon/human/M in A)//Humans. + + for(var/mob/living/carbon/human/M in A) // Humans (and subtypes). + var/worth = M.species.rarity_value if(M.stat==2)//Dead folks are worth less. - captured_amount+=0.5 + worth*=0.5 continue - captured_amount+=1 + captured_amount += worth + for(var/mob/living/carbon/monkey/M in A)//Monkeys are almost worthless, you failure. captured_amount+=0.1 + for(var/mob/living/carbon/alien/larva/M in A)//Larva are important for research. if(M.stat==2) captured_amount+=0.5 continue captured_amount+=1 + + if(captured_amount