mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 10:33:30 +01:00
Copy-Paste Port of /tg/station's Shadowlings
Ports tgstation/-tg-station#8157 This won't compile, needs to be bugfixed and tested. The only reason I am PRing this right now is so that we don't have multiple people working on the same thing. @ZomgPonies This will require PROBABILITY SHADOWLING # to be added to game_options.txt, and will likely require SQL database additions for the BE_SHADOWLING antag preference.
This commit is contained in:
@@ -312,6 +312,25 @@ datum/mind
|
||||
|
||||
sections["traitor"] = text
|
||||
|
||||
/** SHADOWLING **/
|
||||
text = "shadowling"
|
||||
if(ticker.mode.config_tag == "shadowling")
|
||||
text = uppertext(text)
|
||||
text = "<i><b>[text]</b></i>: "
|
||||
if(src in ticker.mode.shadows)
|
||||
text += "<b>SHADOWLING</b>|thrall|<a href='?src=\ref[src];shadowling=clear'>human</a>"
|
||||
else if(src in ticker.mode.thralls)
|
||||
text += "shadowling|<b>THRALL</b>|<a href='?src=\ref[src];shadowling=clear'>human</a>"
|
||||
else
|
||||
text += "<a href='?src=\ref[src];shadowling=shadowling'>shadowling</a>|<a href='?src=\ref[src];shadowling=thrall'>thrall</a>|<b>HUMAN</b>"
|
||||
|
||||
if(current && current.client && current.client.prefs.be_special & BE_SHADOWLING)
|
||||
text += "|Enabled in Prefs"
|
||||
else
|
||||
text += "|Disabled in Prefs"
|
||||
|
||||
sections["shadowling"] = text
|
||||
|
||||
/** MONKEY ***/
|
||||
if (istype(current, /mob/living/carbon))
|
||||
text = "monkey"
|
||||
@@ -943,6 +962,50 @@ datum/mind
|
||||
ticker.mode.forge_traitor_objectives(src)
|
||||
usr << "\blue The objectives for traitor [key] have been generated. You can edit them and anounce manually."
|
||||
|
||||
else if(href_list["shadowling"])
|
||||
switch(href_list["shadowling"])
|
||||
if("clear")
|
||||
src.spell_list = null
|
||||
if(src in ticker.mode.shadows)
|
||||
ticker.mode.shadows -= src
|
||||
special_role = null
|
||||
current << "<span class='userdanger'>Your powers have been quenched! You are no longer a shadowling!</span>"
|
||||
src.spell_list = null
|
||||
message_admins("[key_name_admin(usr)] has de-shadowling'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-shadowling'ed [current].")
|
||||
current.verbs -= /mob/living/carbon/human/proc/shadowling_hatch
|
||||
current.verbs -= /mob/living/carbon/human/proc/shadowling_ascendance
|
||||
else if(src in ticker.mode.thralls)
|
||||
ticker.mode.thralls -= src
|
||||
special_role = null
|
||||
current << "<span class='userdanger'>You have been brainwashed! You are no longer a thrall!</span>"
|
||||
message_admins("[key_name_admin(usr)] has de-thrall'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-thrall'ed [current].")
|
||||
if("shadowling")
|
||||
if(!ishuman(current))
|
||||
usr << "<span class='warning'>This only works on humans!</span>"
|
||||
return
|
||||
ticker.mode.shadows += src
|
||||
special_role = "shadowling"
|
||||
current << "<span class='deadsay'><b>You notice a brightening around you. No, it isn't that. The shadows grow, darken, swirl. The darkness has a new welcome for you, and you realize with a \
|
||||
start that you can't be human. No, you are a shadowling, a harbringer of the shadows! Your alien abilities have been unlocked from within, and you may both commune with your allies and use \
|
||||
a chrysalis to reveal your true form. You are to ascend at all costs.</b></span>"
|
||||
src.spell_list += new /obj/effect/proc_holder/spell/targeted/shadowling_hivemind
|
||||
src.spell_list += new /obj/effect/proc_holder/spell/targeted/enthrall
|
||||
current.verbs += /mob/living/carbon/human/proc/shadowling_hatch
|
||||
if("thrall")
|
||||
if(!ishuman(current))
|
||||
usr << "<span class='warning'>This only works on humans!</span>"
|
||||
return
|
||||
ticker.mode.add_thrall(src)
|
||||
special_role = "thrall"
|
||||
current << "<span class='deadsay'>All at once it becomes clear to you. Where others see darkness, you see an ally. You realize that the shadows are not dead and dark as one would think, but \
|
||||
living, and breathing, and <b>eating</b>. Their children, the Shadowlings, are to be obeyed and protected at all costs.</span>"
|
||||
current << "<span class='danger'>You may use the Hivemind Commune ability to communicate with your fellow enlightened ones.</span>"
|
||||
message_admins("[key_name_admin(usr)] has thrall'ed [current].")
|
||||
log_admin("[key_name(usr)] has thrall'ed [current].")
|
||||
src.spell_list += new /obj/effect/proc_holder/spell/targeted/shadowling_hivemind
|
||||
|
||||
else if (href_list["monkey"])
|
||||
var/mob/living/L = current
|
||||
if (L.monkeyizing)
|
||||
|
||||
Reference in New Issue
Block a user