diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 8e129879066..2d1f206b2c0 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -408,3 +408,10 @@ name = "poppy bouquet" desc = "A bouquet of poppies. You feel loved just looking at it." icon_state = "poppybouquet" + +/obj/item/gun_maintenance_supplies + name = "gun maintenance supplies" + desc = "plastic box containing gun maintenance supplies and spare parts. Use them on a Mosin Nagant to clean it." + icon = 'icons/obj/storage.dmi' + icon_state = "plasticbox" + w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index aa1ae15e2a1..9e04015935b 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -230,6 +230,19 @@ new /obj/item/ammo_box/a762(src) new /obj/item/ammo_box/a762(src) +/obj/item/storage/toolbox/maint_kit + name = "gun maintenance kit" + desc = "It contains some gun maintenance supplies" + icon_state = "maint_kit" + inhand_icon_state = "ammobox" + drop_sound = 'sound/items/handling/ammobox_drop.ogg' + pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' + +/obj/item/storage/toolbox/maint_kit/PopulateContents() + new /obj/item/gun_maintenance_supplies(src) + new /obj/item/gun_maintenance_supplies(src) + new /obj/item/gun_maintenance_supplies(src) + /obj/item/storage/toolbox/infiltrator name = "insidious case" desc = "Bearing the emblem of the Syndicate, this case contains a full infiltrator stealth suit, and has enough room to fit weaponry if necessary." diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index 46b91c32996..0882e7109db 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -86,7 +86,7 @@ /datum/outfit/russiancorpse/hunter ears = /obj/item/radio/headset - r_hand = /obj/item/gun/ballistic/rifle/boltaction + r_hand = /obj/item/gun/ballistic/rifle/boltaction/brand_new /datum/outfit/russiancorpse/hunter/pre_equip(mob/living/carbon/human/H) if(prob(50)) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 02f9ae3f754..5e269881a3b 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -589,11 +589,12 @@ /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 = CARGO_CRATE_VALUE * 8 + cost = CARGO_CRATE_VALUE * 12 contraband = TRUE contains = list(/obj/item/food/rationpack, /obj/item/ammo_box/a762, /obj/item/storage/toolbox/ammo, + /obj/item/storage/toolbox/maint_kit, /obj/item/clothing/suit/armor/vest/russian, /obj/item/clothing/head/helmet/rus_helmet, /obj/item/clothing/shoes/russian, diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index a7594508110..32ace428b09 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -326,7 +326,7 @@ ears = /obj/item/radio/headset/headset_cent glasses = /obj/item/clothing/glasses/sunglasses belt = /obj/item/melee/classic_baton - l_hand = /obj/item/gun/ballistic/rifle/boltaction + l_hand = /obj/item/gun/ballistic/rifle/boltaction/brand_new back = /obj/item/storage/backpack/satchel l_pocket = /obj/item/ammo_box/a762 r_pocket = /obj/item/ammo_box/a762 @@ -348,7 +348,7 @@ name = "CentCom Head Intern" belt = /obj/item/melee/baton/loaded suit = /obj/item/clothing/suit/armor/vest - suit_store = /obj/item/gun/ballistic/rifle/boltaction + suit_store = /obj/item/gun/ballistic/rifle/boltaction/brand_new l_hand = /obj/item/megaphone head = /obj/item/clothing/head/intern diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 2bd5017cb00..9cda4ec72dd 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -63,6 +63,7 @@ knife_x_offset = 27 knife_y_offset = 13 can_be_sawn_off = TRUE + realistic = TRUE /obj/item/gun/ballistic/rifle/boltaction/sawoff(mob/user) . = ..() @@ -87,12 +88,19 @@ fire_sound = 'sound/weapons/gun/sniper/shot.ogg' can_be_sawn_off = FALSE +/obj/item/gun/ballistic/rifle/boltaction/brand_new + name = "Mosin Nagant" + desc = "Brand new Mosin Nagant issued by Nanotrasen for their interns. You would rather not to damage it." + can_be_sawn_off = FALSE + realistic = FALSE + /obj/item/gun/ballistic/rifle/boltaction/enchanted name = "enchanted bolt action rifle" desc = "Careful not to lose your head." var/guns_left = 30 mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted can_be_sawn_off = FALSE + realistic = FALSE /obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage name = "arcane barrage" @@ -106,6 +114,7 @@ item_flags = NEEDS_PERMIT | DROPDEL | ABSTRACT | NOBLUDGEON flags_1 = NONE trigger_guard = TRIGGER_GUARD_ALLOW_ALL + realistic = FALSE mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index 367a2a1be77..095eb713225 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -18,7 +18,8 @@ /obj/projectile/bullet/a762 name = "7.62 bullet" damage = 60 - wound_bonus = -35 + armour_penetration = 10 + wound_bonus = -45 wound_falloff_tile = 0 /obj/projectile/bullet/a762_enchanted diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index a7c61fe8e07..5802bda9086 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/modular_skyrat/modules/gunsgalore/code/guns/master.dm b/modular_skyrat/modules/gunsgalore/code/guns/master.dm index 65678a975de..37be827081a 100644 --- a/modular_skyrat/modules/gunsgalore/code/guns/master.dm +++ b/modular_skyrat/modules/gunsgalore/code/guns/master.dm @@ -208,7 +208,12 @@ if(dirt_level < 0) dirt_level = 0 to_chat(user, "You clean the [src], improving it's reliability!") - + if(istype(A, /obj/item/gun_maintenance_supplies)) + to_chat(user, "You start maintaining the [src].") + if(do_after(user, 10 SECONDS, target = src)) + user.visible_message("[user] finishes maintenance of [src].") + dirt_level = 0 + qdel(A) //CRATES diff --git a/sound/weapons/jammed.ogg b/sound/weapons/jammed.ogg new file mode 100644 index 00000000000..e67dab5bb7a Binary files /dev/null and b/sound/weapons/jammed.ogg differ