From 5eb8b535c3a01d9aa05e61231e11b14635bdef8d Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 17 Oct 2019 13:23:33 -0700 Subject: [PATCH] Merge pull request #9505 from Thalpy/Smartdart-QoL [READY] Tweaks smartdarts with a few quality of life functions, and add a few new things. --- code/game/objects/items/storage/bags.dm | 2 +- code/game/objects/items/storage/belt.dm | 22 ++++++++++++ .../recipes/recipes_weapon_and_ammo.dm | 2 -- .../projectiles/guns/misc/syringe_gun.dm | 29 +++++++++++++++ .../chemistry/machinery/chem_master.dm | 34 +++++++++++++++++- .../reagents/reagent_containers/syringes.dm | 5 +-- icons/obj/guns/projectile.dmi | Bin 37691 -> 37975 bytes tgui/src/interfaces/chem_master.ract | 5 +++ 8 files changed, 93 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 948b9577..9bf1c0e9 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -364,7 +364,7 @@ STR.max_combined_w_class = 200 STR.max_items = 50 STR.insert_preposition = "in" - STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/chem_pack)) + STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/syringe/dart, /obj/item/reagent_containers/chem_pack)) /* * Biowaste bag (mostly for xenobiologists) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 1c3efc23..d5794174 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -710,6 +710,9 @@ obj/item/storage/belt/slut/ComponentInitialize() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 15 STR.display_numerical_stacking = FALSE + STR.allow_quick_gather = TRUE + STR.allow_quick_empty = TRUE + STR.click_gather = TRUE STR.can_hold = typecacheof(list( /obj/item/reagent_containers/syringe/dart )) @@ -718,6 +721,25 @@ obj/item/storage/belt/slut/ComponentInitialize() for(var/i in 1 to 16) new /obj/item/reagent_containers/syringe/dart/(src) +/obj/item/storage/belt/medolier/afterattack(obj/target, mob/user , proximity) + if(!(istype(target, /obj/item/reagent_containers/glass/beaker))) + return + if(!proximity) + return + if(!target.reagents) + return + + for(var/obj/item/reagent_containers/syringe/dart/D in contents) + if(round(target.reagents.total_volume, 1) <= 0) + to_chat(user, "You soak as many of the darts as you can with the contents from [target].") + return + if(D.mode == SYRINGE_INJECT) + continue + + D.afterattack(target, user, proximity) + + ..() + /obj/item/storage/belt/holster name = "shoulder holster" desc = "A holster to carry a handgun and ammo. WARNING: Badasses only." diff --git a/code/modules/crafting/recipes/recipes_weapon_and_ammo.dm b/code/modules/crafting/recipes/recipes_weapon_and_ammo.dm index 9a06981b..6eb1c31b 100644 --- a/code/modules/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/modules/crafting/recipes/recipes_weapon_and_ammo.dm @@ -190,7 +190,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/* We don't have this yet -- Archie /datum/crafting_recipe/rapiddartgun name = "Rapid Smart dartgun" result = /obj/item/gun/syringe/dart/rapiddart @@ -204,7 +203,6 @@ time = 120 //Modifying your gun category = CAT_WEAPONRY subcategory = CAT_WEAPON -*/ /datum/crafting_recipe/improvised_pneumatic_cannon name = "Pneumatic Cannon" diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 15290c3a..ace8f32c 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -138,3 +138,32 @@ if (shot == TRUE) user.adjustStaminaLoss(15) user.adjustOxyLoss(15) + +/obj/item/gun/syringe/dart/rapiddart + name = "Repeating dart gun" + icon_state = "rapiddartgun" + item_state = "rapiddartgun" + +/obj/item/gun/syringe/dart/rapiddart/CheckParts(list/parts_list) + var/obj/item/reagent_containers/glass/beaker/B = locate(/obj/item/reagent_containers/glass/beaker) in parts_list + + if(istype(B, /obj/item/reagent_containers/glass/beaker/large)) + desc = "[initial(desc)] A modification of the dart gun's pressure chamber has been perfomed using a [B], extending it's holding size to [max_syringes]." + max_syringes = 2 + return + else if(istype(B, /obj/item/reagent_containers/glass/beaker/plastic)) + desc = "[initial(desc)] A modification of the dart gun's pressure chamber has been perfomed using a [B], extending it's holding size to [max_syringes]." + max_syringes = 3 + return + else if(istype(B, /obj/item/reagent_containers/glass/beaker/meta)) + desc = "[initial(desc)] A modification of the dart gun's pressure chamber has been perfomed using a [B], extending it's holding size to [max_syringes]." + max_syringes = 4 + return + else if(istype(B, /obj/item/reagent_containers/glass/beaker/bluespace)) + desc = "[initial(desc)] A modification of the dart gun's pressure chamber has been perfomed using a [B], extending it's holding size to [max_syringes]." + max_syringes = 6 + return + else + max_syringes = 1 + desc = "[initial(desc)] It has a [B] strapped to it, but it doesn't seem to be doing anything." + ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 9c47b62b..f540ae85 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -384,6 +384,38 @@ adjust_item_drop_location(P) reagents.trans_to(P, vol_part) . = TRUE + + if("createDart") + for(var/datum/reagent/R in reagents.reagent_list) + if(!(istype(R, /datum/reagent/medicine))) + visible_message("The [src] beeps, \"SmartDarts are insoluble with non-medicinal compounds.\"") + return + + var/many = params["many"] + if(reagents.total_volume == 0) + return + var/amount = 1 + var/vol_each = min(reagents.total_volume, 20) + if(text2num(many)) + amount = CLAMP(round(input(usr, "Max 10. Buffer content will be split evenly.", "How many darts?", amount) as num|null), 0, 10) + if(!amount) + return + vol_each = min(reagents.total_volume / amount, 20) + + var/name = stripped_input(usr,"Name:","Name your SmartDart!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN) + if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr))) + return + + var/obj/item/reagent_containers/syringe/dart/D + for(var/i = 0; i < amount; i++) + D = new /obj/item/reagent_containers/syringe/dart(drop_location()) + D.name = trim("[name] SmartDart") + adjust_item_drop_location(D) + reagents.trans_to(D, vol_each) + D.mode=!mode + D.update_icon() + . = TRUE + //END CITADEL ADDITIONS if("analyzeBeak") var/datum/reagent/R = GLOB.chemical_reagents_list[params["id"]] @@ -488,4 +520,4 @@ condi = TRUE #undef PILL_STYLE_COUNT -#undef RANDOM_PILL_STYLE \ No newline at end of file +#undef RANDOM_PILL_STYLE diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 101aa1be..48a74515 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -307,7 +307,7 @@ var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) to_chat(user, "You soak the [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.") - if (reagents.total_volume >= reagents.maximum_volume) + if (round(reagents.total_volume,1) >= reagents.maximum_volume) mode=!mode update_icon() @@ -323,8 +323,9 @@ rounded_vol = "empty" if(reagents && reagents.total_volume) - if(volume/reagents.total_volume == 1) + if(volume/round(reagents.total_volume, 1) == 1) rounded_vol="full" + mode = SYRINGE_INJECT icon_state = "[rounded_vol]" item_state = "syringe_[rounded_vol]" diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 895299beb6520e1a9b636de289a62a2e258c3c2c..5c41ffe831d40b87f165f46f0bc659ff577acd0f 100644 GIT binary patch delta 17001 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 P=ubsKUB2>}S?K=-@TpYI delta 16798 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 Dispense Buffer to Hypo vials
+
+ Create SmartDart (max 20ยต) +
+ Create Multiple SmartDarts +