diff --git a/code/game/machinery/lathes/lathe.dm b/code/game/machinery/lathes/lathe.dm index f00d15610584..11d76aa7cf46 100644 --- a/code/game/machinery/lathes/lathe.dm +++ b/code/game/machinery/lathes/lathe.dm @@ -495,6 +495,7 @@ adding = clamp(amount, 0, queue_max_entry - last.amount) last.amount += adding amount -= adding + reconsider_queue(start_immediately) ui_controller?.ui_queue_update() if(!amount) return TRUE diff --git a/code/game/mecha/equipment/tools/passenger.dm b/code/game/mecha/equipment/tools/passenger.dm index 96cb65e645ac..6f44e5a0cce6 100644 --- a/code/game/mecha/equipment/tools/passenger.dm +++ b/code/game/mecha/equipment/tools/passenger.dm @@ -75,7 +75,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger/attach() ..() if (chassis) - add_obj_verb(chassis, TYPE_PROC_REF(/obj/mecha, move_inside_passenger)) + add_obj_verb(chassis, /obj/mecha/proc/move_inside_passenger) /obj/item/mecha_parts/mecha_equipment/tool/passenger/detach() if(occupant) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 01672bce30b0..22194b464289 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -11,6 +11,8 @@ var/max_amount = 50 /// Determines whether different stack types can merge. var/stacktype + /// enforce a certain type when splitting; useful if you have an infinite stack you don't want to be split into another one + var/split_type /// Used when directly applied to a turf. var/build_type = null var/uses_charge = 0 @@ -209,6 +211,7 @@ return 0 /// Creates a new stack with the specified amount. +// todo: refactor and combine /change_stack into here /obj/item/stack/proc/split(tamount) if (!amount) return null @@ -219,7 +222,8 @@ var/orig_amount = src.amount if (transfer && src.use(transfer)) - var/obj/item/stack/newstack = new src.type(loc, transfer, FALSE) + var/make_type = isnull(split_type)? type : split_type + var/obj/item/stack/newstack = new make_type(loc, transfer, FALSE) newstack.color = color if (prob(transfer/orig_amount * 100)) transfer_fingerprints_to(newstack) @@ -332,10 +336,12 @@ to_chat(user, SPAN_NOTICE("You take [stackmaterial] sheets out of the stack")) return TRUE +// todo: refactor and combine with /split /obj/item/stack/proc/change_stack(mob/user, amount) if(!use(amount, TRUE, FALSE)) return FALSE - var/obj/item/stack/F = new type(user? user : drop_location(), amount, FALSE) + var/make_type = isnull(split_type)? type : split_type + var/obj/item/stack/F = new make_type(user? user : drop_location(), amount, FALSE) . = F F.copy_evidences(src) if(user) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 853d62a9c4cf..f2174d848d40 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -133,7 +133,6 @@ icon_state = "knuckledusters" materials = list(MAT_STEEL = 500) attack_verb = list("punched", "beaten", "struck") - clothing_flags = CLOTHING_THICK_MATERIAL siemens_coefficient = 1 fingerprint_chance = 100 overgloves = 1 diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index dc3b49e743b2..23de3f6f86cc 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,7 +2,7 @@ name = "helmet" desc = "Standard headgear. Protects well enough against a wide range of attacks." icon_state = "helmet" - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT valid_accessory_slots = ACCESSORY_SLOT_HELM_C|ACCESSORY_SLOT_HELM_R restricted_accessory_slots = ACCESSORY_SLOT_HELM_C|ACCESSORY_SLOT_HELM_R armor_type = /datum/armor/station/medium diff --git a/code/modules/clothing/head/hood.dm b/code/modules/clothing/head/hood.dm index 91ccec4f2fc4..0b1850fbc90e 100644 --- a/code/modules/clothing/head/hood.dm +++ b/code/modules/clothing/head/hood.dm @@ -130,7 +130,7 @@ name = "explorer hood" desc = "An armoured hood for exploring harsh environments." icon_state = "explorer" - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 armor_type = /datum/armor/exploration/soft @@ -140,7 +140,7 @@ desc = "An armoured hood for mining in harsh environments." icon = 'icons/clothing/suit/mining.dmi' icon_state = "minehood" - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 @@ -152,7 +152,7 @@ desc = "A baggy hood smeared with some kind of waxy substance. Up close, what appeared to be burlap is revealed to actually be tanned skin." icon = 'icons/clothing/suit/antag/heretic.dmi' icon_state = "eldritchhood" - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT siemens_coefficient = 0.9 armor_type = /datum/armor/lavaland/eldritch worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL @@ -236,7 +236,7 @@ icon = 'icons/obj/clothing/spacesuits.dmi' icon_state = "deathsquad" armor_type = /datum/armor/station/heavy - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT inv_hide_flags = BLOCKHAIR siemens_coefficient = 0.7 @@ -247,7 +247,7 @@ icon_state = "helmet" valid_accessory_slots = (ACCESSORY_SLOT_HELM_C) restricted_accessory_slots = (ACCESSORY_SLOT_HELM_C) - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT armor_type = /datum/armor/station/medium siemens_coefficient = 0.7 @@ -258,7 +258,7 @@ icon_state = "helmet" valid_accessory_slots = (ACCESSORY_SLOT_HELM_C) restricted_accessory_slots = (ACCESSORY_SLOT_HELM_C) - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT armor_type = /datum/armor/station/medium siemens_coefficient = 0.7 starting_accessories = list(/obj/item/clothing/accessory/armor/helmcover/navy) diff --git a/code/modules/clothing/head/pilot_helmet.dm b/code/modules/clothing/head/pilot_helmet.dm index b2031fb6d580..86a737d2f315 100644 --- a/code/modules/clothing/head/pilot_helmet.dm +++ b/code/modules/clothing/head/pilot_helmet.dm @@ -5,7 +5,7 @@ desc = "Standard pilot gear. Protects the head from impacts." icon_state = "pilot_helmet1" item_icons = list(SLOT_ID_HEAD = 'icons/mob/clothing/pilot_helmet.dmi') - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT armor_type = /datum/armor/exploration/space/pilot inv_hide_flags = HIDEEARS cold_protection = HEAD diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index d5a4de6ec228..077be311f09b 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -32,7 +32,7 @@ /obj/item/clothing/suit/space/vox w_class = ITEMSIZE_NORMAL atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/tank) armor_type = /datum/armor/vox/space/armored siemens_coefficient = 0.2 @@ -44,7 +44,7 @@ armor_type = /datum/armor/vox/space/armored siemens_coefficient = 0.2 atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL | ALLOWINTERNALS + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS inv_hide_flags = 0 species_restricted = list(SPECIES_VOX) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index bb7a0a035882..ea06266ea832 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -42,7 +42,7 @@ icon_state = "deathsquad" item_state_slots = list(SLOT_ID_RIGHT_HAND = "syndicate-helm-black-red", SLOT_ID_LEFT_HAND = "syndicate-helm-black-red") armor_type = /datum/armor/centcom/deathsquad - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT inv_hide_flags = BLOCKHAIR siemens_coefficient = 0.6 diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 45de5eee2684..6149df547966 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -7,7 +7,7 @@ icon_state = "space" desc = "A special helmet designed for work in a hazardous, low-pressure environment." atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | ALLOW_SURVIVALFOOD + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | ALLOW_SURVIVALFOOD permeability_coefficient = 0.01 armor_type = /datum/armor/general/space inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR @@ -23,7 +23,7 @@ valid_accessory_slots = null weight = ITEM_WEIGHT_SOFTSUIT_HELMET encumbrance = ITEM_ENCUMBRANCE_SOFTSUIT_HELMET - + var/obj/machinery/camera/camera var/list/camera_networks @@ -72,7 +72,7 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_INJECTION_PORT body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/suit_cooling_unit) armor_type = /datum/armor/general/space diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index bdbf8e89f213..ea18b4a67e19 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -1,7 +1,7 @@ /obj/item/clothing/suit/armor allowed = list(/obj/item/gun/ballistic/sec/flash, /obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/ballistic,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet) body_cover_flags = UPPER_TORSO|LOWER_TORSO - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT valid_accessory_slots = (\ ACCESSORY_SLOT_OVER\ |ACCESSORY_SLOT_MEDAL\ @@ -140,7 +140,7 @@ item_state_slots = list(SLOT_ID_RIGHT_HAND = "swat", SLOT_ID_LEFT_HAND = "swat") gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency/oxygen,/obj/item/clothing/head/helmet) encumbrance = ITEM_ENCUMBRANCE_ARMOR_HEAVY + ITEM_ENCUMBRANCE_ARMOR_HEAVY_BOOTS + ITEM_ENCUMBRANCE_ARMOR_HEAVY_GLOVES @@ -309,7 +309,7 @@ allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet) body_cover_flags = UPPER_TORSO|LOWER_TORSO - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT cold_protection = UPPER_TORSO|LOWER_TORSO min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index da3851ca62af..83551e037155 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -9,7 +9,7 @@ body_cover_flags = HEAD|FACE|EYES siemens_coefficient = 0.9 atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL | ALLOW_SURVIVALFOOD + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD encumbrance /obj/item/clothing/suit/bio_suit @@ -26,7 +26,7 @@ inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER siemens_coefficient = 0.9 atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT //Standard biosuit, orange stripe /obj/item/clothing/head/bio_hood/general @@ -104,7 +104,7 @@ body_cover_flags = HEAD|FACE|EYES siemens_coefficient = 0.9 atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL | ALLOW_SURVIVALFOOD + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD /obj/item/clothing/suit/beekeeper name = "beekeeping suit" @@ -120,4 +120,4 @@ inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER siemens_coefficient = 0.9 atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT diff --git a/code/modules/clothing/suits/hooded.dm b/code/modules/clothing/suits/hooded.dm index 0e6d2f9ebf76..6a6b7eaf3018 100644 --- a/code/modules/clothing/suits/hooded.dm +++ b/code/modules/clothing/suits/hooded.dm @@ -430,7 +430,7 @@ icon_state = "explorer" item_state = "explorer" atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -456,7 +456,7 @@ icon_state = "miner" atom_flags = PHORONGUARD worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -483,7 +483,7 @@ desc = "A billowing garment that seeps a thick, waxy substance. Upon closer inspection this outfit is crafted out of tanned skin, the ritual icons and spells drawn onto it having been tattooed before removal." icon = 'icons/clothing/suit/antag/heretic.dmi' icon_state = "eldritcharmor" - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT inv_hide_flags = HIDEHOLSTER item_state_slots = list(SLOT_ID_RIGHT_HAND = "brown_jacket", SLOT_ID_LEFT_HAND = "brown_jacket") action_button_name = "Toggle Eldritch Hood" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index d41c72f08d9b..33b79cf0dbc5 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -286,6 +286,8 @@ var/resist_time = 4 MINUTES /obj/item/clothing/suit/straight_jacket/can_unequip(mob/M, slot, mob/user, flags) + if(flags & INV_OP_FORCE) + return TRUE if(flags & INV_OP_DISALLOW_DELAY) return FALSE . = ..() diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 41a5e2265d88..a5caccc690ef 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -78,7 +78,7 @@ icon_state = "rad" desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation" inv_hide_flags = BLOCKHAIR - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT body_cover_flags = HEAD|FACE|EYES armor_type = /datum/armor/general/radsuit weight = ITEM_WEIGHT_ARMOR_BIORAD_SUIT_HELMET @@ -96,5 +96,5 @@ weight = ITEM_WEIGHT_ARMOR_BIORAD_SUIT armor_type = /datum/armor/general/radsuit inv_hide_flags = HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT encumbrance = ITEM_ENCUMBRANCE_ARMOR_BIORAD_SUIT diff --git a/code/modules/hardsuits/rig_pieces.dm b/code/modules/hardsuits/rig_pieces.dm index 14cab10a5182..580ccc913837 100644 --- a/code/modules/hardsuits/rig_pieces.dm +++ b/code/modules/hardsuits/rig_pieces.dm @@ -5,7 +5,7 @@ /obj/item/clothing/head/helmet/space/hardsuit name = "helmet" atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL | ALLOW_SURVIVALFOOD | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB | ALLOWINTERNALS + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB | ALLOWINTERNALS inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR body_cover_flags = HEAD|FACE|EYES heat_protection = HEAD|FACE|EYES @@ -48,7 +48,7 @@ /obj/item/clothing/gloves/gauntlets/hardsuit name = "gauntlets" - clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB atom_flags = PHORONGUARD body_cover_flags = HANDS heat_protection = HANDS @@ -131,7 +131,7 @@ //Flags body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS atom_flags = PHORONGUARD inv_hide_flags = HIDEJUMPSUIT|HIDETAIL @@ -229,7 +229,7 @@ /obj/item/clothing/head/lightrig name = "mask" - clothing_flags = CLOTHING_THICK_MATERIAL | ALLOWINTERNALS | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB atom_flags = PHORONGUARD body_cover_flags = HEAD|FACE|EYES heat_protection = HEAD|FACE|EYES @@ -239,7 +239,7 @@ name = "suit" allowed = list(/obj/item/flashlight) inv_hide_flags = HIDEJUMPSUIT - clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB atom_flags = PHORONGUARD body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -256,7 +256,7 @@ /obj/item/clothing/gloves/gauntlets/lightrig name = "gloves" - clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB atom_flags = PHORONGUARD species_restricted = null body_cover_flags = HANDS diff --git a/code/modules/hardsuits/suits/light.dm b/code/modules/hardsuits/suits/light.dm index 59c745e9e3f4..d6ec9bdae75e 100644 --- a/code/modules/hardsuits/suits/light.dm +++ b/code/modules/hardsuits/suits/light.dm @@ -16,7 +16,7 @@ emp_protection = 10 encumbrance = ITEM_ENCUMBRANCE_LEGACY_RIG_LIGHT offline_encumbrance = ITEM_ENCUMBRANCE_LEGACY_RIG_LIGHT * 2 - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT offline_vision_restriction = 0 chest_type = /obj/item/clothing/suit/space/hardsuit/light diff --git a/code/modules/hardsuits/suits/species/vox.dm b/code/modules/hardsuits/suits/species/vox.dm index ce02abf6e3e8..8cbf80bf023f 100644 --- a/code/modules/hardsuits/suits/species/vox.dm +++ b/code/modules/hardsuits/suits/species/vox.dm @@ -5,7 +5,7 @@ icon_state = "vox_rig" armor_type = /datum/armor/hardsuit/vox atom_flags = PHORONGUARD - clothing_flags = CLOTHING_THICK_MATERIAL + clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT siemens_coefficient = 0.2 allowed = list( /obj/item/gun, diff --git a/code/modules/jobs/job_types/station/science/roboticist.dm b/code/modules/jobs/job_types/station/science/roboticist.dm index fb5f3427d8e2..cc625a69f125 100644 --- a/code/modules/jobs/job_types/station/science/roboticist.dm +++ b/code/modules/jobs/job_types/station/science/roboticist.dm @@ -25,8 +25,8 @@ desc = "A Roboticist maintains and repairs the station's synthetics, including crew with prosthetic limbs. \ They can also assist the station by producing simple robots and even pilotable exosuits." alt_titles = list( - "Biomechanical Technician" = /datum/prototype/struct/alt_title/biomech, - "Mechatronic Technician" = /datum/prototype/struct/alt_title/mech_tech, + "Biomechanical Engineer" = /datum/prototype/struct/alt_title/biomech, + "Mechatronic Engineer" = /datum/prototype/struct/alt_title/mech_tech, "Artificer-Biotechnicist" = /datum/prototype/struct/alt_title/artificer_biotechnicist ) diff --git a/code/modules/nifsoft/software/06_screens.dm b/code/modules/nifsoft/software/06_screens.dm index 128442734af5..a499bbe45383 100644 --- a/code/modules/nifsoft/software/06_screens.dm +++ b/code/modules/nifsoft/software/06_screens.dm @@ -34,15 +34,15 @@ access = ACCESS_ENGINEERING_MAIN cost = 250 p_drain = 0.025 - var/datum/nano_module/alarm_monitor/engineering/arscreen + var/datum/tgui_module_old/alarm_monitor/engineering/nif/arscreen /datum/nifsoft/alarmmonitor/New() ..() arscreen = new(nif) /datum/nifsoft/alarmmonitor/Destroy() - QDEL_NULL(arscreen) - return ..() + QDEL_NULL(arscreen) + return ..() /datum/nifsoft/alarmmonitor/activate() if((. = ..())) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index dd90bcfc577a..91a57aac65da 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -975,6 +975,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") stacktype = null + split_type = /obj/item/stack/cable_coil tool_speed = 0.25 /obj/item/stack/cable_coil/alien/Initialize(mapload, new_amount, merge, param_color) @@ -994,34 +995,10 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list( return 1 /obj/item/stack/cable_coil/alien/use() //It's endless - return 1 + return TRUE /obj/item/stack/cable_coil/alien/add() //Still endless return 0 /obj/item/stack/cable_coil/alien/update_wclass() return 0 - -/obj/item/stack/cable_coil/alien/split(tamount) - return null // no split - -/obj/item/stack/cable_coil/alien/attack_hand(mob/user, list/params) - if (user.get_inactive_held_item() == src) - var/N = input("How many units of wire do you want to take from [src]? You can only take up to [amount] at a time.", "Split stacks", 1) as num|null - if(N && N <= amount) - var/obj/item/stack/cable_coil/CC = new/obj/item/stack/cable_coil(user.loc) - CC.amount = N - CC.update_icon() - to_chat(user,"You take [N] units of wire from the [src].") - if (CC) - user.put_in_hands(CC) - src.add_fingerprint(user) - CC.add_fingerprint(user) - spawn(0) - if (src && usr.machine==src) - src.interact(usr) - else - return - else - ..() - return diff --git a/code/modules/reagents/items/hypospray.dm b/code/modules/reagents/items/hypospray.dm index 18a049d03b90..5ebc8c62ed36 100644 --- a/code/modules/reagents/items/hypospray.dm +++ b/code/modules/reagents/items/hypospray.dm @@ -158,27 +158,27 @@ block_flags |= (I.clothing_flags & (CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT)) // got all coverage, proceed. var/delay = injection_time - if(block_flags & CLOTHING_THICK_MATERIAL) + if(block_flags & CLOTHING_INJECTION_PORT) if(isnull(thick_add_time)) - user.action_feedback(SPAN_WARNING("[src] can't [inject_verb] through something that thick!"), src) + user.action_feedback(SPAN_WARNING("[src] is not compatible with injection ports!"), src) return FALSE - delay += thick_add_time + delay += port_add_time // todo: 'friendly name' so limbs can stay concealed of their true names while under clothing? - inject_message = SPAN_WARNING("[user] starts to dig [src] up against [target]'s [limb]!") - else if(block_flags & CLOTHING_INJECTION_PORT) + inject_message = SPAN_NOTICE("[user] starts to search for an injection port on [target]'s [limb.name].") + else if(block_flags & CLOTHING_THICK_MATERIAL) if(isnull(thick_add_time)) - user.action_feedback(SPAN_WARNING("[src] is not compatible with injection ports!"), src) + user.action_feedback(SPAN_WARNING("[src] can't [inject_verb] through something that thick!"), src) return FALSE - delay += port_add_time + delay += thick_add_time // todo: 'friendly name' so limbs can stay concealed of their true names while under clothing? - inject_message = SPAN_NOTICE("[user] starts to search for an injection port on [target]'s [limb].") + inject_message = SPAN_WARNING("[user] starts to dig [src] up against [target]'s [limb]!") if(target.a_intent != INTENT_HELP) if(isnull(resist_add_time)) user.action_feedback(SPAN_WARNING("[src] is not capable of aligning while [target] is resisting! (Non-help intent)"), src) return FALSE delay += resist_add_time // todo: 'friendly name' so limbs can stay concealed of their true names while under clothing? - inject_message = SPAN_WARNING("[user] starts to intrusively align [src] up against [target]'s [limb]!") + inject_message = SPAN_WARNING("[user] starts to intrusively align [src] up against [target]'s [limb.name]!") if(!silent) user.visible_action_feedback( target = target, diff --git a/tgui/packages/tgui/interfaces/common/Materials.tsx b/tgui/packages/tgui/interfaces/common/Materials.tsx index 52c58ed37956..4e0243a237d0 100644 --- a/tgui/packages/tgui/interfaces/common/Materials.tsx +++ b/tgui/packages/tgui/interfaces/common/Materials.tsx @@ -100,13 +100,14 @@ export const MaterialRender = (props: MaterialRenderProps, context) => { - - + + + {renderMaterialAmount(amt)}