mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
Makes offstation roles (bar ERT) unable to be sharded (#16102)
* Makes offstation roles (bar ERT) unable to be converted / sharded * Grammer changes Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> * either or * Update code/game/gamemodes/cult/runes.dm Co-authored-by: dearmochi <shenesis@gmail.com> Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> Co-authored-by: dearmochi <shenesis@gmail.com>
This commit is contained in:
co-authored by
SteelSlayer
dearmochi
parent
b4b30ae694
commit
15a2ac8f1d
@@ -366,6 +366,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
return
|
||||
|
||||
var/sacrifice_fulfilled
|
||||
var/worthless = FALSE
|
||||
var/datum/game_mode/gamemode = SSticker.mode
|
||||
if(offering.mind)
|
||||
GLOB.sacrificed += offering.mind
|
||||
@@ -379,13 +380,16 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
if(sacrifice_fulfilled)
|
||||
to_chat(M, "<span class='cultlarge'>\"Yes! This is the one I desire! You have done well.\"</span>")
|
||||
else
|
||||
if(ishuman(offering) || isrobot(offering))
|
||||
if(ishuman(offering) && offering.mind.offstation_role && offering.mind.special_role != SPECIAL_ROLE_ERT) //If you try it on a ghost role, you get nothing
|
||||
to_chat(M, "<span class='cultlarge'>\"This soul is of no use to either of us.\"</span>")
|
||||
worthless = TRUE
|
||||
else if(ishuman(offering) || isrobot(offering))
|
||||
to_chat(M, "<span class='cultlarge'>\"I accept this sacrifice.\"</span>")
|
||||
else
|
||||
to_chat(M, "<span class='cultlarge'>\"I accept this meager sacrifice.\"</span>")
|
||||
playsound(offering, 'sound/misc/demon_consume.ogg', 100, TRUE)
|
||||
|
||||
if((ishuman(offering) || isrobot(offering) || isbrain(offering)) && offering.mind)
|
||||
if(((ishuman(offering) || isrobot(offering) || isbrain(offering)) && offering.mind) && !worthless)
|
||||
var/obj/item/soulstone/stone = new /obj/item/soulstone(get_turf(src))
|
||||
stone.invisibility = INVISIBILITY_MAXIMUM // So it's not picked up during transfer_soul()
|
||||
stone.transfer_soul("FORCE", offering, user) // If it cannot be added
|
||||
|
||||
@@ -95,6 +95,10 @@
|
||||
to_chat(user, "<span class='cultlarge'>\"Come now, do not capture your fellow's soul.\"</span>")
|
||||
return ..()
|
||||
|
||||
if(M.mind.offstation_role && M.mind.special_role != SPECIAL_ROLE_ERT)
|
||||
to_chat(user, "<span class='warning'>This being's soul seems worthless. Not even the stone will absorb it.</span>")
|
||||
return ..()
|
||||
|
||||
if(optional)
|
||||
if(!M.ckey)
|
||||
to_chat(user, "<span class='warning'>They have no soul!</span>")
|
||||
|
||||
Reference in New Issue
Block a user