From 75844930b4df653c14db67e7d3b68e4076c725a8 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Thu, 13 Feb 2020 03:42:59 -0500 Subject: [PATCH 01/14] new implants! --- code/game/objects/items/kitchen.dm | 8 + code/game/objects/items/shields.dm | 17 ++ .../research/designs/medical_designs.dm | 33 ++++ code/modules/research/techweb/all_nodes.dm | 4 +- code/modules/surgery/organs/augments_arms.dm | 154 ++++++++++++------ 5 files changed, 162 insertions(+), 54 deletions(-) diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index e28909c84f..ca02002381 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -138,6 +138,14 @@ throwforce = 15 materials = list() +/obj/item/kitchen/knife/combat/bone/plastic + name = "plastic knife" + desc = "A plastic knife. Rather harmless to anything." + force = 3 + throwforce = 0 + bayonet = FALSE + sharpness = IS_BLUNT + /obj/item/kitchen/knife/combat/cyborg name = "cyborg knife" icon = 'icons/obj/items_cyborg.dmi' diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 2e8005e631..d27b861648 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -236,3 +236,20 @@ throwforce = 15 //Massive pice of metal w_class = WEIGHT_CLASS_HUGE item_flags = SLOWS_WHILE_IN_HAND + +/obj/item/shield/riot/implant + name = "riot tower shield" + desc = "A massive shield that can block a lot of attacks, can take a lot of abuse before braking." + item_state = "metal" + icon_state = "metal" + icon = 'icons/obj/items_and_weapons.dmi' + block_chance = 30 //May be big but hard to move around to block. + force = 10 + slowdown = 1 + transparent = FALSE + item_flags = SLOWS_WHILE_IN_HAND + +/obj/item/shield/riot/implant/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + if(attack_type == PROJECTILE_ATTACK) + final_block_chance = 60 //Massive shield + return ..() \ 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 bef25456ca..d8d68f4eb0 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -369,6 +369,39 @@ category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/cyberimp_shield + name = "Riot Shield Arm Implant" + desc = "An implanted riot shield, designed to be installed on subject's arm." + id = "ci-shield" + build_type = PROTOLATHE + materials = list (MAT_METAL = 8500, MAT_GLASS = 8500, MAT_SILVER = 1800, MAT_TITANIUM = 600) + construction_time = 200 + build_path = /obj/item/organ/cyberimp/arm/shield + category = list("Misc", "Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/cyberimp_janitor + name = "Janitor Arm Implant" + desc = "A set of janitor tools fitted into an arm implant, designed to be installed on subject's arm." + id = "ci-janitor" + build_type = PROTOLATHE | MECHFAB + materials = list (MAT_METAL = 3500, MAT_GLASS = 1500, MAT_SILVER = 1500) + construction_time = 200 + build_path = /obj/item/organ/cyberimp/arm/janitor + category = list("Misc", "Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/cyberimp_service + name = "Service Arm Implant" + desc = "Everything a cook or barkeep needs in an arm implant, designed to be installed on subject's arm." + id = "ci-service" + build_type = PROTOLATHE | MECHFAB + materials = list (MAT_METAL = 3500, MAT_GLASS = 1500, MAT_SILVER = 1500) + construction_time = 200 + build_path = /obj/item/organ/cyberimp/arm/service + category = list("Misc", "Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + /datum/design/cyberimp_medical_hud name = "Medical HUD Implant" desc = "These cybernetic eyes will display a medical HUD over everything you see. Wiggle eyes to control." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index e1abfedde6..28cfd5ad64 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -574,7 +574,7 @@ display_name = "Cybernetic Implants" description = "Electronic implants that improve humans." prereq_ids = list("adv_biotech", "adv_datatheory") - design_ids = list("ci-nutriment", "ci-breather", "ci-gloweyes", "ci-welding", "ci-medhud", "ci-sechud") + design_ids = list("ci-nutriment", "ci-breather", "ci-gloweyes", "ci-welding", "ci-medhud", "ci-sechud", "ci-service") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -629,7 +629,7 @@ display_name = "Advanced Sanitation Technology" description = "Clean things better, faster, stronger, and harder!" prereq_ids = list("adv_engi") - design_ids = list("advmop", "buffer", "light_replacer", "spraybottle", "beartrap") + design_ids = list("advmop", "buffer", "light_replacer", "spraybottle", "beartrap", "ci-janitor") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1750) // No longer has its bag export_price = 5000 diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 792facd360..d63a6c19ad 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -140,6 +140,85 @@ else Retract() +/obj/item/organ/cyberimp/arm/medibeam + name = "integrated medical beamgun" + desc = "A cybernetic implant that allows the user to project a healing beam from their hand." + contents = newlist(/obj/item/gun/medbeam) + +/////////////// +//Tools Arms// +/////////////// + + +/obj/item/organ/cyberimp/arm/toolset + name = "integrated toolset implant" + desc = "A stripped-down version of the engineering cyborg toolset, designed to be installed on subject's arm. Contains all necessary tools." + contents = newlist(/obj/item/screwdriver/cyborg, /obj/item/wrench/cyborg, /obj/item/weldingtool/largetank/cyborg, + /obj/item/crowbar/cyborg, /obj/item/wirecutters/cyborg, /obj/item/multitool/cyborg) + +/obj/item/organ/cyberimp/arm/toolset/emag_act() + . = ..() + if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) + return + to_chat(usr, "You unlock [src]'s integrated knife!") + items_list += new /obj/item/kitchen/knife/combat/cyborg(src) + return TRUE + +/obj/item/organ/cyberimp/arm/surgery + name = "surgical toolset implant" + desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." + contents = newlist(/obj/item/retractor/augment, /obj/item/hemostat/augment, /obj/item/cautery/augment, /obj/item/surgicaldrill/augment, /obj/item/scalpel/augment, /obj/item/circular_saw/augment, /obj/item/surgical_drapes) + +/obj/item/organ/cyberimp/arm/surgery/emag_act() + . = ..() + if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) + return + to_chat(usr, "You unlock [src]'s integrated knife!") + items_list += new /obj/item/kitchen/knife/combat/cyborg(src) + return TRUE + +/obj/item/organ/cyberimp/arm/janitor + name = "janitor toolset implant" + desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." + contents = newlist(/obj/item/lightreplacer, /obj/item/holosign_creator, /obj/item/soap/nanotrasen, /obj/item/reagent_containers/spray/cyborg_drying, /obj/item/mop/advanced, /obj/item/paint/paint_remover, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/spray/cleaner) //Beaker if for refilling sprays + +/obj/item/organ/cyberimp/arm/janitor/emag_act() + . = ..() + if(locate(/obj/item/soap/syndie) in items_list) //If we have syndie soap we have the other items + return + to_chat(usr, "You unlock [src]'s integrated deluxe cleaning supplies!") + items_list += new /obj/item/soap/syndie(src) //We add not replace. + items_list += new /obj/item/reagent_containers/spray/cyborg_lube(src) + return TRUE + +/obj/item/organ/cyberimp/arm/service + name = "service toolset implant" + desc = "A set of tools needed for any barkeep or cook on the user's arm." + contents = newlist(/obj/item/extinguisher/mini, /obj/item/kitchen/knife/combat/bone/plastic, /obj/item/hand_labeler, /obj/item/pen, /obj/item/reagent_containers/dropper, /obj/item/kitchen/rollingpin, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/syringe,/obj/item/reagent_containers/food/drinks/shaker, /obj/item/radio/off, /obj/item/camera, /obj/item/modular_computer/tablet/preset/cargo) + +/obj/item/organ/cyberimp/arm/service/emag_act() + . = ..() + if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) + return + to_chat(usr, "You unlock [src]'s integrated real knife!") + items_list += new /obj/item/kitchen/knife/combat/cyborg(src) + return TRUE + +/////////////// +//Combat Arms// +/////////////// + +/obj/item/organ/cyberimp/arm/gun/laser + name = "arm-mounted laser implant" + desc = "A variant of the arm cannon implant that fires lethal laser beams. The cannon emerges from the subject's arm and remains inside when not in use." + icon_state = "arm_laser" + contents = newlist(/obj/item/gun/energy/laser/mounted) + +/obj/item/organ/cyberimp/arm/gun/taser + name = "arm-mounted taser implant" + desc = "A variant of the arm cannon implant that fires electrodes and disabler shots. The cannon emerges from the subject's arm and remains inside when not in use." + icon_state = "arm_taser" + contents = newlist(/obj/item/gun/energy/e_gun/advtaser/mounted) /obj/item/organ/cyberimp/arm/gun/emp_act(severity) . = ..() @@ -156,54 +235,6 @@ crit_fail = 1 organ_flags |= ORGAN_FAILING - -/obj/item/organ/cyberimp/arm/gun/laser - name = "arm-mounted laser implant" - desc = "A variant of the arm cannon implant that fires lethal laser beams. The cannon emerges from the subject's arm and remains inside when not in use." - icon_state = "arm_laser" - contents = newlist(/obj/item/gun/energy/laser/mounted) - -/obj/item/organ/cyberimp/arm/gun/laser/l - zone = BODY_ZONE_L_ARM - - -/obj/item/organ/cyberimp/arm/gun/taser - name = "arm-mounted taser implant" - desc = "A variant of the arm cannon implant that fires electrodes and disabler shots. The cannon emerges from the subject's arm and remains inside when not in use." - icon_state = "arm_taser" - contents = newlist(/obj/item/gun/energy/e_gun/advtaser/mounted) - -/obj/item/organ/cyberimp/arm/gun/taser/l - zone = BODY_ZONE_L_ARM - -/obj/item/organ/cyberimp/arm/toolset - name = "integrated toolset implant" - desc = "A stripped-down version of the engineering cyborg toolset, designed to be installed on subject's arm. Contains all necessary tools." - contents = newlist(/obj/item/screwdriver/cyborg, /obj/item/wrench/cyborg, /obj/item/weldingtool/largetank/cyborg, - /obj/item/crowbar/cyborg, /obj/item/wirecutters/cyborg, /obj/item/multitool/cyborg) - -/obj/item/organ/cyberimp/arm/toolset/l - zone = BODY_ZONE_L_ARM - -/obj/item/organ/cyberimp/arm/toolset/emag_act() - . = ..() - if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) - return - to_chat(usr, "You unlock [src]'s integrated knife!") - items_list += new /obj/item/kitchen/knife/combat/cyborg(src) - return TRUE - -/obj/item/organ/cyberimp/arm/esword - name = "arm-mounted energy blade" - desc = "An illegal and highly dangerous cybernetic implant that can project a deadly blade of concentrated energy." - contents = newlist(/obj/item/melee/transforming/energy/blade/hardlight) - -/obj/item/organ/cyberimp/arm/medibeam - name = "integrated medical beamgun" - desc = "A cybernetic implant that allows the user to project a healing beam from their hand." - contents = newlist(/obj/item/gun/medbeam) - - /obj/item/organ/cyberimp/arm/flash name = "integrated high-intensity photon projector" //Why not desc = "An integrated projector mounted onto a user's arm that is able to be used as a powerful flash." @@ -231,7 +262,26 @@ var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list F.I = src -/obj/item/organ/cyberimp/arm/surgery - name = "surgical toolset implant" - desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." - contents = newlist(/obj/item/retractor/augment, /obj/item/hemostat/augment, /obj/item/cautery/augment, /obj/item/surgicaldrill/augment, /obj/item/scalpel/augment, /obj/item/circular_saw/augment, /obj/item/surgical_drapes) +/obj/item/organ/cyberimp/arm/esword + name = "arm-mounted energy blade" + desc = "An illegal and highly dangerous cybernetic implant that can project a deadly blade of concentrated energy." + contents = newlist(/obj/item/melee/transforming/energy/blade/hardlight) + +/obj/item/organ/cyberimp/arm/shield + name = "arm-mounted riot shield" + desc = "A deployable riot shield to help deal with civil unrest." + contents = newlist(/obj/item/shield/riot/implant) + +/obj/item/organ/cyberimp/arm/shield/emag_act() + . = ..() + if(locate(/obj/item/assembly/flash/armimplant) in items_list) + return + to_chat(usr, "You unlock [src]'s integrated knife!") + items_list += new /obj/item/assembly/flash/armimplant(src) + return TRUE + +/obj/item/organ/cyberimp/arm/shield/Initialize() + . = ..() + if(locate(/obj/item/assembly/flash/armimplant) in items_list) + var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list + F.I = src \ No newline at end of file From 47709a7ea8e2b398918e1890bed4a4a5040ad842 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 13 Feb 2020 03:52:41 -0500 Subject: [PATCH 02/14] forgot the shield implant --- code/modules/research/techweb/all_nodes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 28cfd5ad64..b945184802 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -592,7 +592,7 @@ display_name = "Combat Cybernetic Implants" description = "Military grade combat implants to improve performance." prereq_ids = list("adv_cyber_implants","weaponry","NVGtech","high_efficiency") - design_ids = list("ci-xray", "ci-thermals", "ci-antidrop", "ci-antistun", "ci-thrusters") + design_ids = list("ci-xray", "ci-thermals", "ci-antidrop", "ci-antistun", "ci-thrusters", "ci-shield") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 From d6acae3254b44dcb2a0c7dc843a0f79b48c270e1 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:16:55 -0500 Subject: [PATCH 03/14] ghommie changes --- code/modules/surgery/organs/augments_arms.dm | 31 ++++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index d63a6c19ad..c572ea7808 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -149,7 +149,6 @@ //Tools Arms// /////////////// - /obj/item/organ/cyberimp/arm/toolset name = "integrated toolset implant" desc = "A stripped-down version of the engineering cyborg toolset, designed to be installed on subject's arm. Contains all necessary tools." @@ -158,7 +157,7 @@ /obj/item/organ/cyberimp/arm/toolset/emag_act() . = ..() - if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) + if(obj_flags |= EMAGGED) return to_chat(usr, "You unlock [src]'s integrated knife!") items_list += new /obj/item/kitchen/knife/combat/cyborg(src) @@ -171,20 +170,20 @@ /obj/item/organ/cyberimp/arm/surgery/emag_act() . = ..() - if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) + if(obj_flags |= EMAGGED) return to_chat(usr, "You unlock [src]'s integrated knife!") items_list += new /obj/item/kitchen/knife/combat/cyborg(src) return TRUE /obj/item/organ/cyberimp/arm/janitor - name = "janitor toolset implant" + name = "janitorial tools implant" desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." contents = newlist(/obj/item/lightreplacer, /obj/item/holosign_creator, /obj/item/soap/nanotrasen, /obj/item/reagent_containers/spray/cyborg_drying, /obj/item/mop/advanced, /obj/item/paint/paint_remover, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/spray/cleaner) //Beaker if for refilling sprays /obj/item/organ/cyberimp/arm/janitor/emag_act() . = ..() - if(locate(/obj/item/soap/syndie) in items_list) //If we have syndie soap we have the other items + if(obj_flags |= EMAGGED) return to_chat(usr, "You unlock [src]'s integrated deluxe cleaning supplies!") items_list += new /obj/item/soap/syndie(src) //We add not replace. @@ -193,12 +192,12 @@ /obj/item/organ/cyberimp/arm/service name = "service toolset implant" - desc = "A set of tools needed for any barkeep or cook on the user's arm." + desc = "A set of miscellaneous gadgets hidden behind a concealed panel on the user's arm." contents = newlist(/obj/item/extinguisher/mini, /obj/item/kitchen/knife/combat/bone/plastic, /obj/item/hand_labeler, /obj/item/pen, /obj/item/reagent_containers/dropper, /obj/item/kitchen/rollingpin, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/syringe,/obj/item/reagent_containers/food/drinks/shaker, /obj/item/radio/off, /obj/item/camera, /obj/item/modular_computer/tablet/preset/cargo) /obj/item/organ/cyberimp/arm/service/emag_act() . = ..() - if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list) + if(obj_flags |= EMAGGED) return to_chat(usr, "You unlock [src]'s integrated real knife!") items_list += new /obj/item/kitchen/knife/combat/cyborg(src) @@ -243,8 +242,10 @@ /obj/item/organ/cyberimp/arm/flash/Initialize() . = ..() if(locate(/obj/item/assembly/flash/armimplant) in items_list) - var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list + var/obj/item/assembly/flash/armimplant/F = new(src) F.I = src + items_list += F + return TRUE /obj/item/organ/cyberimp/arm/baton name = "arm electrification implant" @@ -259,8 +260,10 @@ /obj/item/organ/cyberimp/arm/combat/Initialize() . = ..() if(locate(/obj/item/assembly/flash/armimplant) in items_list) - var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list + var/obj/item/assembly/flash/armimplant/F = new(src) F.I = src + items_list += F + return TRUE /obj/item/organ/cyberimp/arm/esword name = "arm-mounted energy blade" @@ -274,14 +277,16 @@ /obj/item/organ/cyberimp/arm/shield/emag_act() . = ..() - if(locate(/obj/item/assembly/flash/armimplant) in items_list) + if(obj_flags |= EMAGGED) return - to_chat(usr, "You unlock [src]'s integrated knife!") + to_chat(usr, "You unlock [src]'s high-power flash!") items_list += new /obj/item/assembly/flash/armimplant(src) return TRUE /obj/item/organ/cyberimp/arm/shield/Initialize() . = ..() if(locate(/obj/item/assembly/flash/armimplant) in items_list) - var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list - F.I = src \ No newline at end of file + var/obj/item/assembly/flash/armimplant/F = new(src) + F.I = src + items_list += F + return TRUE From 7650f9d45ee27ae31a752c5b692176e451bd8434 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:20:31 -0500 Subject: [PATCH 04/14] shield b gone --- code/modules/research/techweb/all_nodes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index b945184802..28cfd5ad64 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -592,7 +592,7 @@ display_name = "Combat Cybernetic Implants" description = "Military grade combat implants to improve performance." prereq_ids = list("adv_cyber_implants","weaponry","NVGtech","high_efficiency") - design_ids = list("ci-xray", "ci-thermals", "ci-antidrop", "ci-antistun", "ci-thrusters", "ci-shield") + design_ids = list("ci-xray", "ci-thermals", "ci-antidrop", "ci-antistun", "ci-thrusters") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 From c38049fbef526f1623560cff4e130c7a49533093 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Fri, 14 Feb 2020 09:12:48 -0500 Subject: [PATCH 05/14] Update augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 25 ++++++++++---------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index c572ea7808..842bc131f9 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -157,8 +157,9 @@ /obj/item/organ/cyberimp/arm/toolset/emag_act() . = ..() - if(obj_flags |= EMAGGED) + if(obj_flags & EMAGGED) return + obj_flags |= EMAGGED to_chat(usr, "You unlock [src]'s integrated knife!") items_list += new /obj/item/kitchen/knife/combat/cyborg(src) return TRUE @@ -170,21 +171,23 @@ /obj/item/organ/cyberimp/arm/surgery/emag_act() . = ..() - if(obj_flags |= EMAGGED) + if(obj_flags & EMAGGED) return + obj_flags |= EMAGGED to_chat(usr, "You unlock [src]'s integrated knife!") items_list += new /obj/item/kitchen/knife/combat/cyborg(src) return TRUE /obj/item/organ/cyberimp/arm/janitor name = "janitorial tools implant" - desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." + desc = "A set of janitorial tools on the user's arm." contents = newlist(/obj/item/lightreplacer, /obj/item/holosign_creator, /obj/item/soap/nanotrasen, /obj/item/reagent_containers/spray/cyborg_drying, /obj/item/mop/advanced, /obj/item/paint/paint_remover, /obj/item/reagent_containers/glass/beaker/large, /obj/item/reagent_containers/spray/cleaner) //Beaker if for refilling sprays /obj/item/organ/cyberimp/arm/janitor/emag_act() . = ..() - if(obj_flags |= EMAGGED) + if(obj_flags & EMAGGED) return + obj_flags |= EMAGGED to_chat(usr, "You unlock [src]'s integrated deluxe cleaning supplies!") items_list += new /obj/item/soap/syndie(src) //We add not replace. items_list += new /obj/item/reagent_containers/spray/cyborg_lube(src) @@ -197,8 +200,9 @@ /obj/item/organ/cyberimp/arm/service/emag_act() . = ..() - if(obj_flags |= EMAGGED) + if(obj_flags & EMAGGED) return + obj_flags |= EMAGGED to_chat(usr, "You unlock [src]'s integrated real knife!") items_list += new /obj/item/kitchen/knife/combat/cyborg(src) return TRUE @@ -242,10 +246,8 @@ /obj/item/organ/cyberimp/arm/flash/Initialize() . = ..() if(locate(/obj/item/assembly/flash/armimplant) in items_list) - var/obj/item/assembly/flash/armimplant/F = new(src) + var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list F.I = src - items_list += F - return TRUE /obj/item/organ/cyberimp/arm/baton name = "arm electrification implant" @@ -260,10 +262,8 @@ /obj/item/organ/cyberimp/arm/combat/Initialize() . = ..() if(locate(/obj/item/assembly/flash/armimplant) in items_list) - var/obj/item/assembly/flash/armimplant/F = new(src) + var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list F.I = src - items_list += F - return TRUE /obj/item/organ/cyberimp/arm/esword name = "arm-mounted energy blade" @@ -277,8 +277,9 @@ /obj/item/organ/cyberimp/arm/shield/emag_act() . = ..() - if(obj_flags |= EMAGGED) + if(obj_flags & EMAGGED) return + obj_flags |= EMAGGED to_chat(usr, "You unlock [src]'s high-power flash!") items_list += new /obj/item/assembly/flash/armimplant(src) return TRUE From 71cb8e19cb34d78b4293f2ebcef3db1227fe5b18 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Fri, 14 Feb 2020 09:15:47 -0500 Subject: [PATCH 06/14] Update augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 842bc131f9..404f97a7a8 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -283,11 +283,3 @@ to_chat(usr, "You unlock [src]'s high-power flash!") items_list += new /obj/item/assembly/flash/armimplant(src) return TRUE - -/obj/item/organ/cyberimp/arm/shield/Initialize() - . = ..() - if(locate(/obj/item/assembly/flash/armimplant) in items_list) - var/obj/item/assembly/flash/armimplant/F = new(src) - F.I = src - items_list += F - return TRUE From f6afa28ce063e6ffefe1872152e32a1dac466208 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 16 Feb 2020 02:03:48 -0500 Subject: [PATCH 07/14] Update shields.dm --- code/game/objects/items/shields.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 7eb39ec9d0..abe921a170 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -236,7 +236,7 @@ throwforce = 15 //Massive pice of metal w_class = WEIGHT_CLASS_HUGE item_flags = SLOWS_WHILE_IN_HAND - transparent = FALSE + transparent = FALSE /obj/item/shield/riot/implant name = "riot tower shield" From a4d1bb0995041c4f7e712233d7636eea5192e362 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Feb 2020 17:56:31 -0500 Subject: [PATCH 08/14] Update kitchen.dm --- code/game/objects/items/kitchen.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index ca02002381..748ad3d4de 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -141,10 +141,8 @@ /obj/item/kitchen/knife/combat/bone/plastic name = "plastic knife" desc = "A plastic knife. Rather harmless to anything." - force = 3 - throwforce = 0 + force = 1 bayonet = FALSE - sharpness = IS_BLUNT /obj/item/kitchen/knife/combat/cyborg name = "cyborg knife" From 3fd93a3bad398eac1ffe6a80c3978a9c9b5f4b4d Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Feb 2020 17:57:36 -0500 Subject: [PATCH 09/14] Update shields.dm --- code/game/objects/items/shields.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index abe921a170..413503b6f6 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -240,12 +240,11 @@ /obj/item/shield/riot/implant name = "riot tower shield" - desc = "A massive shield that can block a lot of attacks, can take a lot of abuse before braking." + desc = "A massive shield that can block a lot of attacks, can take a lot of abuse before braking." //It cant brake unless you somehow get it outside the implant item_state = "metal" icon_state = "metal" icon = 'icons/obj/items_and_weapons.dmi' block_chance = 30 //May be big but hard to move around to block. - force = 10 slowdown = 1 transparent = FALSE item_flags = SLOWS_WHILE_IN_HAND From 18bfde5a0ad4744400991bf84c557ea02e142eac Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Feb 2020 17:58:50 -0500 Subject: [PATCH 10/14] Update augments_arms.dm --- code/modules/surgery/organs/augments_arms.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 404f97a7a8..311d651006 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -281,5 +281,6 @@ return obj_flags |= EMAGGED to_chat(usr, "You unlock [src]'s high-power flash!") - items_list += new /obj/item/assembly/flash/armimplant(src) - return TRUE + var/obj/item/assembly/flash/armimplant/F = new(src) + items_list += F + F.I = src From 511692a7cb3bfe72f296b3514fbc6542d4deddc1 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Feb 2020 18:30:32 -0500 Subject: [PATCH 11/14] Update medical_designs.dm --- code/modules/research/designs/medical_designs.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index d8d68f4eb0..2f6eb535cc 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -374,7 +374,7 @@ desc = "An implanted riot shield, designed to be installed on subject's arm." id = "ci-shield" build_type = PROTOLATHE - materials = list (MAT_METAL = 8500, MAT_GLASS = 8500, MAT_SILVER = 1800, MAT_TITANIUM = 600) + materials = list (/datum/material/iron = 8500, /datum/material/glass = 8500, /datum/material/silver = 1800, /datum/material/irontitanium = 600) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/shield category = list("Misc", "Medical Designs") @@ -385,7 +385,7 @@ desc = "A set of janitor tools fitted into an arm implant, designed to be installed on subject's arm." id = "ci-janitor" build_type = PROTOLATHE | MECHFAB - materials = list (MAT_METAL = 3500, MAT_GLASS = 1500, MAT_SILVER = 1500) + materials = list (/datum/material/iron = 3500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/janitor category = list("Misc", "Medical Designs") @@ -396,7 +396,7 @@ desc = "Everything a cook or barkeep needs in an arm implant, designed to be installed on subject's arm." id = "ci-service" build_type = PROTOLATHE | MECHFAB - materials = list (MAT_METAL = 3500, MAT_GLASS = 1500, MAT_SILVER = 1500) + materials = list (/datum/material/ironL = 3500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/service category = list("Misc", "Medical Designs") From cf8b41723de323293fb6c7d562192410ba00bea3 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Feb 2020 18:35:40 -0500 Subject: [PATCH 12/14] Update medical_designs.dm --- code/modules/research/designs/medical_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index d19ec96d4b..5a5ba80bed 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -374,7 +374,7 @@ desc = "An implanted riot shield, designed to be installed on subject's arm." id = "ci-shield" build_type = PROTOLATHE - materials = list (/datum/material/iron = 8500, /datum/material/glass = 8500, /datum/material/silver = 1800, /datum/material/irontitanium = 600) + materials = list (/datum/material/iron = 8500, /datum/material/glass = 8500, /datum/material/silver = 1800, /datum/material/titanium = 600) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/shield category = list("Misc", "Medical Designs") From 2cd8adf4da22a10f2d840253422bc79206f067fd Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Feb 2020 19:06:11 -0500 Subject: [PATCH 13/14] Update medical_designs.dm --- code/modules/research/designs/medical_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 5a5ba80bed..c0d48301e1 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -396,7 +396,7 @@ desc = "Everything a cook or barkeep needs in an arm implant, designed to be installed on subject's arm." id = "ci-service" build_type = PROTOLATHE | MECHFAB - materials = list (/datum/material/ironL = 3500, /datum/material/glass = 1500, /datum/material/silver = 1500) + materials = list (/datum/material/iron = 3500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/service category = list("Misc", "Medical Designs") From 5c2bf70fe70332f39894bc7faf676a5a43a0b8dc Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 1 Mar 2020 00:48:45 -0500 Subject: [PATCH 14/14] Update code/game/objects/items/shields.dm Co-Authored-By: Arturlang --- code/game/objects/items/shields.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index ac052be5af..07f4cb4e40 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -240,7 +240,7 @@ /obj/item/shield/riot/implant name = "riot tower shield" - desc = "A massive shield that can block a lot of attacks, can take a lot of abuse before braking." //It cant brake unless you somehow get it outside the implant + desc = "A massive shield that can block a lot of attacks and can take a lot of abuse before breaking." //It cant break unless it is removed from the implant item_state = "metal" icon_state = "metal" icon = 'icons/obj/items_and_weapons.dmi'