From 4bc0833982f5c625144bcf4bf6c3a65a2e3fcdf6 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 15 Mar 2019 19:43:24 -0400 Subject: [PATCH 1/2] Makes conversions mute victims that are deciding their fate, fixes conversions requiring three cultists to sacrifice a refusing victim --- code/modules/antagonists/cult/runes.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 274273fdcf..adbdc699ae 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -250,14 +250,18 @@ structure_check() searches for nearby cultist structures required for the invoca currentconversionman = convertee conversiontimeout = world.time + (10 SECONDS) convertee.Stun(100) + convertee.add_trait(TRAIT_MUTE, "conversionrune") conversionresult = FALSE while(world.time < conversiontimeout && convertee && !conversionresult) stoplag(1) currentconversionman = null - if(convertee && get_turf(convertee) != get_turf(src)) + if(!convertee) return FALSE - if(!conversionresult && convertee) - do_sacrifice(convertee, invokers) + convertee.remove_trait(TRAIT_MUTE, "conversionrune") + if(get_turf(convertee) != get_turf(src)) + return FALSE + if(!conversionresult) + do_sacrifice(convertee, invokers, TRUE) return FALSE var/brutedamage = convertee.getBruteLoss() var/burndamage = convertee.getFireLoss() @@ -279,7 +283,7 @@ structure_check() searches for nearby cultist structures required for the invoca H.cultslurring = 0 return 1 -/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers) +/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers, force_a_sac) var/mob/living/first_invoker = invokers[1] if(!first_invoker) return FALSE From 78472039cf6d105feeab0652eec9a4d791849ad6 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 15 Mar 2019 19:47:02 -0400 Subject: [PATCH 2/2] i hit ctrl s god fucking damnit --- code/modules/antagonists/cult/runes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index adbdc699ae..f3975851ca 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -293,7 +293,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/big_sac = FALSE - if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && invokers.len < 3) + if(!force_a_sac && (((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && invokers.len < 3) for(var/M in invokers) to_chat(M, "[sacrificial] is too greatly linked to the world! You need three acolytes!") log_game("Offer rune failed - not enough acolytes and target is living or sac target")