diff --git a/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm b/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm index feb5be06bcf..fd90be189d0 100644 --- a/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm +++ b/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm @@ -15,6 +15,8 @@ #define COMPANY_IZHEVSK "It has [span_brown("Izhevsk Coalition")] cut into it." #define COMPANY_TKACH "It has [span_robot("Tkach Design Bureau")] stamped onto it." +#define COMPANY_SAKHNO "It has [span_green("Sakhno Concern")] stamped onto it." +#define COMPANY_XHIHAO "It has [span_purple("Xhihao Light Arms")] etched into it." #define COMPANY_ABDUCTOR "It has [span_abductor("✌︎︎♌︎︎♎︎︎◆︎︎♍︎︎⧫︎︎❄︎♏︎♍︎♒︎")] engraved into it." diff --git a/code/modules/cargo/packs/imports.dm b/code/modules/cargo/packs/imports.dm index 31e7c2b7f9e..ad444efc740 100644 --- a/code/modules/cargo/packs/imports.dm +++ b/code/modules/cargo/packs/imports.dm @@ -201,6 +201,8 @@ /obj/item/grenade/mirage = 5, ) +// SKYRAT EDIT REMOVAL BEGIN - REPLACED BY LORE BEFITTING CRATE AT: modular_skyrat/modules/cargo/code/packs.dm +/* /datum/supply_pack/imports/russian name = "Russian Surplus Military Gear Crate" desc = "Hello <;~insert appropriate greeting here: 'Comrade'|'Imperalist Scum'|'Quartermaster of Reputable Station'~;>, \ @@ -231,6 +233,8 @@ for(var/items in 1 to 10) var/item = pick(contains) new item(our_crate) +*/ +// SKYRAT EDIT REMOVAL END /datum/supply_pack/imports/moistnuggets name = "Refurbished Sakhno Precision Rifle Crate" diff --git a/modular_skyrat/master_files/code/modules/cargo/markets/market_items/weapons.dm b/modular_skyrat/master_files/code/modules/cargo/markets/market_items/weapons.dm index 9dc58d6fa67..40ad5def7a4 100644 --- a/modular_skyrat/master_files/code/modules/cargo/markets/market_items/weapons.dm +++ b/modular_skyrat/master_files/code/modules/cargo/markets/market_items/weapons.dm @@ -1,5 +1,5 @@ /datum/market_item/weapon/mosin_pro - name = "FTU 'Archangel' Precision Rifle Stock" + name = "Xhihao 'Rengo' Precision Rifle Stock" desc = "Sure, it doesn't come with any of the actual bits that go bang, but who's gonna be laughing when you spook 'em with three more rounds?" item = /obj/item/crafting_conversion_kit/mosin_pro price_min = CARGO_CRATE_VALUE * 2 diff --git a/modular_skyrat/modules/aesthetics/guns/code/guns.dm b/modular_skyrat/modules/aesthetics/guns/code/guns.dm index 5d8020458c4..0aabc0baa39 100644 --- a/modular_skyrat/modules/aesthetics/guns/code/guns.dm +++ b/modular_skyrat/modules/aesthetics/guns/code/guns.dm @@ -357,33 +357,6 @@ /obj/item/gun/energy/kinetic_accelerator icon = 'modular_skyrat/modules/aesthetics/guns/icons/energy.dmi' -/obj/item/gun/ballistic/rifle/boltaction/sporterized - name = "\improper FTU 'Archangel' precision rifle" - desc = "A very... \"modernized\" Sakhno rifle, the frame even feels a little flimsy. This thing was probably built with a conversion kit from a shady NTnet site.\ -

\ - BRAND NEW: Cannot be sawn off." - icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi' - icon_state = "bubba" - worn_icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns_back.dmi' - worn_icon_state = "bubba" - inhand_icon_state = "enchanted_rifle" // Not actually magical looking, just looks closest to this one - accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba - can_be_sawn_off = FALSE - -/obj/item/gun/ballistic/rifle/boltaction/sporterized/empty - bolt_locked = TRUE // so the bolt starts visibly open - accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba/empty - -/obj/item/ammo_box/magazine/internal/boltaction/bubba - name = "archangel extended internal magazine" - desc = "How did you get it out?" - ammo_type = /obj/item/ammo_casing/strilka310 - caliber = CALIBER_STRILKA310 - max_ammo = 8 - -/obj/item/ammo_box/magazine/internal/boltaction/bubba/empty - start_empty = TRUE - /obj/item/gun/ballistic/automatic/surplus name = "\improper Type-69 surplus rifle" desc = "One of countless obsolete ballistic rifles that still sees use as a cheap deterrent. Uses 10mm ammo and its bulky frame prevents one-hand firing." diff --git a/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi b/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi index af6253d1dd4..3933f899038 100644 Binary files a/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi and b/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi differ diff --git a/modular_skyrat/modules/cargo/code/packs.dm b/modular_skyrat/modules/cargo/code/packs.dm index d86075111f5..4ecbb57bb81 100644 --- a/modular_skyrat/modules/cargo/code/packs.dm +++ b/modular_skyrat/modules/cargo/code/packs.dm @@ -712,27 +712,23 @@ name = "CIN Military Surplus Crate" desc = "A collection of surplus equipment sourced from the Coalition of Independent Nations' military stockpiles. Likely to contain old and outdated equipment, as is the nature of surplus." contraband = TRUE - cost = CARGO_CRATE_VALUE * 15 + cost = CARGO_CRATE_VALUE * 9 contains = list( - /obj/item/crucifix = 3, - /obj/item/storage/box/nri_rations = 3, - /obj/item/storage/toolbox/ammobox/strilka310 = 1, - /obj/item/storage/toolbox/maint_kit = 1, - /obj/item/gun/ballistic/rifle/boltaction = 1, - /obj/item/ammo_box/strilka310 = 3, - /obj/item/gun/ballistic/automatic/plastikov = 1, - /obj/item/ammo_box/magazine/plastikov9mm = 3, - /obj/item/gun/ballistic/automatic/pistol/makarov = 1, - /obj/item/ammo_box/magazine/multi_sprite/makarov = 3, - /obj/item/clothing/suit/armor/vest/cin_surplus_vest = 3, - /obj/item/clothing/head/helmet/cin_surplus_helmet/random_color = 3, - /obj/item/storage/backpack/industrial/cin_surplus/random_color = 3, - /obj/item/storage/belt/military/cin_surplus/random_color = 3, - /obj/item/clothing/gloves/tackler/combat = 3, - /obj/item/clothing/under/syndicate/rus_army/cin_surplus/random_color = 3, - /obj/item/clothing/shoes/jackboots = 3, - /obj/item/clothing/mask/gas/hecu2 = 3, - /obj/item/clothing/mask/balaclavaadjust = 3, + /obj/item/storage/box/nri_rations, + /obj/item/storage/toolbox/ammobox/strilka310, + /obj/item/storage/toolbox/ammobox/strilka310/surplus, + /obj/item/storage/toolbox/maint_kit, + /obj/item/storage/toolbox/guncase/soviet/sakhno = 2, + /obj/item/ammo_box/strilka310, + /obj/item/clothing/suit/armor/vest/cin_surplus_vest, + /obj/item/clothing/head/helmet/cin_surplus_helmet/random_color, + /obj/item/storage/backpack/industrial/cin_surplus/random_color, + /obj/item/storage/belt/military/cin_surplus/random_color, + /obj/item/clothing/gloves/tackler/combat, + /obj/item/clothing/under/syndicate/rus_army/cin_surplus/random_color, + /obj/item/clothing/shoes/jackboots, + /obj/item/clothing/mask/gas/hecu2, + /obj/item/clothing/mask/balaclavaadjust, ) /datum/supply_pack/imports/cin_surplus/fill(obj/structure/closet/crate/we_are_filling_this_crate) diff --git a/modular_skyrat/modules/manufacturer_examine/code/gun_company_additions.dm b/modular_skyrat/modules/manufacturer_examine/code/gun_company_additions.dm index 70bf3bb205b..fb52206891e 100644 --- a/modular_skyrat/modules/manufacturer_examine/code/gun_company_additions.dm +++ b/modular_skyrat/modules/manufacturer_examine/code/gun_company_additions.dm @@ -7,12 +7,24 @@ /obj/item/gun/ballistic/automatic/pistol/aps/give_manufacturer_examine() AddElement(/datum/element/manufacturer_examine, COMPANY_SCARBOROUGH) +/obj/item/gun/ballistic/rifle/boltaction/give_manufacturer_examine() + AddElement(/datum/element/manufacturer_examine, COMPANY_SAKHNO) + +/obj/item/gun/ballistic/rifle/boltaction/prime/give_manufacturer_examine() + AddElement(/datum/element/manufacturer_examine, COMPANY_XHIHAO) + +/obj/item/gun/ballistic/rifle/boltaction/pipegun/give_manufacturer_examine() + return + +/obj/item/gun/ballistic/rifle/boltaction/harpoon/give_manufacturer_examine() + return + +/obj/item/gun/ballistic/rifle/boltaction/lionhunter/give_manufacturer_examine() + return + /obj/item/gun/ballistic/revolver/give_manufacturer_examine() AddElement(/datum/element/manufacturer_examine, COMPANY_SCARBOROUGH) -/obj/item/gun/ballistic/rifle/boltaction/give_manufacturer_examine() - AddElement(/datum/element/manufacturer_examine, COMPANY_IZHEVSK) - /obj/item/gun/ballistic/shotgun/riot/give_manufacturer_examine() AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN) @@ -37,15 +49,6 @@ /obj/item/gun/ballistic/shotgun/toy/give_manufacturer_examine() AddElement(/datum/element/manufacturer_examine, COMPANY_DONK) -/obj/item/gun/ballistic/rifle/boltaction/sporterized/give_manufacturer_examine() - return - -/obj/item/gun/ballistic/rifle/boltaction/prime/give_manufacturer_examine() - return - -/obj/item/gun/ballistic/rifle/boltaction/pipegun/give_manufacturer_examine() - return - /obj/item/gun/ballistic/automatic/c20r/toy/give_manufacturer_examine() AddElement(/datum/element/manufacturer_examine, COMPANY_DONK) diff --git a/modular_skyrat/modules/modular_weapons/code/autolathe_designs.dm b/modular_skyrat/modules/modular_weapons/code/autolathe_designs.dm index ca0e8088871..f51d6883d64 100644 --- a/modular_skyrat/modules/modular_weapons/code/autolathe_designs.dm +++ b/modular_skyrat/modules/modular_weapons/code/autolathe_designs.dm @@ -2,16 +2,8 @@ * AMMO */ -/datum/design/strilka310 - name = ".310 Bullet" - id = "astrilka310" - build_type = AUTOLATHE - materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT) - build_path = /obj/item/ammo_casing/strilka310 - category = list(RND_CATEGORY_HACKED, RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO) - /datum/design/strilka310_rubber - name = ".310 Rubber Bullet" + name = ".310 Rubber Bullet (Less Lethal)" id = "astrilka310_rubber" build_type = AUTOLATHE materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT) diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/xhihao_light_arms/ammo.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/xhihao_light_arms/ammo.dm new file mode 100644 index 00000000000..7c43be2c19a --- /dev/null +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/xhihao_light_arms/ammo.dm @@ -0,0 +1,45 @@ +/* +* .310 Strilka +*/ + +/obj/item/ammo_casing/strilka310/rubber + name = ".310 Strilka rubber bullet casing" + desc = "A .310 rubber bullet casing. Casing is a bit of a fib, there isn't one.\ +

\ + RUBBER: Less than lethal ammo. Deals both stamina damage and regular damage." + + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/ammo.dmi' + icon_state = "310-casing-rubber" + + projectile_type = /obj/projectile/bullet/strilka310/rubber + harmful = FALSE + +/obj/projectile/bullet/strilka310/rubber + name = ".310 rubber bullet" + damage = 15 + stamina = 55 + ricochets_max = 5 + ricochet_incidence_leeway = 0 + ricochet_chance = 130 + ricochet_decay_damage = 0.7 + shrapnel_type = null + sharpness = NONE + embedding = null + +/obj/item/ammo_casing/strilka310/ap + name = ".310 Strilka armor-piercing bullet casing" + desc = "A .310 armor-piercing bullet casing. Note, does not actually contain a casing.\ +

\ + ARMOR-PIERCING: Improved armor-piercing capabilities, in return for less outright damage." + + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/ammo.dmi' + icon_state = "310-casing-ap" + + projectile_type = /obj/projectile/bullet/strilka310/ap + custom_materials = AMMO_MATS_AP + advanced_print_req = TRUE + +/obj/projectile/bullet/strilka310/ap + name = ".310 armor-piercing bullet" + damage = 50 + armour_penetration = 60 diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/xhihao_light_arms/guns.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/xhihao_light_arms/guns.dm new file mode 100644 index 00000000000..4207eb85eef --- /dev/null +++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/xhihao_light_arms/guns.dm @@ -0,0 +1,48 @@ +/* +* QM Sporter Rifle +*/ + +/obj/item/gun/ballistic/rifle/boltaction/sporterized + name = "\improper Xhihao 'Rengo' precision rifle" + desc = "A Xhihao 'Rengo' conversion rifle. Came as parts sold in a single kit by Xhihao Light Arms, \ + which can be swapped out with many of the outdated or simply old parts on a typical Sakhno rifle. \ + While not necessarily increasing performance in any way, the magazine is slightly longer. The weapon \ + is also overall a bit shorter, making it easier to handle for some people. Cannot be sawn off, cutting \ + really any part of this weapon off would make it non-functional." + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/guns40x.dmi' + icon_state = "rengo" + worn_icon_state = "enchanted_rifle" // Not actually magical looking, just looks closest to this one + inhand_icon_state = "enchanted_rifle" + accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba + can_be_sawn_off = FALSE + +/obj/item/gun/ballistic/rifle/boltaction/sporterized/Initialize(mapload) + . = ..() + + AddComponent(/datum/component/scope, range_modifier = 1.5) + +/obj/item/gun/ballistic/rifle/boltaction/sporterized/give_manufacturer_examine() + AddElement(/datum/element/manufacturer_examine, COMPANY_XHIHAO) + +/obj/item/gun/ballistic/rifle/boltaction/sporterized/empty + bolt_locked = TRUE // so the bolt starts visibly open + accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba/empty + +/obj/item/ammo_box/magazine/internal/boltaction/bubba + name = "Sakhno extended internal magazine" + desc = "How did you get it out?" + ammo_type = /obj/item/ammo_casing/strilka310 + caliber = CALIBER_STRILKA310 + max_ammo = 8 + +/obj/item/ammo_box/magazine/internal/boltaction/bubba/empty + start_empty = TRUE + +/* +* Box that contains Sakhno rifles, but less soviet union since we don't have one of those +*/ + +/obj/item/storage/toolbox/guncase/soviet/sakhno + desc = "A weapon's case. This one is green and looks pretty old, but is otherwise in decent condition." + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/cases.dmi' + material_flags = NONE // ????? Why do these have materials enabled?? diff --git a/modular_skyrat/modules/aesthetics/guns/code/conversion_kits.dm b/modular_skyrat/modules/modular_weapons/code/conversion_kits.dm similarity index 78% rename from modular_skyrat/modules/aesthetics/guns/code/conversion_kits.dm rename to modular_skyrat/modules/modular_weapons/code/conversion_kits.dm index f208cfab211..a15d0766ece 100644 --- a/modular_skyrat/modules/aesthetics/guns/code/conversion_kits.dm +++ b/modular_skyrat/modules/modular_weapons/code/conversion_kits.dm @@ -11,14 +11,14 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' /obj/item/crafting_conversion_kit/mosin_pro - name = "\improper FTU 'Archangel' precision rifle stock (desert tan)" - desc = "It's a plastic rifle stock, an extended .310 Strilka magazine, and some off-brand sight. Unfortunately, it lacks the actual bits that make it go bang. \ - It's probably a safe assumption that fixing that is an exercise left to the buyer." - icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi' - icon_state = "bubba_wit_no_bubba" + name = "\improper Xhihao 'Rengo' rifle conversion kit" + desc = "All the parts you need to make a 'Rengo' rifle, outside of the parts that make the gun actually a gun. \ + It looks like this stuff could fit on an old Sakhno rifle, if only you had one of those around." + icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/cases.dmi' + icon_state = "xhihao_conversion_kit" /datum/crafting_recipe/mosin_pro - name = "Sakhno to FTU 'Archangel' Conversion" + name = "Sakhno to Xhihao 'Rengo' Conversion" desc = "It's actually really easy to change the stock on your Sakhno. Anyone can do it. It takes roughly thirty seconds and a screwdriver." result = /obj/item/gun/ballistic/rifle/boltaction/sporterized/empty reqs = list( diff --git a/modular_skyrat/modules/modular_weapons/code/modular_projectiles.dm b/modular_skyrat/modules/modular_weapons/code/modular_projectiles.dm index 3e0ff988c1f..8edfcc4b5f8 100644 --- a/modular_skyrat/modules/modular_weapons/code/modular_projectiles.dm +++ b/modular_skyrat/modules/modular_weapons/code/modular_projectiles.dm @@ -110,44 +110,6 @@ name = ".277 armor-piercing bullet" armour_penetration = 60 -/* -* .310 Strilka -*/ - -/obj/item/ammo_casing/strilka310/rubber - name = ".310 Strilka rubber bullet casing" - desc = "A .310 rubber bullet casing. Casing is a bit of a fib, there isn't one.\ -

\ - RUBBER: Less than lethal ammo. Deals both stamina damage and regular damage." - projectile_type = /obj/projectile/bullet/strilka310/rubber - harmful = FALSE - -/obj/projectile/bullet/strilka310/rubber - name = ".310 rubber bullet" - damage = 15 - stamina = 55 - ricochets_max = 5 - ricochet_incidence_leeway = 0 - ricochet_chance = 130 - ricochet_decay_damage = 0.7 - shrapnel_type = null - sharpness = NONE - embedding = null - -/obj/item/ammo_casing/strilka310/ap - name = ".310 Strilka armor-piercing bullet casing" - desc = "A .310 armor-piercing bullet casing. Note, does not actually contain a casing.\ -

\ - ARMOR-PIERCING: Improved armor-piercing capabilities, in return for less outright damage." - projectile_type = /obj/projectile/bullet/strilka310/ap - custom_materials = AMMO_MATS_AP - advanced_print_req = TRUE - -/obj/projectile/bullet/strilka310/ap - name = ".244 armor-piercing bullet" - damage = 50 - armour_penetration = 60 - /* * .34 ACP */ diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/cases.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/cases.dmi new file mode 100644 index 00000000000..238153cd32b Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/cases.dmi differ diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/ammo.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/ammo.dmi new file mode 100644 index 00000000000..f671b307528 Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/ammo.dmi differ diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/guns40x.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/guns40x.dmi new file mode 100644 index 00000000000..1e6e33762aa Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/xhihao_light_arms/guns40x.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 164f4a753bb..aabe3fc7b15 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5952,7 +5952,6 @@ #include "modular_skyrat\modules\aesthetics\flag\code\signs_flags.dm" #include "modular_skyrat\modules\aesthetics\floors\code\floors.dm" #include "modular_skyrat\modules\aesthetics\furniture\bed.dm" -#include "modular_skyrat\modules\aesthetics\guns\code\conversion_kits.dm" #include "modular_skyrat\modules\aesthetics\guns\code\guns.dm" #include "modular_skyrat\modules\aesthetics\guns\code\magazine.dm" #include "modular_skyrat\modules\aesthetics\heater\code\spaceheater.dm" @@ -7021,12 +7020,15 @@ #include "modular_skyrat\modules\modular_vending\code\wardrobes.dm" #include "modular_skyrat\modules\modular_weapons\code\autolathe_designs.dm" #include "modular_skyrat\modules\modular_weapons\code\automatic.dm" +#include "modular_skyrat\modules\modular_weapons\code\conversion_kits.dm" #include "modular_skyrat\modules\modular_weapons\code\energy.dm" #include "modular_skyrat\modules\modular_weapons\code\melee.dm" #include "modular_skyrat\modules\modular_weapons\code\modular_projectiles.dm" #include "modular_skyrat\modules\modular_weapons\code\pistol.dm" #include "modular_skyrat\modules\modular_weapons\code\revolver.dm" #include "modular_skyrat\modules\modular_weapons\code\rifle.dm" +#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\xhihao_light_arms\ammo.dm" +#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\xhihao_light_arms\guns.dm" #include "modular_skyrat\modules\mold\code\_mold_defines.dm" #include "modular_skyrat\modules\mold\code\mold.dm" #include "modular_skyrat\modules\mold\code\mold_controller.dm"