diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index c964dd1e0b4..820a3311cff 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -4,6 +4,7 @@ name = "implant" icon = 'icons/obj/device.dmi' icon_state = "implant" + origin_tech = "materials=2;biotech=3;programming=2" var/implanted = null var/mob/living/imp_in = null var/obj/item/organ/external/part = null @@ -52,6 +53,7 @@ /obj/item/weapon/implant/tracking name = "tracking" desc = "Track with this." + origin_tech = "materials=2;magnets=2;programming=2;biotech=2" var/id = 1.0 @@ -92,6 +94,7 @@ Implant Specifics:
"} /obj/item/weapon/implant/dexplosive name = "explosive" desc = "And boom goes the weasel." + origin_tech = "materials=2;combat=3;biotech=4;syndicate=4" icon_state = "implant_evil" get_data() @@ -127,6 +130,7 @@ Implant Specifics:
"} /obj/item/weapon/implant/explosive name = "explosive implant" desc = "A military grade micro bio-explosive. Highly dangerous." + origin_tech = "materials=2;combat=3;biotech=4;syndicate=4" var/elevel = "Localized Limb" var/phrase = "supercalifragilisticexpialidocious" icon_state = "implant_evil" @@ -252,6 +256,7 @@ Implant Specifics:
"} /obj/item/weapon/implant/chem name = "chem" desc = "Injects things." + origin_tech = "materials=3;biotech=4" allow_reagents = 1 get_data() @@ -316,6 +321,7 @@ 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." + origin_tech = "materials=2;biotech=4;programming=4" get_data() var/dat = {" @@ -406,6 +412,7 @@ the implant may become unstable and either pre-maturely inject the subject or si /obj/item/weapon/implant/adrenalin name = "adrenalin" desc = "Removes all stuns and knockdowns." + origin_tech = "materials=2;biotech=4;combat=3;syndicate=4" var/uses = 3 get_data() @@ -436,7 +443,7 @@ the implant may become unstable and either pre-maturely inject the subject or si source.reagents.add_reagent("synaptizine", 10) source.reagents.add_reagent("omnizine", 10) - source.reagents.add_reagent("methamphetamine", 10) + source.reagents.add_reagent("stimulative_agent", 10) return @@ -523,6 +530,7 @@ the implant may become unstable and either pre-maturely inject the subject or si name = "compressed matter implant" desc = "Based on compressed matter technology, can store a single item." icon_state = "implant_evil" + origin_tech = "materials=2;magnets=4;bluespace=4;syndicate=4" var/activation_emote = "sigh" var/obj/item/scanned = null @@ -574,7 +582,7 @@ the implant may become unstable and either pre-maturely inject the subject or si /obj/item/weapon/implant/emp name = "emp implant" desc = "Triggers an EMP." - + origin_tech = "materials=2;biotech=3;magnets=4;syndicate=4" var/activation_emote = "chuckle" var/uses = 2 diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index f4f9f3d2400..f32764ae410 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -8,7 +8,14 @@ throw_speed = 1 throw_range = 5 w_class = 1.0 + origin_tech = "materials=1;biotech=2" + materials = list(MAT_GLASS=500) var/obj/item/weapon/implant/imp = null + + New() + ..() + update() + proc update() @@ -16,8 +23,10 @@ update() if (src.imp) src.icon_state = text("implantcase-[]", src.imp._color) + src.origin_tech = src.imp.origin_tech else src.icon_state = "implantcase-0" + src.origin_tech = initial(src.origin_tech) return @@ -148,4 +157,15 @@ New() src.imp = new /obj/item/weapon/implant/freedom( src ) ..() + return + +/obj/item/weapon/implantcase/adrenaline + name = "Glass Case- 'Adrenaline'" + desc = "A glass case containing an adrenaline implant." + icon = 'icons/obj/items.dmi' + icon_state = "implantcase-b" + + New() + src.imp = new /obj/item/weapon/implant/adrenalin( src ) + ..() return \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 423ab379253..f0cad339826 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -6,16 +6,23 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 + origin_tech = "materials=1;biotech=3;programming=2" var/obj/item/weapon/implant/imp = null +/obj/item/weapon/implanter/New() + ..() + update() + /obj/item/weapon/implanter/proc/update() /obj/item/weapon/implanter/update() if (src.imp) src.icon_state = "implanter1" + src.origin_tech = src.imp.origin_tech else src.icon_state = "implanter0" + src.origin_tech = initial(src.origin_tech) return diff --git a/code/game/objects/items/weapons/implants/implantfreedom.dm b/code/game/objects/items/weapons/implants/implantfreedom.dm index 9b225ac70fc..68497e500b7 100644 --- a/code/game/objects/items/weapons/implants/implantfreedom.dm +++ b/code/game/objects/items/weapons/implants/implantfreedom.dm @@ -5,12 +5,12 @@ desc = "Use this to escape from those evil Red Shirts." _color = "r" var/activation_emote = "chuckle" - var/uses = 1.0 + origin_tech = "materials=2;magnets=3;biotech=3;syndicate=4" + var/uses = 4 New() src.activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink") - src.uses = rand(1, 5) ..() return diff --git a/code/game/objects/items/weapons/implants/implantuplink.dm b/code/game/objects/items/weapons/implants/implantuplink.dm index 05b50b49b03..6e7fac76a6c 100644 --- a/code/game/objects/items/weapons/implants/implantuplink.dm +++ b/code/game/objects/items/weapons/implants/implantuplink.dm @@ -1,6 +1,7 @@ /obj/item/weapon/implant/uplink name = "uplink" desc = "Summon things." + origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=8;bluespace=5" var/activation_emote = "chuckle" /obj/item/weapon/implant/uplink/New() diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index ea2675034e7..add5d264d4f 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -825,6 +825,35 @@ datum/reagent/stimulants/reagent_deleted(var/mob/living/M as mob) ..() return +/datum/reagent/medicine/stimulative_agent + name = "Stimulative Agent" + id = "stimulative_agent" + description = "An illegal compound that darmatically enhances the body's performance and healing capabilities." + color = "#C8A5DC" + metabolization_rate = 0.5 * REAGENTS_METABOLISM + overdose_threshold = 60 + +/datum/reagent/medicine/stimulative_agent/on_mob_life(mob/living/M) + M.status_flags |= GOTTAGOFAST + if(M.health < 50 && M.health > 0) + M.adjustOxyLoss(-1*REM) + M.adjustToxLoss(-1*REM) + M.adjustBruteLoss(-1*REM) + M.adjustFireLoss(-1*REM) + M.AdjustParalysis(-3) + M.AdjustStunned(-3) + M.AdjustWeakened(-3) + M.adjustStaminaLoss(-5*REM) + ..() + +/datum/reagent/medicine/stimulative_agent/overdose_process(mob/living/M) + if(prob(33)) + M.adjustStaminaLoss(2.5*REM) + M.adjustToxLoss(1*REM) + M.losebreath++ + ..() + return + datum/reagent/insulin name = "Insulin" id = "insulin" diff --git a/code/modules/reagents/newchem/newchem_procs.dm b/code/modules/reagents/newchem/newchem_procs.dm index 5c87c0f0044..b2d6edc0995 100644 --- a/code/modules/reagents/newchem/newchem_procs.dm +++ b/code/modules/reagents/newchem/newchem_procs.dm @@ -96,7 +96,7 @@ datum/reagents/proc/check_ignoreslow(var/mob/M) datum/reagents/proc/check_gofast(var/mob/M) if(istype(M, /mob)) - if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")) + if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("stimulative_agent")) return 1 else M.status_flags &= ~GOTTAGOFAST diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 07c245d889d..11ca778f6c0 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -190,7 +190,7 @@ /obj/item/device/destTagger name = "destination tagger" desc = "Used to set the destination of properly wrapped packages." - icon_state = "dest_tagger" + icon_state = "cargotagger" var/currTag = 0 //The whole system for the sorttype var is determined based on the order of this list, //disposals must always be 1, since anything that's untagged will automatically go to disposals, or sorttype = 1 --Superxpdude diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 247bfdf25d8..bfaf774c42f 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -546,3 +546,19 @@ materials = list(MAT_METAL = 4000) build_path = /obj/item/ammo_casing/shotgun category = list("hacked", "Security") + +/datum/design/desttagger + name = "Destination tagger" + id = "desttagger" + build_type = AUTOLATHE + materials = list(MAT_METAL = 250, MAT_GLASS = 125) + build_path = /obj/item/device/destTagger + category = list("initial", "Electronics") + +/datum/design/handlabeler + name = "Hand labeler" + id = "handlabel" + build_type = AUTOLATHE + materials = list(MAT_METAL = 150, MAT_GLASS = 125) + build_path = /obj/item/weapon/hand_labeler + category = list("initial", "Electronics") \ No newline at end of file diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index cf945134663..1cfd36c2bd6 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -204,4 +204,48 @@ build_type = PROTOLATHE materials = list (MAT_METAL = 12500, MAT_GLASS = 7500, MAT_SILVER = 1500, MAT_GOLD = 1500, MAT_DIAMOND = 750) build_path = /obj/item/weapon/scalpel/manager + category = list("Medical") + +///////////////////////////////////////// +////////////Regular Implants///////////// +///////////////////////////////////////// + +/datum/design/implanter + name = "Implanter" + desc = "A sterile automatic implant injector." + id = "implanter" + req_tech = list("materials" = 1, "programming" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list(MAT_METAL = 600, MAT_GLASS = 200) + build_path = /obj/item/weapon/implanter + category = list("Medical") + +/datum/design/implantcase + name = "Implant Case" + desc = "A glass case containing an implant." + id = "implantcase" + req_tech = list("materials" = 1, "biotech" = 2) + build_type = PROTOLATHE + materials = list(MAT_GLASS = 500) + build_path = /obj/item/weapon/implantcase + category = list("Medical") + +/datum/design/implant_freedom + name = "Freedom Implant Case" + desc = "A glass case containing an implant." + id = "implant_freedom" + req_tech = list("materials" = 2, "biotech" = 3, "magnets" = 3, "syndicate" = 5) + build_type = PROTOLATHE + materials = list(MAT_METAL = 50, MAT_GLASS = 500, MAT_GOLD = 250) + build_path = /obj/item/weapon/implantcase/freedom + category = list("Medical") + +/datum/design/implant_adrenalin + name = "Adrenalin Implant Case" + desc = "A glass case containing an implant." + id = "implant_adrenalin" + req_tech = list("materials" = 2, "biotech" = 5, "combat" = 3, "syndicate" = 6) + build_type = PROTOLATHE + materials = list(MAT_METAL = 50, MAT_GLASS = 500, MAT_GOLD = 500, MAT_URANIUM = 100, MAT_DIAMOND = 200) + build_path = /obj/item/weapon/implantcase/adrenaline category = list("Medical") \ No newline at end of file diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 64e1b4941be..471cad514e5 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ