mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Implant removal surgery. Scalpel > Hemostat > Restractor > Hemostat (Multiple times may be needed). For now syndicate implants simply disintegrate. Other implants can be put back into an implanter.
Also allows rag to hold 5 reagents, smother people with it, and also stops it causing attack messages.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
/obj/item/weapon/implant
|
||||
name = "implant"
|
||||
desc = "An implant. Not usually seen outside a body."
|
||||
icon = 'items.dmi'
|
||||
icon_state = "implant"
|
||||
var
|
||||
implanted = null
|
||||
mob/imp_in = null
|
||||
@@ -16,15 +19,24 @@
|
||||
trigger(emote, source as mob)
|
||||
return
|
||||
|
||||
|
||||
activate()
|
||||
return
|
||||
|
||||
attackby(obj/item/weapon/I as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(I, /obj/item/weapon/implanter))
|
||||
if (I:imp)
|
||||
return
|
||||
else
|
||||
src.loc = I
|
||||
I:imp = src
|
||||
// del(src)
|
||||
I:update()
|
||||
return
|
||||
|
||||
implanted(source as mob)
|
||||
return
|
||||
|
||||
|
||||
get_data()
|
||||
return "No information available"
|
||||
|
||||
@@ -34,8 +46,8 @@
|
||||
|
||||
|
||||
/obj/item/weapon/implant/uplink
|
||||
name = "uplink"
|
||||
desc = "Summon things."
|
||||
name = "uplink implant"
|
||||
desc = "A micro-telecrystal implant which allows for instant transportation of equipment."
|
||||
var
|
||||
activation_emote = "chuckle"
|
||||
obj/item/device/uplink/radio/uplink = null
|
||||
@@ -63,8 +75,8 @@
|
||||
|
||||
|
||||
/obj/item/weapon/implant/tracking
|
||||
name = "tracking"
|
||||
desc = "Track with this."
|
||||
name = "tracking implant"
|
||||
desc = "An implant which relays information to the appropriate tracking computer."
|
||||
var
|
||||
id = 1.0
|
||||
|
||||
@@ -89,8 +101,8 @@ Implant Specifics:<BR>"}
|
||||
|
||||
//Nuke Agent Explosive
|
||||
/obj/item/weapon/implant/dexplosive
|
||||
name = "explosive"
|
||||
desc = "And boom goes the weasel."
|
||||
name = "explosive implant"
|
||||
desc = "A military grade micro bio-explosive. Highly dangerous."
|
||||
var/activation_emote = "deathgasp"
|
||||
var/coded = 0
|
||||
|
||||
@@ -140,8 +152,8 @@ Implant Specifics:<BR>"}
|
||||
|
||||
|
||||
/obj/item/weapon/implant/chem
|
||||
name = "chem"
|
||||
desc = "Injects things."
|
||||
name = "chemical implant"
|
||||
desc = "A micro-injector that can be triggered remotely."
|
||||
allow_reagents = 1
|
||||
|
||||
get_data()
|
||||
@@ -190,8 +202,8 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
|
||||
|
||||
/obj/item/weapon/implant/loyalty
|
||||
name = "loyalty"
|
||||
desc = "Makes you loyal or such."
|
||||
name = "loyalty implant"
|
||||
desc = "An implant which contains a small pod of nanobots which manipulate host mental functions to induce loyalty."
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
@@ -220,8 +232,8 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
|
||||
//BS12 Explosive
|
||||
/obj/item/weapon/implant/explosive
|
||||
name = "explosive"
|
||||
desc = "And boom goes the weasel."
|
||||
name = "explosive implant"
|
||||
desc = "A military grade micro bio-explosive. Highly dangerous."
|
||||
var/phrase = "supercalifragilisticexpialidocious"
|
||||
|
||||
|
||||
@@ -263,8 +275,8 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate."
|
||||
|
||||
/obj/item/weapon/implant/death_alarm
|
||||
name = "death alarm"
|
||||
desc = "Danger Will Robinson!"
|
||||
name = "death alarm implant"
|
||||
desc = "An alarm which monitors host vital signs and transmits a radio message upon death."
|
||||
var/mobname = "Will Robinson"
|
||||
|
||||
get_data()
|
||||
@@ -302,7 +314,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
|
||||
/obj/item/weapon/implant/compressed
|
||||
name = "compressed matter implant"
|
||||
desc = "*fwooomp*"
|
||||
desc = "Based on compressed matter technology, can store a single item."
|
||||
var/activation_emote = "sigh"
|
||||
var/obj/item/scanned = null
|
||||
|
||||
|
||||
@@ -569,8 +569,47 @@ CIRCULAR SAW
|
||||
return 0
|
||||
|
||||
if(!S.bleeding)
|
||||
user << "\red [H] is not bleeding in \his [S.display_name]!"
|
||||
return 0
|
||||
if(S.implant)
|
||||
if(H != user)
|
||||
H.visible_message( \
|
||||
"\red [user] is attempting to remove the implant in [H]'s [S.display_name] with \the [src].", \
|
||||
"\red [user] attempts to remove the implant in your [S.display_name] with \the [src]!")
|
||||
else
|
||||
H.visible_message( \
|
||||
"\red [user] attempts to remove the implant in \his [S.display_name] with \the [src]!", \
|
||||
"\red You attempt to remove the implant in your [S.display_name] with \the [src]!")
|
||||
|
||||
if(do_mob(user, H, 50))
|
||||
if(prob(50))
|
||||
if(H != user)
|
||||
H.visible_message( \
|
||||
"\red [user] successfully removes the implant in [H]'s [S.display_name] with \the [src]!", \
|
||||
"\red [user] successfully removes the implant in your [S.display_name] with \the [src]!")
|
||||
else
|
||||
H.visible_message( \
|
||||
"\red [user] successfully removes the implant in \his [S.display_name] with \the [src]!", \
|
||||
"\red You successfully remove the implant in your [S.display_name] with \the [src]!")
|
||||
for(var/obj/item/weapon/implant/implant in S.implant)
|
||||
implant.loc = (get_turf(H))
|
||||
implant.implanted = 0
|
||||
S.implant = null
|
||||
if(istype(implant, /obj/item/weapon/implant/explosive) || istype(implant, /obj/item/weapon/implant/uplink) || istype(implant, /obj/item/weapon/implant/dexplosive) || istype(implant, /obj/item/weapon/implant/explosive) || istype(implant, /obj/item/weapon/implant/compressed))
|
||||
usr << "The implant disintegrates into nothing..."
|
||||
del(implant)
|
||||
else
|
||||
if(H != user)
|
||||
H.visible_message( \
|
||||
"\red [user] fails to removes the implant!", \
|
||||
"\red [user] fails to removes the implant!")
|
||||
else
|
||||
H.visible_message( \
|
||||
"\red [user] fails to removes the implant!", \
|
||||
"\red You fail to removes the implant!")
|
||||
|
||||
return 1
|
||||
else
|
||||
user << "\red [H] is not bleeding in \his [S.display_name]!"
|
||||
return 0
|
||||
|
||||
if(H != user)
|
||||
H.visible_message( \
|
||||
|
||||
Reference in New Issue
Block a user