TG Implant Refactor/Overhaul

This commit is contained in:
Fox-McCloud
2016-01-16 01:50:10 -05:00
parent ad023ae93f
commit ec350a0b5c
30 changed files with 2567 additions and 2822 deletions
+29 -36
View File
@@ -1,51 +1,44 @@
//////Exile implants will allow you to use the station gate, but not return home. This will allow security to exile badguys/for badguys to exile their kill targets////////
//Exile implants will allow you to use the station gate, but not return home.
//This will allow security to exile badguys/for badguys to exile their kill targets
/obj/item/weapon/implant/exile
name = "exile implant"
desc = "Prevents you from returning from away missions"
origin_tech = "materials=2;biotech=3;magnets=2;bluespace=3"
activated = 0
/obj/item/weapon/implant/exile/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Nanotrasen Employee Exile Implant<BR>
<b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant<BR>"}
return dat
/obj/item/weapon/implanter/exile
name = "implanter-exile"
name = "implanter (exile)"
/obj/item/weapon/implanter/exile/New()
src.imp = new /obj/item/weapon/implant/exile( src )
imp = new /obj/item/weapon/implant/exile( src )
..()
update()
return
/obj/item/weapon/implant/exile
name = "exile"
desc = "Prevents you from returning from away missions"
get_data()
var/dat = {"
<b>Implant Specifications:</b><BR>
<b>Name:</b> Nanotrasen Employee Exile Implant<BR>
<b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant<BR>"}
return dat
/obj/item/weapon/implantcase/exile
name = "\improper Glass Case- 'Exile'"
desc = "A case containing an exile implant."
icon = 'icons/obj/items.dmi'
icon_state = "implantcase-r"
name = "implant case - 'Exile'"
desc = "A glass case containing an exile implant."
New()
src.imp = new /obj/item/weapon/implant/exile( src )
..()
return
/obj/item/weapon/implantcase/exile/New()
imp = new /obj/item/weapon/implant/exile(src)
..()
/obj/structure/closet/secure_closet/exile
name = "exile implants"
req_access = list(access_hos)
New()
..()
sleep(2)
new /obj/item/weapon/implanter/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
return
/obj/structure/closet/secure_closet/exile/New()
..()
new /obj/item/weapon/implanter/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
@@ -46,8 +46,6 @@
if(M.z == ZLEVEL_STATION && !istype(M.loc, /turf/space))
var/turf/mob_loc = get_turf(M)
loc_display = mob_loc.loc
if(T.malfunction)
loc_display = pick(teleportlocs)
dat += "ID: [T.id] | Location: [loc_display]<BR>"
dat += "<A href='?src=\ref[src];warn=\ref[T]'>(<i>Send Message</i></font>)</A> |<BR>"
dat += "********************************<BR>"
+27 -1
View File
@@ -731,4 +731,30 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
handcuffed,
legcuffed,
back,
wear_mask)
wear_mask)
/mob/living/carbon/proc/uncuff()
if (handcuffed)
var/obj/item/weapon/W = handcuffed
handcuffed = null
if (buckled && buckled.buckle_requires_restraints)
buckled.unbuckle_mob()
update_inv_handcuffed()
if (client)
client.screen -= W
if (W)
W.loc = loc
W.dropped(src)
if (W)
W.layer = initial(W.layer)
if (legcuffed)
var/obj/item/weapon/W = legcuffed
legcuffed = null
update_inv_legcuffed()
if (client)
client.screen -= W
if (W)
W.loc = loc
W.dropped(src)
if (W)
W.layer = initial(W.layer)
+6
View File
@@ -178,6 +178,12 @@ proc/isorgan(A)
return 1
return 0
/proc/ismindslave(A) //Checks to see if the person contains a mindslave implant, then checks that the implant is actually inside of them
for(var/obj/item/weapon/implant/traitor/T in A)
if(T && T.implanted)
return 1
return 0
proc/isAntag(A)
if(istype(A, /mob/living/carbon))
var/mob/living/carbon/C = A
+20 -7
View File
@@ -164,11 +164,7 @@
var/obj/item/obj = affected.implants[1]
if(istype(obj,/obj/item/weapon/implant))
var/obj/item/weapon/implant/imp = obj
if (imp.islegal())
find_prob +=60
else
find_prob +=40
find_prob +=60
else
find_prob +=50
@@ -190,8 +186,25 @@
obj.loc = get_turf(target)
if(istype(obj,/obj/item/weapon/implant))
var/obj/item/weapon/implant/imp = obj
imp.imp_in = null
imp.implanted = 0
imp.removed(target)
var/obj/item/weapon/implantcase/case
if(istype(user.get_item_by_slot(slot_l_hand), /obj/item/weapon/implantcase))
case = user.get_item_by_slot(slot_l_hand)
else if(istype(user.get_item_by_slot(slot_r_hand), /obj/item/weapon/implantcase))
case = user.get_item_by_slot(slot_r_hand)
else
case = locate(/obj/item/weapon/implantcase) in get_turf(target)
if(case && !case.imp)
case.imp = imp
imp.loc = case
case.update_icon()
user.visible_message("[user] places [imp] into [case]!", "<span class='notice'>You place [imp] into [case].</span>")
else
qdel(imp)
else
user.visible_message("\blue [user] removes \the [tool] from [target]'s [affected.name].", \
"\blue There's something inside [target]'s [affected.name], but you just missed it this time." )