mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +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
|
id = IMPLANTSLAVE
|
||||||
logo_state = "greytide-logo"
|
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
|
/datum/role/greytide_leader
|
||||||
name = IMPLANTLEADER
|
name = IMPLANTLEADER
|
||||||
id = IMPLANTLEADER
|
id = IMPLANTLEADER
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
/obj/item/weapon/implant/proc/activate()
|
/obj/item/weapon/implant/proc/activate()
|
||||||
return
|
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?
|
// What does the implant do upon injection?
|
||||||
// return 0 if the implant fails (ex. Revhead and loyalty implant.)
|
// 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))
|
if(isrevnothead(H))
|
||||||
var/datum/role/R = H.mind.GetRole(REV)
|
var/datum/role/R = H.mind.GetRole(REV)
|
||||||
R.Drop()
|
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>")
|
to_chat(H, "<span class = 'notice'>You feel a surge of loyalty towards Nanotrasen.</span>")
|
||||||
return 1
|
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)].")
|
log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].")
|
||||||
return 1
|
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
|
/obj/item/weapon/implant/adrenalin
|
||||||
name = "adrenalin implant"
|
name = "adrenalin implant"
|
||||||
desc = "Removes all stuns and knockdowns."
|
desc = "Removes all stuns and knockdowns."
|
||||||
|
|||||||
@@ -211,6 +211,7 @@
|
|||||||
obj.forceMove(get_turf(target))
|
obj.forceMove(get_turf(target))
|
||||||
if(istype(obj,/obj/item/weapon/implant))
|
if(istype(obj,/obj/item/weapon/implant))
|
||||||
var/obj/item/weapon/implant/imp = obj
|
var/obj/item/weapon/implant/imp = obj
|
||||||
|
imp.handle_removal(user)
|
||||||
imp.imp_in = null
|
imp.imp_in = null
|
||||||
imp.implanted = 0
|
imp.implanted = 0
|
||||||
affected.implants -= imp
|
affected.implants -= imp
|
||||||
|
|||||||
Reference in New Issue
Block a user