From 44de531ae0bfdc6d8694e70704f3fbf0a3a0d724 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 1 Mar 2019 00:09:38 -0500 Subject: [PATCH] Makes bloodcult conversions consensual --- code/modules/antagonists/cult/runes.dm | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 51c8803cee..e8a07fc8c5 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -185,6 +185,9 @@ structure_check() searches for nearby cultist structures required for the invoca color = RUNE_COLOR_OFFER req_cultists = 1 rune_in_use = FALSE + var/mob/living/currentconversionman + var/conversiontimeout + var/conversionresult /obj/effect/rune/convert/do_invoke_glow() return @@ -241,6 +244,21 @@ structure_check() searches for nearby cultist structures required for the invoca to_chat(M, "Something is shielding [convertee]'s mind!") log_game("Offer rune failed - convertee had anti-magic") return 0 + to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ + and something evil takes root.") + to_chat(convertee, "Do you wish to embrace the Geometer of Blood? Click here to stop resisting the truth. Or you could choose to continue resisting...") + currentconversionman = convertee + conversiontimeout = world.time + (10 SECONDS) + convertee.Stun(100) + conversionresult = FALSE + while(world.time < conversiontimeout && convertee && !conversionresult) + stoplag(1) + currentconversionman = null + if(convertee && get_turf(convertee) != get_turf(src)) + return FALSE + if(!conversionresult && convertee) + do_sacrifice(convertee, invokers) + return FALSE var/brutedamage = convertee.getBruteLoss() var/burndamage = convertee.getFireLoss() if(brutedamage || burndamage) @@ -252,8 +270,6 @@ structure_check() searches for nearby cultist structures required for the invoca SSticker.mode.add_cultist(convertee.mind, 1) new /obj/item/melee/cultblade/dagger(get_turf(src)) convertee.mind.special_role = ROLE_CULTIST - to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ - and something evil takes root.") to_chat(convertee, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve the Geometer above all else. Bring it back.\ ") if(ishuman(convertee)) @@ -313,6 +329,12 @@ structure_check() searches for nearby cultist structures required for the invoca sacrificial.gib() return TRUE +/obj/effect/rune/convert/Topic(href, href_list) + if(href_list["signmeup"]) + if(currentconversionman == usr) + conversionresult = TRUE + else + to_chat(usr, "Your fate has already been set in stone.") /obj/effect/rune/empower