From fd5357565853286b3979f56d01abf09aa179f9fc Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 4 Dec 2014 20:48:45 +1300 Subject: [PATCH 1/4] Implant cases - Adds freedom implant in glass case variant - Changes implants created from protolathe to variants in glass cases --- .../items/weapons/implants/implantcase.dm | 21 ++++++++++++++----- code/modules/research/designs.dm | 4 ++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 3dc57db6549..7d3a3ba01bb 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -66,7 +66,7 @@ /obj/item/weapon/implantcase/tracking - name = "Glass Case- 'Tracking'" + name = "Glass Case - 'Tracking'" desc = "A case containing a tracking implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" @@ -80,7 +80,7 @@ /obj/item/weapon/implantcase/explosive - name = "Glass Case- 'Explosive'" + name = "Glass Case - 'Explosive'" desc = "A case containing an explosive implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" @@ -94,7 +94,7 @@ /obj/item/weapon/implantcase/chem - name = "Glass Case- 'Chem'" + name = "Glass Case - 'Chem'" desc = "A case containing a chemical implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" @@ -106,7 +106,7 @@ /obj/item/weapon/implantcase/loyalty - name = "Glass Case- 'Loyalty'" + name = "Glass Case - 'Loyalty'" desc = "A case containing a loyalty implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" @@ -119,7 +119,7 @@ /obj/item/weapon/implantcase/death_alarm - name = "Glass Case- 'Death Alarm'" + name = "Glass Case - 'Death Alarm'" desc = "A case containing a death alarm implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" @@ -128,3 +128,14 @@ src.imp = new /obj/item/weapon/implant/death_alarm( src ) ..() return + +/obj/item/weapon/implantcase/freedom + name = "Glass Case - 'Freedom'" + desc = "A case containing a freedom implant." + icon = 'icons/obj/items.dmi' + icon_state = "implantcase-b" + + New() + src.imp = new /obj/item/weapon/implant/freedom( src ) + ..() + return \ No newline at end of file diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 451978609bc..20c1ba89bbf 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1421,7 +1421,7 @@ datum/design/implant_chem req_tech = list("materials" = 2, "biotech" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/implant/chem" + build_path = "/obj/item/weapon/implantcase/chem" datum/design/implant_free name = "freedom implant" @@ -1430,7 +1430,7 @@ datum/design/implant_free req_tech = list("syndicate" = 2, "biotech" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/implant/freedom" + build_path = "/obj/item/weapon/implantcase/freedom" datum/design/chameleon name = "Chameleon Kit" From 18cc00b5c07f85ae10a4e13b29462ebaf988f5ee Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 4 Dec 2014 20:49:43 +1300 Subject: [PATCH 2/4] Research object update - Updates research testing object to include phoron and engineering tech --- code/defines/obj/weapon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index ae3adf9c3bd..b6c78c72d24 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -647,4 +647,4 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "capacitor" desc = "A debug item for research." - origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8" + origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8;phorontech=8;engineering=8" From ad6828e70a9763dee5f58d76561db7c59e8a9a5b Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sat, 6 Dec 2014 16:13:44 +1300 Subject: [PATCH 3/4] Update implantcase.dm to absolute paths --- .../items/weapons/implants/implantcase.dm | 141 ++++++++---------- 1 file changed, 66 insertions(+), 75 deletions(-) diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 7d3a3ba01bb..5683ccd0b2e 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -9,60 +9,55 @@ throw_range = 5 w_class = 1.0 var/obj/item/weapon/implant/imp = null - proc - update() +/obj/item/weapon/implantcase/proc/update() + if (src.imp) + src.icon_state = text("implantcase-[]", src.imp.item_color) + else + src.icon_state = "implantcase-0" + return - update() - if (src.imp) - src.icon_state = text("implantcase-[]", src.imp.item_color) +/obj/item/weapon/implantcase/attackby(obj/item/weapon/I as obj, mob/user as mob) + ..() + if (istype(I, /obj/item/weapon/pen)) + var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text + if (user.get_active_hand() != I) + return + if((!in_range(src, usr) && src.loc != user)) + return + t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + if(t) + src.name = text("Glass Case- '[]'", t) else - src.icon_state = "implantcase-0" - return - - - attackby(obj/item/weapon/I as obj, mob/user as mob) - ..() - if (istype(I, /obj/item/weapon/pen)) - var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text - if (user.get_active_hand() != I) + src.name = "Glass Case" + else if(istype(I, /obj/item/weapon/reagent_containers/syringe)) + if(!src.imp) return + if(!src.imp.allow_reagents) return + if(src.imp.reagents.total_volume >= src.imp.reagents.maximum_volume) + user << "\red [src] is full." + else + spawn(5) + I.reagents.trans_to(src.imp, 5) + user << "\blue You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units." + else if (istype(I, /obj/item/weapon/implanter)) + if (I:imp) + if ((src.imp || I:imp.implanted)) return - if((!in_range(src, usr) && src.loc != user)) - return - t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) - if(t) - src.name = text("Glass Case- '[]'", t) - else - src.name = "Glass Case" - else if(istype(I, /obj/item/weapon/reagent_containers/syringe)) - if(!src.imp) return - if(!src.imp.allow_reagents) return - if(src.imp.reagents.total_volume >= src.imp.reagents.maximum_volume) - user << "\red [src] is full." - else - spawn(5) - I.reagents.trans_to(src.imp, 5) - user << "\blue You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units." - else if (istype(I, /obj/item/weapon/implanter)) - if (I:imp) - if ((src.imp || I:imp.implanted)) + I:imp.loc = src + src.imp = I:imp + I:imp = null + src.update() + I:update() + else + if (src.imp) + if (I:imp) return - I:imp.loc = src - src.imp = I:imp - I:imp = null - src.update() - I:update() - else - if (src.imp) - if (I:imp) - return - src.imp.loc = I - I:imp = src.imp - src.imp = null - update() - I:update() - return - + src.imp.loc = I + I:imp = src.imp + src.imp = null + update() + I:update() + return /obj/item/weapon/implantcase/tracking @@ -71,12 +66,10 @@ icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" - - New() - src.imp = new /obj/item/weapon/implant/tracking( src ) - ..() - return - +/obj/item/weapon/implantcase/tracking/New() + src.imp = new /obj/item/weapon/implant/tracking( src ) + ..() + return /obj/item/weapon/implantcase/explosive @@ -85,12 +78,10 @@ icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" - - New() - src.imp = new /obj/item/weapon/implant/explosive( src ) - ..() - return - +/obj/item/weapon/implantcase/explosive/New() + src.imp = new /obj/item/weapon/implant/explosive( src ) + ..() + return /obj/item/weapon/implantcase/chem @@ -98,8 +89,8 @@ desc = "A case containing a chemical implant." icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" -/obj/item/weapon/implantcase/chem/New() +/obj/item/weapon/implantcase/chem/New() src.imp = new /obj/item/weapon/implant/chem( src ) ..() return @@ -111,11 +102,10 @@ icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" - - New() - src.imp = new /obj/item/weapon/implant/loyalty( src ) - ..() - return +/obj/item/weapon/implantcase/loyalty/New() + src.imp = new /obj/item/weapon/implant/loyalty( src ) + ..() + return /obj/item/weapon/implantcase/death_alarm @@ -124,10 +114,11 @@ icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" - New() - src.imp = new /obj/item/weapon/implant/death_alarm( src ) - ..() - return +/obj/item/weapon/implantcase/death_alarm/New() + src.imp = new /obj/item/weapon/implant/death_alarm( src ) + ..() + return + /obj/item/weapon/implantcase/freedom name = "Glass Case - 'Freedom'" @@ -135,7 +126,7 @@ icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" - New() - src.imp = new /obj/item/weapon/implant/freedom( src ) - ..() - return \ No newline at end of file +/obj/item/weapon/implantcase/freedom/New() + src.imp = new /obj/item/weapon/implant/freedom( src ) + ..() + return \ No newline at end of file From b3e0cc98cd7a9498f0c3dcdf6a0079bb2e8a11f1 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sat, 6 Dec 2014 16:20:16 +1300 Subject: [PATCH 4/4] Implantcase cleanup - Removed unnecessary icon definitions - Cleaned up name formatting - Removed colons - Added variants for existing implants --- .../items/weapons/implants/implantcase.dm | 65 ++++++++++++++----- 1 file changed, 47 insertions(+), 18 deletions(-) diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 5683ccd0b2e..03776c78ded 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -3,6 +3,7 @@ /obj/item/weapon/implantcase name = "Glass Case" desc = "A case containing an implant." + icon = 'icons/obj/items.dmi' icon_state = "implantcase-0" item_state = "implantcase" throw_speed = 1 @@ -27,7 +28,7 @@ return t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) if(t) - src.name = text("Glass Case- '[]'", t) + src.name = text("Glass Case - '[]'", t) else src.name = "Glass Case" else if(istype(I, /obj/item/weapon/reagent_containers/syringe)) @@ -40,30 +41,30 @@ I.reagents.trans_to(src.imp, 5) user << "\blue You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units." else if (istype(I, /obj/item/weapon/implanter)) - if (I:imp) - if ((src.imp || I:imp.implanted)) + var/obj/item/weapon/implanter/M = I + if (M.imp) + if ((src.imp || M.imp.implanted)) return - I:imp.loc = src - src.imp = I:imp - I:imp = null + M.imp.loc = src + src.imp = M.imp + M.imp = null src.update() - I:update() + M.update() else if (src.imp) - if (I:imp) + if (M.imp) return - src.imp.loc = I - I:imp = src.imp + src.imp.loc = M + M.imp = src.imp src.imp = null update() - I:update() + M.update() return /obj/item/weapon/implantcase/tracking name = "Glass Case - 'Tracking'" desc = "A case containing a tracking implant." - icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" /obj/item/weapon/implantcase/tracking/New() @@ -75,7 +76,6 @@ /obj/item/weapon/implantcase/explosive name = "Glass Case - 'Explosive'" desc = "A case containing an explosive implant." - icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" /obj/item/weapon/implantcase/explosive/New() @@ -87,7 +87,6 @@ /obj/item/weapon/implantcase/chem name = "Glass Case - 'Chem'" desc = "A case containing a chemical implant." - icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" /obj/item/weapon/implantcase/chem/New() @@ -99,7 +98,6 @@ /obj/item/weapon/implantcase/loyalty name = "Glass Case - 'Loyalty'" desc = "A case containing a loyalty implant." - icon = 'icons/obj/items.dmi' icon_state = "implantcase-r" /obj/item/weapon/implantcase/loyalty/New() @@ -111,7 +109,6 @@ /obj/item/weapon/implantcase/death_alarm name = "Glass Case - 'Death Alarm'" desc = "A case containing a death alarm implant." - icon = 'icons/obj/items.dmi' icon_state = "implantcase-b" /obj/item/weapon/implantcase/death_alarm/New() @@ -123,10 +120,42 @@ /obj/item/weapon/implantcase/freedom name = "Glass Case - 'Freedom'" desc = "A case containing a freedom implant." - icon = 'icons/obj/items.dmi' - icon_state = "implantcase-b" + icon_state = "implantcase-r" /obj/item/weapon/implantcase/freedom/New() src.imp = new /obj/item/weapon/implant/freedom( src ) ..() + return + + +/obj/item/weapon/implantcase/adrenalin + name = "Glass Case - 'Adrenalin'" + desc = "A case containing an adrenalin implant." + icon_state = "implantcase-b" + +/obj/item/weapon/implantcase/adrenalin/New() + src.imp = new /obj/item/weapon/implant/adrenalin( src ) + ..() + return + + +/obj/item/weapon/implantcase/dexplosive + name = "Glass Case - 'Explosive'" + desc = "A case containing an explosive." + icon_state = "implantcase-r" + +/obj/item/weapon/implantcase/dexplosive/New() + src.imp = new /obj/item/weapon/implant/dexplosive( src ) + ..() + return + + +/obj/item/weapon/implantcase/health + name = "Glass Case - 'Health'" + desc = "A case containing a health tracking implant." + icon_state = "implantcase-b" + +/obj/item/weapon/implantcase/health/New() + src.imp = new /obj/item/weapon/implant/health( src ) + ..() return \ No newline at end of file