mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 00:23:29 +01:00
Major Shadowling Update
This commit is contained in:
@@ -257,6 +257,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return 1
|
||||
|
||||
|
||||
/mob/dead/observer/proc/notify_cloning(var/message, var/sound, var/atom/source)
|
||||
if(message)
|
||||
src << "<span class='ghostalert'>[message]</span>"
|
||||
src << "<span class='ghostalert'><a href=?src=\ref[src];reenter=1>(Click to re-enter)</a></span>"
|
||||
if(sound)
|
||||
src << sound(sound)
|
||||
|
||||
/mob/dead/observer/proc/show_me_the_hud(hud_index)
|
||||
var/datum/atom_hud/H = huds[hud_index]
|
||||
H.add_hud_to(src)
|
||||
|
||||
@@ -1364,6 +1364,11 @@ mob/proc/yank_out_object()
|
||||
return G
|
||||
break
|
||||
|
||||
/mob/proc/notify_ghost_cloning(var/message = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!", var/sound = 'sound/effects/genetics.ogg', var/atom/source = null)
|
||||
var/mob/dead/observer/ghost = get_ghost()
|
||||
if(ghost)
|
||||
ghost.notify_cloning(message, sound, source)
|
||||
return ghost
|
||||
|
||||
/mob/proc/fakevomit(green=0) //for aesthetic vomits that need to be instant and do not stun. -Fox
|
||||
if(stat==DEAD)
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
|
||||
|
||||
/datum/surgery/remove_thrall/can_start(mob/user, mob/living/carbon/target)
|
||||
return is_thrall(target)//would this be too meta?
|
||||
return is_thrall(target) //would this be too meta?
|
||||
|
||||
/datum/surgery/remove_thrall/synth/can_start(mob/user, mob/living/carbon/target)
|
||||
return is_thrall(target) && target.get_species() == "Machine"
|
||||
@@ -244,22 +244,27 @@
|
||||
..()
|
||||
|
||||
/datum/surgery_step/internal/dethrall/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
if(target.get_species() == "Lesser Shadowling") //Empowered thralls cannot be deconverted
|
||||
target << "<span class='shadowling'><b><i>NOT LIKE THIS!</i></b></span>"
|
||||
user.visible_message("<span class='warning'>[target] suddenly slams upward and knocks down [user]!</span>", \
|
||||
"<span class='userdanger'>[target] suddenly bolts up and slams you with tremendous force!</span>")
|
||||
user.resting = 0 //Remove all stuns
|
||||
user.SetSleeping(0)
|
||||
user.SetStunned(0)
|
||||
user.SetWeakened(0)
|
||||
user.SetParalysis(0)
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
C.Weaken(6)
|
||||
C.apply_damage(20, "brute", "chest")
|
||||
else if(issilicon(user))
|
||||
var/mob/living/silicon/S = user
|
||||
S.Weaken(8)
|
||||
S.apply_damage(20, "brute")
|
||||
playsound(S, 'sound/effects/bang.ogg', 50, 1)
|
||||
return 0
|
||||
user.visible_message("[user] shines light onto the tumor in [target]'s head!", "<span class='notice'>You cleanse the contamination from [target]'s brain!</span>")
|
||||
ticker.mode.remove_thrall(target.mind,0)
|
||||
ticker.mode.remove_thrall(target.mind, 0)
|
||||
target.visible_message("<span class='warning'>A strange black mass falls from [target]'s head!</span>")
|
||||
new /obj/item/organ/internal/shadowtumor(get_turf(target))
|
||||
|
||||
return 1
|
||||
|
||||
/datum/surgery_step/internal/dethrall/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
var/braincase = target.named_organ_parent("brain")
|
||||
if(prob(50))
|
||||
user.visible_message("<span class='warning'>[user] slips and rips the tumor out from [target]'s [braincase]!</span>", \
|
||||
"<span class='warning'><b>You fumble and tear out [target]'s tumor!</span>")
|
||||
target.adjustBrainLoss(110) // This is so you can't just defib'n go
|
||||
ticker.mode.remove_thrall(target.mind,1)
|
||||
|
||||
return 0
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user]'s hand slips and fumbles! Luckily, they didn't damage anything!</span>")
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user