mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Fix greytide implants being unintuitive (#24648)
* Fix greytide implants being unintuitive * Grammar is hard Co-Authored-By: DamianX <DamianX@users.noreply.github.com>
This commit is contained in:
@@ -623,6 +623,19 @@ Once done, you will be able to interface with all systems, notably the onboard n
|
||||
id = IMPLANTSLAVE
|
||||
logo_state = "greytide-logo"
|
||||
|
||||
/datum/role/greytide/Drop(silent = TRUE)
|
||||
if (!silent)
|
||||
antag.current.visible_message("<span class='userdanger'>[antag.current] briefly convulses!</span>" ,"<span class='userdanger'>Your loyalty to the greytide fades and vanishes. You are free of your actions again.</span>")
|
||||
return ..()
|
||||
|
||||
/datum/role/greytide/PostMindTransfer(var/mob/living/new_character, var/mob/living/old_character)
|
||||
for(var/obj/item/weapon/implant/I in new_character)
|
||||
if(istype(I, /obj/item/weapon/implant/traitor))
|
||||
return
|
||||
Drop()
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/role/greytide_leader
|
||||
name = IMPLANTLEADER
|
||||
id = IMPLANTLEADER
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
/obj/item/weapon/implant/proc/activate()
|
||||
return
|
||||
|
||||
// What does the implant do when it's removed?
|
||||
/obj/item/weapon/implant/proc/handle_removal(var/mob/remover)
|
||||
return
|
||||
|
||||
// What does the implant do upon injection?
|
||||
// return 0 if the implant fails (ex. Revhead and loyalty implant.)
|
||||
@@ -302,9 +305,6 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
if(isrevnothead(H))
|
||||
var/datum/role/R = H.mind.GetRole(REV)
|
||||
R.Drop()
|
||||
if(H.mind && H.mind.GetRole(IMPLANTSLAVE))
|
||||
var/datum/role/R = H.mind.GetRole(IMPLANTSLAVE)
|
||||
R.Drop()
|
||||
|
||||
to_chat(H, "<span class = 'notice'>You feel a surge of loyalty towards Nanotrasen.</span>")
|
||||
return 1
|
||||
@@ -371,6 +371,15 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].")
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/implant/traitor/handle_removal(var/mob/remover)
|
||||
if (!imp_in.mind)
|
||||
return
|
||||
var/datum/role/R = imp_in.mind.GetRole(IMPLANTSLAVE)
|
||||
if (!R)
|
||||
return
|
||||
log_admin("[key_name(remover)] has removed a greytide implant from [key_name(imp_in)].")
|
||||
R.Drop(FALSE)
|
||||
|
||||
/obj/item/weapon/implant/adrenalin
|
||||
name = "adrenalin implant"
|
||||
desc = "Removes all stuns and knockdowns."
|
||||
|
||||
@@ -211,6 +211,7 @@
|
||||
obj.forceMove(get_turf(target))
|
||||
if(istype(obj,/obj/item/weapon/implant))
|
||||
var/obj/item/weapon/implant/imp = obj
|
||||
imp.handle_removal(user)
|
||||
imp.imp_in = null
|
||||
imp.implanted = 0
|
||||
affected.implants -= imp
|
||||
|
||||
Reference in New Issue
Block a user