diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index 1d59e8f0555..bc71885c2f7 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -71,3 +71,12 @@ /datum/component/storage/concrete/pockets/pocketprotector/real_location() // if the component is reparented to a jumpsuit, the items still go in the protector return original_parent + +/datum/component/storage/concrete/pockets/small/helmet + max_items = 1 + quickdraw = TRUE + +/datum/component/storage/concrete/pockets/small/helmet/Initialize() + . = ..() + can_hold = typecacheof(list(/obj/item/reagent_containers/glass/bottle, + /obj/item/ammo_box/a762)) \ No newline at end of file diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 0d4f4f6b004..570b11e56f4 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -264,7 +264,6 @@ for(var/path in vending_names_paths) display_vending_names_paths[vending_names_paths[path]] = path var/choice = input(user,"Choose a new brand","Select an Item") as null|anything in display_vending_names_paths - to_chat(user, "You set the board to \"[display_vending_names_paths[choice]]\".") set_type(display_vending_names_paths[choice]) else return ..() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index ae715b690e0..ccf3f40af4c 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -230,16 +230,31 @@ STR.max_items = 10 /obj/item/storage/toolbox/artistic/PopulateContents() - new/obj/item/storage/crayons(src) - new/obj/item/crowbar(src) - new/obj/item/stack/cable_coil/red(src) - new/obj/item/stack/cable_coil/yellow(src) - new/obj/item/stack/cable_coil/blue(src) - new/obj/item/stack/cable_coil/green(src) - new/obj/item/stack/cable_coil/pink(src) - new/obj/item/stack/cable_coil/orange(src) - new/obj/item/stack/cable_coil/cyan(src) - new/obj/item/stack/cable_coil/white(src) + new /obj/item/storage/crayons(src) + new /obj/item/crowbar(src) + new /obj/item/stack/cable_coil/red(src) + new /obj/item/stack/cable_coil/yellow(src) + new /obj/item/stack/cable_coil/blue(src) + new /obj/item/stack/cable_coil/green(src) + new /obj/item/stack/cable_coil/pink(src) + new /obj/item/stack/cable_coil/orange(src) + new /obj/item/stack/cable_coil/cyan(src) + new /obj/item/stack/cable_coil/white(src) + +/obj/item/storage/toolbox/ammo + name = "ammo box" + desc = "It contains a few clips." + icon_state = "ammobox" + item_state = "ammobox" + +/obj/item/storage/toolbox/ammo/PopulateContents() + new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/a762(src) //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 736ef7a9e6f..51ee06cd93b 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -240,6 +240,33 @@ crate_name = "weed control crate" crate_type = /obj/structure/closet/crate/secure/hydroponics +/datum/supply_pack/emergency/bio + name = "Biological Emergency Crate" + desc = "This crate holds 2 full bio suits which will protect you from viruses." + cost = 2000 + contains = list(/obj/item/clothing/head/bio_hood, + /obj/item/clothing/head/bio_hood, + /obj/item/clothing/suit/bio_suit, + /obj/item/clothing/suit/bio_suit, + /obj/item/storage/bag/bio, + /obj/item/reagent_containers/syringe/antiviral, + /obj/item/reagent_containers/syringe/antiviral, + /obj/item/clothing/gloves/color/latex/nitrile, + /obj/item/clothing/gloves/color/latex/nitrile) + crate_name = "bio suit crate" + +/datum/supply_pack/emergency/bomb + name = "Explosive Emergency Crate" + desc = "Science gone bonkers? Beeping behind the airlock? Buy now and be the hero the station des... I mean needs! (time not included)" + cost = 1500 + contains = list(/obj/item/clothing/head/bomb_hood, + /obj/item/clothing/suit/bomb_suit, + /obj/item/clothing/mask/gas, + /obj/item/screwdriver, + /obj/item/wirecutters, + /obj/item/multitool) + crate_name = "bomb suit crate" + ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Security //////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -272,11 +299,11 @@ desc = "Stay hot on the criminal's heels with Nanotrasen's Detective Essentials(tm). Contains a forensics scanner, six evidence bags, camera, tape recorder, white crayon, and of course, a fedora. Requires Security access to open." cost = 2000 contains = list(/obj/item/detective_scanner, - /obj/item/storage/box/evidence, - /obj/item/camera, - /obj/item/taperecorder, - /obj/item/toy/crayon/white, - /obj/item/clothing/head/fedora/det_hat) + /obj/item/storage/box/evidence, + /obj/item/camera, + /obj/item/taperecorder, + /obj/item/toy/crayon/white, + /obj/item/clothing/head/fedora/det_hat) crate_name = "forensics crate" /datum/supply_pack/security/helmets @@ -371,6 +398,30 @@ /obj/item/storage/box/wall_flash) crate_name = "wall-mounted flash crate" +/datum/supply_pack/security/ammo + name = "Ammo Crate" + desc = "Contains two 20-round magazines for the WT-550 Auto Rifle, three boxes of buckshot ammo, three boxes of rubber ammo and special .38 speedloarders. Requires Security access to open." + cost = 2500 + contains = list(/obj/item/ammo_box/magazine/wt550m9, + /obj/item/ammo_box/magazine/wt550m9, + /obj/item/storage/box/lethalshot, + /obj/item/storage/box/lethalshot, + /obj/item/storage/box/lethalshot, + /obj/item/storage/box/rubbershot, + /obj/item/storage/box/rubbershot, + /obj/item/storage/box/rubbershot, + /obj/item/ammo_box/c38/trac, + /obj/item/ammo_box/c38/hotshot, + /obj/item/ammo_box/c38/iceblox) + crate_name = "ammo crate" + +/datum/supply_pack/security/vending/security + name = "SecTech Supply Crate" + desc = "Officer Paul bought all the donuts? Then refill the security vendor with ths crate." + cost = 1500 + contains = list(/obj/machinery/vending/security) + crate_name = "SecTech supply crate" + ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Armory ////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -451,9 +502,12 @@ /datum/supply_pack/security/armory/trackingimp name = "Tracking Implants Crate" - desc = "Contains four tracking implants. Requires Armory access to open." + desc = "Contains four tracking implants and three tracking speedloaders of tracing .38 ammo. Requires Armory access to open." cost = 2000 - contains = list(/obj/item/storage/box/trackimp) + contains = list(/obj/item/storage/box/trackimp, + /obj/item/ammo_box/c38/trac, + /obj/item/ammo_box/c38/trac, + /obj/item/ammo_box/c38/trac) crate_name = "tracking implant crate" /datum/supply_pack/security/armory/fire @@ -524,7 +578,6 @@ /obj/item/clothing/gloves/combat) crate_name = "swat crate" - /datum/supply_pack/security/armory/wt550 name = "WT-550 Auto Rifle Crate" desc = "Contains two high-powered, semiautomatic rifles chambered in 4.6x30mm. Requires Armory access to open." @@ -543,6 +596,31 @@ /obj/item/ammo_box/magazine/wt550m9) crate_name = "auto rifle ammo crate" +/datum/supply_pack/security/armory/russian + name = "Russian Surplus Crate" + desc = "Hello Comrade, we have the most modern russian military equipment the black market can offer, for the right price of course. Sadly we couldnt remove the lock so it requires Armory access to open." + cost = 5000 + contraband = TRUE + contains = list(/obj/item/reagent_containers/food/snacks/rationpack, + /obj/item/ammo_box/a762, + /obj/item/storage/toolbox/ammo, + /obj/item/clothing/suit/armor/vest/russian, + /obj/item/clothing/head/helmet/rus_helmet, + /obj/item/clothing/shoes/russian, + /obj/item/clothing/gloves/combat, + /obj/item/clothing/under/syndicate/rus_army, + /obj/item/clothing/under/soviet, + /obj/item/clothing/mask/russian_balaclava, + /obj/item/clothing/head/helmet/rus_ushanka, + /obj/item/clothing/suit/armor/vest/russian_coat, + /obj/item/gun/ballistic/rifle/boltaction, + /obj/item/gun/ballistic/rifle/boltaction) + crate_name = "surplus military crate" + +/datum/supply_pack/security/armory/russian/fill(obj/structure/closet/crate/C) + for(var/i in 1 to 10) + var/item = pick(contains) + new item(C) ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Engineering ///////////////////////////////////// @@ -1184,6 +1262,27 @@ crate_type = /obj/structure/closet/crate/secure/plasma dangerous = TRUE +/datum/supply_pack/medical/chemical + name = "Chemical Starter Kit Crate" + desc = "Contains twelve different chemicals, for all the fun experiments you can make." + cost = 1700 + contains = list(/obj/item/reagent_containers/glass/bottle/hydrogen, + /obj/item/reagent_containers/glass/bottle/carbon, + /obj/item/reagent_containers/glass/bottle/nitrogen, + /obj/item/reagent_containers/glass/bottle/oxygen, + /obj/item/reagent_containers/glass/bottle/fluorine, + /obj/item/reagent_containers/glass/bottle/phosphorus, + /obj/item/reagent_containers/glass/bottle/silicon, + /obj/item/reagent_containers/glass/bottle/chlorine, + /obj/item/reagent_containers/glass/bottle/radium, + /obj/item/reagent_containers/glass/bottle/sacid, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/potassium, + /obj/item/clothing/glasses/science, + /obj/item/reagent_containers/dropper, + /obj/item/storage/box/beakers) + crate_name = "chemical crate" + ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Science ///////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -1192,10 +1291,17 @@ group = "Science" crate_type = /obj/structure/closet/crate/science +/datum/supply_pack/science/rped + name = "RPED crate" + desc = "Need to rebuild the ORM but science got annihialted after a bomb test? Buy this for the most advanced parts NT can give you." + cost = 1500 + contains = list(/obj/item/storage/part_replacer/cargo) + crate_name = "\improper RPED crate" + /datum/supply_pack/science/robotics/mecha_odysseus name = "Circuit Crate (Odysseus)" desc = "Ever wanted to build your own giant medical robot? Well, now you can! Contains the Odysseus main control board and Odysseus peripherals board. Requires Robotics access to open." - cost = 2500 + cost = 1500 access = ACCESS_ROBOTICS contains = list(/obj/item/circuitboard/mecha/odysseus/peripherals, /obj/item/circuitboard/mecha/odysseus/main) @@ -1205,7 +1311,7 @@ /datum/supply_pack/science/robotics/mecha_ripley name = "Circuit Crate (Ripley APLU)" desc = "Rip apart rocks and xenomorphs alike with the Ripley APLU. Contains the Main Ripley control board, as well as the Ripley Peripherals board. Requires Robotics access to open." - cost = 3000 + cost = 1200 access = ACCESS_ROBOTICS contains = list(/obj/item/book/manual/ripley_build_and_repair, /obj/item/circuitboard/mecha/ripley/main, @@ -1270,7 +1376,7 @@ /datum/supply_pack/science/tablets name = "Tablet Crate" desc = "What's a computer? Contains five cargo tablets." - cost = 5000 + cost = 1500 contains = list(/obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, @@ -1533,6 +1639,53 @@ /obj/item/reagent_containers/food/snacks/grown/banana) crate_name = "food crate" +/datum/supply_pack/organic/randomized/chef + name = "Excellent Meat Crate" + desc = "The best cuts in the whole galaxy." + cost = 2000 + contains = list(/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime, + /obj/item/reagent_containers/food/snacks/meat/slab/killertomato, + /obj/item/reagent_containers/food/snacks/meat/slab/bear, + /obj/item/reagent_containers/food/snacks/meat/slab/xeno, + /obj/item/reagent_containers/food/snacks/meat/slab/spider, + /obj/item/reagent_containers/food/snacks/meat/rawbacon, + /obj/item/reagent_containers/food/snacks/meat/slab/penguin, + /obj/item/reagent_containers/food/snacks/spiderleg, + /obj/item/reagent_containers/food/snacks/carpmeat, + /obj/item/reagent_containers/food/snacks/meat/slab/human) + crate_name = "food crate" + +/datum/supply_pack/organic/randomized/chef/fill(obj/structure/closet/crate/C) + for(var/i in 1 to 15) + var/item = pick(contains) + new item(C) + +/datum/supply_pack/organic/randomized/chef/fruits + name = "Fruit Crate" + desc = "Rich of vitamins, may contain oranges." + cost = 1500 + contains = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lime, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange, + /obj/item/reagent_containers/food/snacks/grown/watermelon, + /obj/item/reagent_containers/food/snacks/grown/apple, + /obj/item/reagent_containers/food/snacks/grown/berries, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon) + crate_name = "food crate" + +/datum/supply_pack/organic/randomized/chef/vegetables + name = "Vegetables Crate" + desc = "Grown in vats." + cost = 1300 + contains = list(/obj/item/reagent_containers/food/snacks/grown/chili, + /obj/item/reagent_containers/food/snacks/grown/corn, + /obj/item/reagent_containers/food/snacks/grown/tomato, + /obj/item/reagent_containers/food/snacks/grown/potato, + /obj/item/reagent_containers/food/snacks/grown/carrot, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle, + /obj/item/reagent_containers/food/snacks/grown/onion, + /obj/item/reagent_containers/food/snacks/grown/pumpkin) + crate_name = "food crate" + /datum/supply_pack/organic/cream_piee name = "High-yield Clown-grade Cream Pie Crate" desc = "Designed by Aussec's Advanced Warfare Research Division, these high-yield, Clown-grade cream pies are powered by a synergy of performance and efficiency. Guaranteed to provide maximum results." @@ -1555,7 +1708,8 @@ /obj/item/cultivator, /obj/item/plant_analyzer, /obj/item/clothing/gloves/botanic_leather, - /obj/item/clothing/suit/apron) + /obj/item/clothing/suit/apron, + /obj/item/storage/box/disks_plantgene) crate_name = "hydroponics crate" crate_type = /obj/structure/closet/crate/hydroponics @@ -1690,7 +1844,7 @@ cost = 5000 //Cats are worth as much as corgis. contains = list(/mob/living/simple_animal/pet/cat, /obj/item/clothing/neck/petcollar, - /obj/item/toy/cattoy) + /obj/item/toy/cattoy) crate_name = "cat crate" /datum/supply_pack/critter/cat/generate() @@ -1720,6 +1874,20 @@ for(var/i in 1 to 49) new /mob/living/simple_animal/crab(.) +/datum/supply_pack/critter/parrot + name = "Bird Crate" + desc = "Contains five expert telecommunication birds." + cost = 4000 + contains = list(/mob/living/simple_animal/parrot) + crate_name = "parrot crate" + +/datum/supply_pack/critter/parrot/generate() + . = ..() + for(var/i in 1 to 4) + new /mob/living/simple_animal/parrot(.) + if(prob(1)) + new /mob/living/simple_animal/parrot/clock_hawk(.) + /datum/supply_pack/critter/corgi name = "Corgi Crate" desc = "Considered the optimal dog breed by thousands of research scientists, this Corgi is but one dog from the millions of Ian's noble bloodline. Comes with a cute collar!" @@ -2202,8 +2370,7 @@ cost = 600 contains = list(/obj/item/clothing/under/burial, /obj/item/reagent_containers/food/snacks/grown/harebell, - /obj/item/reagent_containers/food/snacks/grown/poppy/geranium - ) + /obj/item/reagent_containers/food/snacks/grown/poppy/geranium) crate_name = "coffin" crate_type = /obj/structure/closet/crate/coffin @@ -2216,8 +2383,7 @@ /obj/item/storage/book/bible/booze, /obj/item/storage/book/bible/booze, /obj/item/clothing/suit/hooded/chaplain_hoodie, - /obj/item/clothing/suit/hooded/chaplain_hoodie - ) + /obj/item/clothing/suit/hooded/chaplain_hoodie) crate_name = "religious supplies crate" /datum/supply_pack/misc/toner diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 6d212d7e16a..3cee8e2c63a 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -290,6 +290,25 @@ armor = list("melee" = 25, "bullet" = 10, "laser" = 20,"energy" = 10, "bomb" = 30, "bio" = 15, "rad" = 20, "fire" = 100, "acid" = 50) strip_delay = 60 +/obj/item/clothing/head/helmet/rus_helmet + name = "russian helmet" + desc = "It can hold a bottle of vodka." + icon_state = "rus_helmet" + item_state = "rus_helmet" + armor = list("melee" = 30, "bullet" = 60, "laser" = 20,"energy" = 15, "bomb" = 50, "bio" = 20, "rad" = 30, "fire" = 20, "acid" = 50) + pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/helmet + +/obj/item/clothing/head/helmet/rus_ushanka + name = "battle ushanka" + desc = "100% bear." + icon_state = "rus_ushanka" + item_state = "rus_ushanka" + clothing_flags = THICKMATERIAL + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + armor = list("melee" = 20, "bullet" = 20, "laser" = 40,"energy" = 20, "bomb" = 20, "bio" = 80, "rad" = 70, "fire" = 20, "acid" = 80) + //LightToggle /obj/item/clothing/head/helmet/update_icon() diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 17715e6309c..2e853883524 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -53,3 +53,13 @@ desc = "Worn by robust fighters who are willing to do anything to win." icon_state = "luchar" item_state = "luchar" + +/obj/item/clothing/mask/russian_balaclava + name = "russian balaclava" + desc = "Protects your face from snow." + icon_state = "rus_balaclava" + item_state = "rus_balaclava" + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + visor_flags_inv = HIDEFACE|HIDEFACIALHAIR + w_class = WEIGHT_CLASS_SMALL + diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index be74e376e56..4d3edacc4cf 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -328,4 +328,11 @@ else set_light(0) lightCycle = 0 - active = FALSE \ No newline at end of file + active = FALSE + +/obj/item/clothing/shoes/russian + name = "russian boots" + desc = "Comfy shoes." + icon_state = "rus_shoes" + item_state = "rus_shoes" + pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 3c724e93207..31f1eb63dd6 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -42,7 +42,7 @@ icon_state = "blueshift" item_state = "blueshift" custom_premium_price = 600 - + /obj/item/clothing/suit/armor/hos name = "armored greatcoat" desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence." @@ -248,3 +248,21 @@ max_integrity = 200 resistance_flags = FLAMMABLE armor = list("melee" = 20, "bullet" = 10, "laser" = 30, "energy" = 5, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 50) + +/obj/item/clothing/suit/armor/vest/russian + name = "russian vest" + desc = "A bulletproof vest with forest camo. Good thing there's plenty of forests to hide in around here, right?" + icon_state = "rus_armor" + item_state = "rus_armor" + armor = list("melee" = 30, "bullet" = 60, "laser" = 20, "energy" = 15, "bomb" = 50, "bio" = 20, "rad" = 30, "fire" = 20, "acid" = 50) + +/obj/item/clothing/suit/armor/vest/russian_coat + name = "russian battle coat" + desc = "Used in extremly cold fronts, made out of real bears." + icon_state = "rus_coat" + item_state = "rus_coat" + clothing_flags = THICKMATERIAL + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + armor = list("melee" = 20, "bullet" = 20, "laser" = 40, "energy" = 30, "bomb" = 20, "bio" = 80, "rad" = 70, "fire" = 20, "acid" = 80) diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 83cab9d9928..0d64e21bf95 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -47,3 +47,12 @@ icon_state = "syndicate_combat" item_color = "syndicate_combat" can_adjust = FALSE + +/obj/item/clothing/under/syndicate/rus_army + name = "advanced military tracksuit" + desc = "Military grade tracksuits for frontline squatting." + icon_state = "rus_under" + item_color = "rus_under" + can_adjust = FALSE + armor = list("melee" = 5, "bullet" = 10, "laser" = 0,"energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 20, "fire" = 0, "acid" = 0) + resistance_flags = NONE \ No newline at end of file diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index c34b97c15a5..6cb59637994 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -90,6 +90,16 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi new /obj/item/stock_parts/micro_laser/quadultra(src) new /obj/item/stock_parts/matter_bin/bluespace(src) +/obj/item/storage/part_replacer/cargo //used in a cargo crate + +/obj/item/storage/part_replacer/cargo/PopulateContents() + for(var/i in 1 to 10) + new /obj/item/stock_parts/capacitor(src) + new /obj/item/stock_parts/scanning_module(src) + new /obj/item/stock_parts/manipulator(src) + new /obj/item/stock_parts/micro_laser(src) + new /obj/item/stock_parts/matter_bin(src) + /obj/item/storage/part_replacer/cyborg name = "rapid part exchange device" desc = "Special mechanical module made to store, sort, and apply standard machine parts." diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 523b7b78814..ed455f4e887 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -6,21 +6,20 @@ icon_deny = "sec-deny" req_access = list(ACCESS_SECURITY) products = list(/obj/item/restraints/handcuffs = 8, - /obj/item/restraints/handcuffs/cable/zipties = 10, - /obj/item/grenade/flashbang = 4, - /obj/item/assembly/flash/handheld = 5, + /obj/item/restraints/handcuffs/cable/zipties = 10, + /obj/item/grenade/flashbang = 4, + /obj/item/assembly/flash/handheld = 5, /obj/item/reagent_containers/food/snacks/donut = 12, /obj/item/storage/box/evidence = 6, - /obj/item/flashlight/seclite = 4, - /obj/item/restraints/legcuffs/bola/energy = 7) + /obj/item/flashlight/seclite = 4, + /obj/item/restraints/legcuffs/bola/energy = 7) contraband = list(/obj/item/clothing/glasses/sunglasses = 2, - /obj/item/storage/fancy/donut_box = 2) + /obj/item/storage/fancy/donut_box = 2) premium = list(/obj/item/storage/belt/security/webbing = 5, - /obj/item/coin/antagtoken = 1, - /obj/item/clothing/head/helmet/blueshirt = 1, - /obj/item/clothing/suit/armor/vest/blueshirt = 1) - armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) - resistance_flags = FIRE_PROOF + /obj/item/coin/antagtoken = 1, + /obj/item/clothing/head/helmet/blueshirt = 1, + /obj/item/clothing/suit/armor/vest/blueshirt = 1) + refill_canister = /obj/item/vending_refill/security default_price = 100 extra_price = 150 payment_department = ACCOUNT_SEC @@ -33,3 +32,6 @@ var/obj/item/flashlight/F = I F.on = TRUE F.update_brightness() + +/obj/item/vending_refill/security + icon_state = "snackorange" diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index e7598f35c90..db12bc0cd5c 100644 Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 04bc50916b2..23a2d61910e 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi index b2fa42ce5ef..39094263756 100644 Binary files a/icons/mob/inhands/equipment/toolbox_lefthand.dmi and b/icons/mob/inhands/equipment/toolbox_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/toolbox_righthand.dmi b/icons/mob/inhands/equipment/toolbox_righthand.dmi index ccb15982dd2..533f0a591cc 100644 Binary files a/icons/mob/inhands/equipment/toolbox_righthand.dmi and b/icons/mob/inhands/equipment/toolbox_righthand.dmi differ diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index 9c9afbc7dc8..98189fbfa95 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 46060259c4b..eae4bd93b10 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 701988f5959..e6f95bd643d 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 0e8a884e6ad..87e20eeb505 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index ff4d4d1c3cc..6b233c9b53c 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index db0634181b7..556d18cf28f 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 6078ddcc099..8de1ce8981b 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 5c4448ea583..e9298bd2fba 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index a8cfc8aba78..917e645beba 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ