From 70f5da14bca2ddec25830d69d1e3e205f8707795 Mon Sep 17 00:00:00 2001 From: Nerd Lord Date: Sun, 22 May 2016 20:10:41 -0400 Subject: [PATCH 1/2] Makes the cult less likely to accidentally cuck itself ticker checks augh --- code/game/gamemodes/cult/ritual.dm | 42 ++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index de7f5cb0a92..41b9e8c59d5 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -203,21 +203,35 @@ This file contains the arcane tome files. if(!Adjacent(user) || !src || qdeleted(src) || user.incapacitated()) return if(ispath(rune_to_scribe, /obj/effect/rune/narsie)) - var/confirm_final = alert(usr, "This is the FINAL step to summon Nar-Sie, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No") - if(confirm_final == "No") - usr << "On second thought, we should prepare further for the final battle..." + if(ticker.mode.name == "cult") + var/datum/game_mode/cult/cult_mode = ticker.mode + if(!("eldergod" in cult_mode.cult_objectives)) + user << "Nar-Sie does not wish to be summoned!" + return + else if(cult_mode.sacrifice_target && !(cult_mode.sacrifice_target in sacrificed)) + user << "The sacrifice is not complete. The portal would lack the power to open if you tried!" + return + else if(!cult_mode.eldergod) + user << "\"I am already here. There is no need to try to summon me now.\"" + return + var/confirm_final = alert(user, "This is the FINAL step to summon Nar-Sie, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No") + if(confirm_final == "No") + user << "You decide to prepare further before scribing the rune." + return + var/area/A = get_area(src) + var/locname = initial(A.name) + priority_announce("Figments from an eldritch god are being summoned by [user] into [locname] from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensionsal Affairs", 'sound/AI/spanomalies.ogg') + for(var/B in spiral_range_turfs(1, user, 1)) + var/turf/T = B + var/obj/machinery/shield/N = new(T) + N.name = "Rune-Scriber's Shield" + N.desc = "A potent shield summoned by cultists to protect them while they prepare the final ritual" + N.icon_state = "shield-red" + N.health = 60 + shields |= N + else + user << "Nar-Sie does not wish to be summoned!" return - var/area/A = get_area(src) - var/locname = initial(A.name) - priority_announce("Figments from an eldritch god are being summoned by [user] into [locname] from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensionsal Affairs", 'sound/AI/spanomalies.ogg') - for(var/B in spiral_range_turfs(1, user, 1)) - var/turf/T = B - var/obj/machinery/shield/N = new(T) - N.name = "Rune-Scriber's Shield" - N.desc = "A potent shield summoned by cultists to protect them while they prepare the final ritual" - N.icon_state = "shield-red" - N.health = 60 - shields |= N user.visible_message("[user] cuts open their arm and begins writing in their own blood!", \ "You slice open your arm and begin drawing a sigil of the Geometer.") user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick("l_arm", "r_arm")) From c84849c2c6d0833ede806e7441e0cc033fd9f23e Mon Sep 17 00:00:00 2001 From: Nerd Lord Date: Sun, 22 May 2016 20:14:21 -0400 Subject: [PATCH 2/2] as compensation, remove the now-uneeded code --- code/game/gamemodes/cult/runes.dm | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 64b6e1c6517..ba4d77b455c 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -458,28 +458,8 @@ var/list/teleport_runes = list() /obj/effect/rune/narsie/invoke(var/list/invokers) if(used) return - var/mob/living/user = invokers[1] if(ticker.mode.name == "cult") var/datum/game_mode/cult/cult_mode = ticker.mode - if(!("eldergod" in cult_mode.cult_objectives)) - message_admins("[user.real_name]([user.ckey]) tried to summon Nar-Sie when the objective was wrong") - for(var/M in invokers) - var/mob/living/L = M - L << "\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"" - if(L.reagents) - L.reagents.add_reagent("hell_water", 10) - L.Weaken(7) - L.Stun(7) - fail_invoke() - log_game("Summon Nar-Sie rune failed - improper objective") - return - else - if(cult_mode.sacrifice_target && !(cult_mode.sacrifice_target in sacrificed)) - for(var/M in invokers) - M << "The sacrifice is not complete. The portal lacks the power to open!" - fail_invoke() - log_game("Summon Nar-Sie rune failed - sacrifice not complete") - return if(!cult_mode.eldergod) for(var/M in invokers) M << "Nar-Sie is already on this plane!"