mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Merge pull request #17864 from ChangelingRain/stopcuckingthecult
Makes the cult less likely to accidentally cuck itself
This commit is contained in:
@@ -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"))
|
||||
|
||||
@@ -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>"
|
||||
|
||||
Reference in New Issue
Block a user