Merge pull request #17864 from ChangelingRain/stopcuckingthecult

Makes the cult less likely to accidentally cuck itself
This commit is contained in:
Jordie
2016-05-24 10:48:00 +10:00
2 changed files with 28 additions and 34 deletions
+28 -14
View File
@@ -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 << "<span class='warning'>Nar-Sie does not wish to be summoned!</span>"
return
else if(cult_mode.sacrifice_target && !(cult_mode.sacrifice_target in sacrificed))
user << "<span class='warning'>The sacrifice is not complete. The portal would lack the power to open if you tried!</span>"
return
else if(!cult_mode.eldergod)
user << "<span class='cultlarge'>\"I am already here. There is no need to try to summon me now.\"</span>"
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 << "<span class='cult'>You decide to prepare further before scribing the rune.</span>"
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 << "<span class='warning'>Nar-Sie does not wish to be summoned!</span>"
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("<span class='warning'>[user] cuts open their arm and begins writing in their own blood!</span>", \
"<span class='cult'>You slice open your arm and begin drawing a sigil of the Geometer.</span>")
user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick("l_arm", "r_arm"))
-20
View File
@@ -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 << "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>"
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 << "<span class='warning'>The sacrifice is not complete. The portal lacks the power to open!</span>"
fail_invoke()
log_game("Summon Nar-Sie rune failed - sacrifice not complete")
return
if(!cult_mode.eldergod)
for(var/M in invokers)
M << "<span class='warning'>Nar-Sie is already on this plane!</span>"