From c27f9a6d9b9739baae09db063b6eb266d525772c Mon Sep 17 00:00:00 2001 From: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Date: Wed, 29 Mar 2023 04:16:33 +1100 Subject: [PATCH] Minor Nukie Thing: Bolt-action Sniper Rifle, balance coding, and some ammo changes (#73781) ## About The Pull Request ### The Rifle: -The Sniper Rifle is now a bolt action. This replaces the 4 second fire delay on the sniper rifle. This overall will improve the fire rate if you're good at racking the bolt, but it will also feel less like you're in a weird limbo of inaction while using the sniper rifle, since the fire delay can be quite confusing to players not used to it. This can be tweaked, like reducing the speed of the racking action, if it seems like it is too much. -The scope component now goes up to 50 tiles (or so), which allows you to gain a significant sightline over an area. The reasoning for this is simple. The component actually nerfed the overall range of the sniper rifle's scope, so this should hopefully restore that somewhat. And having such a huge sightline makes it much easier to utilize the impressive range of the rifle. Currently, it's really only ideal for extremely close range fighting. -The normal sniper rifle, the one that syndicate base scientists get, can be suppressed. I don't know why it was different. ### The Ammo: Normal .50 BMG: Does much more object damage, and on top of that deals additional damage to mechs, but not by much more. Now, when it dismembers a limb, it also deals its damage to the chest. This ensures that you didn't straight up lose out on dealing a killing blow because you took their limb off, and makes the dismemberment property of .50 BMG a significant upside rather than a immense detriment. Marksman: Gains a lot of the above benefits, but has much lower range. Why this nerf? It's actually because of some funny nonsense with how ricochet works. Which can cause....accidents to happen. To you. Consider that firing down a straight line and missing could be quite embarrassing when the bullet has 400 tiles of range. Soporific: Now called Disruptor ammo. Works as it did before, putting humans to sleep for 40 seconds (seriously, 40 seconds). Also deals some stamina damage, if...that's relevant. But now also causes an EMP effect and a boatload of added damage to both mechs and borgs, allowing it to be an excellent anti-mech and anti-borg ammo type, as well as scrambling any pesky suit sensors, energy weapons and so on in an area around the impact. Useful for support fire. Incendiary (NEW!): Causes a massive firebomb to go off where it impacts (no explosion, so this isn't a stun). Also sets the target on fire, which is always fun. Good for shooting into groups of people with impunity. Also deals burn damage instead, since I think nukies could use more methods for direct fire damage. Surplus (NEW!): It's .50 BMG but it lacks most if not all the upsides. No armour penetration, no dismemberment, no paralysis. It still deals a lot of damage to objects, so not a bad option for simply removing structures from afar. So what's the point in this ammo? You can buy 7 magazines for the price of one. I want to introduce 'Surplus' as an idea for nukies to invest in if they want to be able to keep shooting but they're really on a budget, like most non-warop nukies tend to be. This is definitely subject to change (like a damage decrease on top of everything else). Pricing and Capacity: Normal ammo and surplus costs 3 TC. Every special ammo costs 4 TC. Every special ammo also has the same ammo capacity as the normal magazine. It's kind of weird how most of the subtypes had 5 shots rather than 6, but then soporific had...3? I don't get it. This would probably cause a good deal of confusion, especially if you are swapping ammo types and weren't aware of this particular oddity. Anyway, 6 shots. ### Minor Addition Gets rid of the cheap suppressor. It lies to players, tricking them into thinking this is a low quality suppressor. Newsflash, it isn't. There is no distinct difference between that suppressor and the normal suppressor. ## Why It's Good For The Game The sniper rifle, unfortunately, sucks a lot except for very specific use cases. It got a big nerf with the scope component in terms of range, even if the functionality is way cooler. And, at a baseline, there was some counterintuitive functions attached to it. Dismemberment was cool, but it also caused a loss in overall damage due to how limbs contribute to core health. On top of this, the cool ammo types were...not much better? Penetrator was almost always the best option, even if it lost a lot of damage as a consequence. So, what was it good for? X-ray + Penetrator. Pretty much, that's it. It has some other uses but if I had to be entirely honest, there wasn't much that other weapon couldn't do as well. Hopefully this helps things going forward, and I want to mess with this as well down the line in case its a bit too much of a boost in power. Absolutely please rip this PR apart. ## Changelog :cl: balance: Makes the syndicate sniper rifle a bolt-action rifle. balance: Sniper rifles have a scope range of roughly 50 tiles. balance: Sniper rifle ammo, if it dismembers your limbs, does damage to the chest. balance: All the various syndicate sniper rifle magazines have consistent casing quantities (6 shots). They also have more consistent pricing. 3 for normal and a box of surplus, and 4 for every other type. balance: Reduces the range of Marksman ammo to 50 tiles. Not because it is strong, but because you might accidentally shoot yourself if you're not watching where you're shooting. Ricochets are no joke. add: Replaces Soporific with Disruptor ammo. Works like soporific, but also EMPS things it hits. add: Adds Incendiary .50 BMG. Causes a combustion to erupt from the struck target, as well as setting targets on fire. Great for parties. add: Adds Surplus .50 BMG. It sucks, but you get a lot of them! Quantity over quality, baby. remove: The suppressors in the bundle are of standard quality. The apparent 'cheap suppressor' that came bundled with the C-20r and sniper rifle were found to actually be 'fine'. Trust us. /:cl: --- _maps/templates/battlecruiser_starfury.dmm | 2 +- code/game/objects/items/storage/backpack.dm | 2 +- code/game/objects/items/storage/briefcase.dm | 8 +- .../game/objects/items/storage/uplink_kits.dm | 12 ++- code/game/objects/structures/mystery_box.dm | 2 +- .../mob/living/carbon/carbon_defense.dm | 2 + .../mob_spawn/ghost_roles/mining_roles.dm | 2 +- .../ammunition/ballistic/sniper.dm | 31 ++++--- .../boxes_magazines/external/pistol.dm | 10 +-- .../boxes_magazines/external/sniper.dm | 32 ++++--- code/modules/projectiles/guns/ballistic.dm | 5 -- .../projectiles/guns/ballistic/automatic.dm | 46 ----------- .../projectiles/guns/ballistic/rifle.dm | 51 ++++++++++++ code/modules/projectiles/projectile.dm | 1 + .../projectiles/projectile/bullets/sniper.dm | 78 ++++++++++++++---- .../spells/spell_types/right_and_wrong.dm | 2 +- code/modules/uplink/uplink_items/nukeops.dm | 56 ++++++++----- icons/obj/weapons/guns/ammo.dmi | Bin 24726 -> 24751 bytes icons/obj/weapons/guns/ballistic.dmi | Bin 35630 -> 35235 bytes .../73781_sniper_automatic_to_rifle.txt | 3 + 20 files changed, 220 insertions(+), 125 deletions(-) create mode 100644 tools/UpdatePaths/Scripts/73781_sniper_automatic_to_rifle.txt diff --git a/_maps/templates/battlecruiser_starfury.dmm b/_maps/templates/battlecruiser_starfury.dmm index f0434551600..efb8541bafd 100644 --- a/_maps/templates/battlecruiser_starfury.dmm +++ b/_maps/templates/battlecruiser_starfury.dmm @@ -2619,7 +2619,7 @@ /obj/machinery/light/directional/east, /obj/item/storage/belt/military, /obj/item/ammo_box/magazine/sniper_rounds, -/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, +/obj/item/gun/ballistic/rifle/sniper_rifle/syndicate, /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) "iq" = ( diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 81918765e98..b76720344df 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -604,7 +604,7 @@ new /obj/item/ammo_box/magazine/smgm45(src) new /obj/item/ammo_box/magazine/smgm45(src) new /obj/item/gun/ballistic/automatic/c20r(src) - new /obj/item/suppressor/specialoffer(src) + new /obj/item/suppressor(src) /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle desc = "A large duffel bag containing a Bulldog, some drums, and a pair of thermal imaging glasses." diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index e675106287c..299c10df5af 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -66,9 +66,9 @@ /obj/item/storage/briefcase/sniperbundle/PopulateContents() ..() // in case you need any paperwork done after your rampage - new /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate(src) + new /obj/item/gun/ballistic/rifle/sniper_rifle/syndicate(src) new /obj/item/clothing/neck/tie/red/hitman(src) new /obj/item/clothing/under/syndicate/sniper(src) - new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) - new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) - new /obj/item/suppressor/specialoffer(src) + new /obj/item/ammo_box/magazine/sniper_rounds/disruptor(src) + new /obj/item/ammo_box/magazine/sniper_rounds/disruptor(src) + new /obj/item/suppressor(src) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 08ad1d4bc81..4e48385e668 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -138,7 +138,7 @@ new /obj/item/storage/box/syndie_kit/emp(src) // 2 tc if(KIT_SNIPER) //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks - new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc + new /obj/item/gun/ballistic/rifle/sniper_rifle(src) // 12 tc new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) // 5 tc new /obj/item/clothing/glasses/thermal/syndi(src) // 4 tc new /obj/item/clothing/gloves/latex/nitrile(src) // ~ 1 tc for outfit @@ -570,6 +570,16 @@ new /obj/item/toy/plush/carpplushie(src) new /obj/item/bedsheet/syndie(src) +/// Surplus Ammo Box + +/obj/item/storage/box/syndie_kit/surplus + name = "surplus .50 BMG magazine box" + desc = "A shoddy box full of surplus .50 BMG magazines. Not as strong, but good enough to keep lead in the air." + +/obj/item/storage/box/syndie_kit/surplus/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_box/magazine/sniper_rounds/surplus(src) + ///Subtype for the sabotage bundle. Contains three C4, two X4 and 6 signalers /obj/item/storage/backpack/duffelbag/syndie/sabotage diff --git a/code/game/objects/structures/mystery_box.dm b/code/game/objects/structures/mystery_box.dm index 817b0f4ba45..1fc38f8b8b2 100644 --- a/code/game/objects/structures/mystery_box.dm +++ b/code/game/objects/structures/mystery_box.dm @@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(mystery_box_guns, list( /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/tommygun, /obj/item/gun/ballistic/automatic/wt550, - /obj/item/gun/ballistic/automatic/sniper_rifle, + /obj/item/gun/ballistic/rifle/sniper_rifle, /obj/item/gun/ballistic/rifle/boltaction/brand_new, )) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 0a98fae16b5..e464d4b16b1 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -59,6 +59,8 @@ var/obj/item/bodypart/affecting = get_bodypart(def_zone) if(affecting && affecting.dismemberable && affecting.get_damage() >= (affecting.max_damage - P.dismemberment)) affecting.dismember(P.damtype) + if(P.catastropic_dismemberment) + apply_damage(P.damage, P.damtype, BODY_ZONE_CHEST, wound_bonus = P.wound_bonus) //stops a projectile blowing off a limb effectively doing no damage. Mostly relevant for sniper rifles. /mob/living/carbon/proc/can_catch_item(skip_throw_mode_check) . = FALSE diff --git a/code/modules/mob_spawn/ghost_roles/mining_roles.dm b/code/modules/mob_spawn/ghost_roles/mining_roles.dm index 49fb6f1d303..f7ae8f35c4f 100644 --- a/code/modules/mob_spawn/ghost_roles/mining_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/mining_roles.dm @@ -299,7 +299,7 @@ ears = /obj/item/radio/headset/syndicate/alt shoes = /obj/item/clothing/shoes/combat r_pocket = /obj/item/gun/ballistic/automatic/pistol - r_hand = /obj/item/gun/ballistic/automatic/sniper_rifle + r_hand = /obj/item/gun/ballistic/rifle/sniper_rifle implants = list(/obj/item/implant/weapons_auth) diff --git a/code/modules/projectiles/ammunition/ballistic/sniper.dm b/code/modules/projectiles/ammunition/ballistic/sniper.dm index 3749520a522..19068ad6358 100644 --- a/code/modules/projectiles/ammunition/ballistic/sniper.dm +++ b/code/modules/projectiles/ammunition/ballistic/sniper.dm @@ -1,25 +1,34 @@ // .50 (Sniper) /obj/item/ammo_casing/p50 - name = ".50 bullet casing" - desc = "A .50 bullet casing." + name = ".50 BMG bullet casing" + desc = "A .50 BMG bullet casing." caliber = CALIBER_50 projectile_type = /obj/projectile/bullet/p50 icon_state = ".50" -/obj/item/ammo_casing/p50/soporific - name = ".50 soporific bullet casing" - desc = "A .50 bullet casing, specialised in sending the target to sleep, instead of hell." - projectile_type = /obj/projectile/bullet/p50/soporific - icon_state = "sleeper" - harmful = FALSE +/obj/item/ammo_casing/p50/surplus + name = ".50 BMG surplus bullet casing" + desc = "A .50 BMG surplus bullet casing." + projectile_type = /obj/projectile/bullet/p50/surplus + +/obj/item/ammo_casing/p50/disruptor + name = ".50 BMG disruptor bullet casing" + desc = "A .50 BMG disruptor bullet casing." + projectile_type = /obj/projectile/bullet/p50/disruptor + icon_state = ".50disruptor" + +/obj/item/ammo_casing/p50/incendiary + name = ".50 BMG incendiary bullet casing" + desc = "A .50 BMG incendiary bullet casing." + projectile_type = /obj/projectile/bullet/p50/incendiary /obj/item/ammo_casing/p50/penetrator - name = ".50 penetrator round bullet casing" - desc = "A .50 caliber penetrator round casing." + name = ".50 BMG penetrator round bullet casing" + desc = "A .50 BMG penetrator round casing." projectile_type = /obj/projectile/bullet/p50/penetrator /obj/item/ammo_casing/p50/marksman - name = ".50 marksman round bullet casing" + name = ".50 BMG marksman round bullet casing" desc = "A .50 caliber marksman round casing." projectile_type = /obj/projectile/bullet/p50/marksman diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 072e990256d..72b13bd58f3 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -1,7 +1,7 @@ /obj/item/ammo_box/magazine/m10mm name = "pistol magazine (10mm)" desc = "A gun magazine." - icon_state = "9x19p-full" + icon_state = "9x19p" base_icon_state = "9x19p" ammo_type = /obj/item/ammo_casing/c10mm caliber = CALIBER_10MM @@ -13,21 +13,21 @@ name = "pistol magazine (10mm incendiary)" icon_state = "9x19pI" base_icon_state = "9x19pI" - desc = "A gun magazine. Loaded with rounds which ignite the target." + desc = "A 10mm pistol magazine. Loaded with rounds which ignite the target." ammo_type = /obj/item/ammo_casing/c10mm/fire /obj/item/ammo_box/magazine/m10mm/hp name = "pistol magazine (10mm HP)" icon_state = "9x19pH" base_icon_state = "9x19pH" - desc= "A gun magazine. Loaded with hollow-point rounds, extremely effective against unarmored targets, but nearly useless against protective clothing." + desc= "A 10mm pistol magazine. Loaded with hollow-point rounds, extremely effective against unarmored targets, but nearly useless against protective clothing." ammo_type = /obj/item/ammo_casing/c10mm/hp /obj/item/ammo_box/magazine/m10mm/ap name = "pistol magazine (10mm AP)" icon_state = "9x19pA" base_icon_state = "9x19pA" - desc= "A gun magazine. Loaded with rounds which penetrate armour, but are less effective against normal targets." + desc= "A 10mm pistol magazine. Loaded with rounds which penetrate armour, but are less effective against normal targets." ammo_type = /obj/item/ammo_casing/c10mm/ap /obj/item/ammo_box/magazine/m45 @@ -42,7 +42,7 @@ /obj/item/ammo_box/magazine/m9mm name = "pistol magazine (9mm)" - icon_state = "9x19p-full" + icon_state = "9x19p" base_icon_state = "9x19p" ammo_type = /obj/item/ammo_casing/c9mm caliber = CALIBER_9MM diff --git a/code/modules/projectiles/boxes_magazines/external/sniper.dm b/code/modules/projectiles/boxes_magazines/external/sniper.dm index cb0cdf13da2..444eef6f175 100644 --- a/code/modules/projectiles/boxes_magazines/external/sniper.dm +++ b/code/modules/projectiles/boxes_magazines/external/sniper.dm @@ -1,5 +1,5 @@ /obj/item/ammo_box/magazine/sniper_rounds - name = "sniper rounds (.50)" + name = "anti-materiel sniper rounds (.50 BMG)" icon_state = ".50mag" base_icon_state = ".50mag" ammo_type = /obj/item/ammo_casing/p50 @@ -10,23 +10,33 @@ . = ..() icon_state = "[base_icon_state][ammo_count() ? "-ammo" : ""]" -/obj/item/ammo_box/magazine/sniper_rounds/soporific - name = "sniper rounds (Zzzzz)" - desc = "Soporific sniper rounds, designed for happy days and dead quiet nights..." - base_icon_state = "soporific" - ammo_type = /obj/item/ammo_casing/p50/soporific - max_ammo = 3 +/obj/item/ammo_box/magazine/sniper_rounds/surplus + name = "anti-materiel sniper rounds (.50 BMG Surplus)" + icon_state = "surplus" + base_icon_state = "surplus" + ammo_type = /obj/item/ammo_casing/p50/surplus + +/obj/item/ammo_box/magazine/sniper_rounds/disruptor + name = "anti-materiel sniper rounds (.50 BMG Bzzt)" + desc = "Disruptor sniper rounds. A special blend of soporific chemicals \ + and a electromagnetic payload to cause anything to come to a grinding halt." + base_icon_state = "disruptor" + ammo_type = /obj/item/ammo_casing/p50/disruptor + +/obj/item/ammo_box/magazine/sniper_rounds/incendiary + name = "anti-materiel sniper rounds (.50 BMG incendiary)" + desc = "Incediary sniper rounds. Causes a massive combustion at the site of impact." + base_icon_state = "incendiary" + ammo_type = /obj/item/ammo_casing/p50/incendiary /obj/item/ammo_box/magazine/sniper_rounds/penetrator - name = "sniper rounds (penetrator)" + name = "anti-materiel sniper rounds (.50 BMG penetrator)" desc = "An extremely powerful round capable of passing straight through cover and anyone unfortunate enough to be behind it." base_icon_state = "penetrator" ammo_type = /obj/item/ammo_casing/p50/penetrator - max_ammo = 5 /obj/item/ammo_box/magazine/sniper_rounds/marksman - name = "sniper rounds (marksman)" + name = "anti-materiel sniper rounds (.50 BMG marksman)" desc = "An extremely fast sniper round able to pretty much instantly shoot through something." base_icon_state = "marksman" ammo_type = /obj/item/ammo_casing/p50/marksman - max_ammo = 5 diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 8fc839aaba1..a2dfdd516ac 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -701,8 +701,3 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( icon = 'icons/obj/weapons/guns/ballistic.dmi' icon_state = "suppressor" w_class = WEIGHT_CLASS_TINY - - -/obj/item/suppressor/specialoffer - name = "cheap suppressor" - desc = "A foreign knock-off suppressor, it feels flimsy, cheap, and brittle. Still fits most weapons." diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 73ca274dff4..503d77bb813 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -316,52 +316,6 @@ return ..() - - -// SNIPER // - -/obj/item/gun/ballistic/automatic/sniper_rifle - name = "sniper rifle" - desc = "A long ranged weapon that does significant damage. No, you can't quickscope." - icon_state = "sniper" - w_class = WEIGHT_CLASS_BULKY - inhand_icon_state = "sniper" - worn_icon_state = null - fire_sound = 'sound/weapons/gun/sniper/shot.ogg' - fire_sound_volume = 90 - load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' - rack_sound = 'sound/weapons/gun/sniper/rack.ogg' - suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' - recoil = 2 - weapon_weight = WEAPON_HEAVY - mag_type = /obj/item/ammo_box/magazine/sniper_rounds - fire_delay = 4 SECONDS - burst_size = 1 - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BACK - actions_types = list() - mag_display = TRUE - suppressor_x_offset = 3 - suppressor_y_offset = 3 - -/obj/item/gun/ballistic/automatic/sniper_rifle/Initialize(mapload) - . = ..() - AddComponent(/datum/component/scope, range_modifier = 2) - -/obj/item/gun/ballistic/automatic/sniper_rifle/reset_semicd() - . = ..() - if(suppressed) - playsound(src, 'sound/machines/eject.ogg', 25, TRUE, ignore_walls = FALSE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) - else - playsound(src, 'sound/machines/eject.ogg', 50, TRUE) - -/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate - name = "syndicate sniper rifle" - desc = "An illegally modified .50 cal sniper rifle with suppression compatibility. Quickscoping still doesn't work." - can_suppress = TRUE - can_unsuppress = TRUE - pin = /obj/item/firing_pin/implant/pindicate - // Old Semi-Auto Rifle // /obj/item/gun/ballistic/automatic/surplus diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index da1aba9ffb0..75d6c73772a 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -231,3 +231,54 @@ user.put_in_hands(gun) else user.dropItemToGround(src, TRUE) + +// SNIPER // + +/obj/item/gun/ballistic/rifle/sniper_rifle + name = "anti-materiel sniper rifle" + desc = "A boltaction anti-materiel rifle, utilizing .50 BMG cartridges. While technically outdated in modern arms markets, it still works exceptionally well as \ + an anti-personnel rifle. In particular, the employment of modern armored MODsuits utilizing advanced armor plating has given this weapon a new home on the battlefield. \ + It is also able to be suppressed....somehow." + icon_state = "sniper" + weapon_weight = WEAPON_HEAVY + inhand_icon_state = "sniper" + worn_icon_state = null + fire_sound = 'sound/weapons/gun/sniper/shot.ogg' + fire_sound_volume = 90 + load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' + rack_sound = 'sound/weapons/gun/sniper/rack.ogg' + suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' + recoil = 2 + mag_type = /obj/item/ammo_box/magazine/sniper_rounds + internal_magazine = FALSE + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BACK + mag_display = TRUE + tac_reloads = TRUE + rack_delay = 1 SECONDS + can_suppress = TRUE + can_unsuppress = TRUE + suppressor_x_offset = 3 + suppressor_y_offset = 3 + +/obj/item/gun/ballistic/rifle/sniper_rifle/examine(mob/user) + . = ..() + . += span_warning("It seems to have a warning label: Do NOT, under any circumstances, attempt to 'quickscope' with this rifle.") + +/obj/item/gun/ballistic/rifle/sniper_rifle/Initialize(mapload) + . = ..() + AddComponent(/datum/component/scope, range_modifier = 7) //enough range to at least make extremely good use of the penetrator rounds + +/obj/item/gun/ballistic/rifle/sniper_rifle/reset_semicd() + . = ..() + if(suppressed) + playsound(src, 'sound/machines/eject.ogg', 25, TRUE, ignore_walls = FALSE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) + else + playsound(src, 'sound/machines/eject.ogg', 50, TRUE) + +/obj/item/gun/ballistic/rifle/sniper_rifle/syndicate + desc = "A boltaction anti-materiel rifle, utilizing .50 BMG cartridges. While technically outdated in modern arms markets, it still works exceptionally well as \ + an anti-personnel rifle. In particular, the employment of modern armored MODsuits utilizing advanced armor plating has given this weapon a new home on the battlefield. \ + It is also able to be suppressed....somehow. This one seems to have a little picture of someone in a blood-red MODsuit stenciled on it, pointing at a green floppy disk. \ + Who knows what that might mean." + pin = /obj/item/firing_pin/implant/pindicate diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 6982c9f9cfb..bb02ac8d548 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -176,6 +176,7 @@ var/slur = 0 SECONDS var/dismemberment = 0 //The higher the number, the greater the bonus to dismembering. 0 will not dismember at all. + var/catastropic_dismemberment = FALSE //If TRUE, this projectile deals its damage to the chest if it dismembers a limb. var/impact_effect_type //what type of impact effect to show when hitting something var/log_override = FALSE //is this type spammed enough to not log? (KAs) /// We ignore mobs with these factions. diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index a5acb1f92e1..bc4f69eb946 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -1,37 +1,76 @@ -// .50 (Sniper) +// .50 BMG (Sniper) /obj/projectile/bullet/p50 - name =".50 bullet" + name =".50 BMG bullet" speed = 0.4 range = 400 // Enough to travel from one corner of the Z to the opposite corner and then some. damage = 70 paralyze = 100 dismemberment = 50 + catastropic_dismemberment = TRUE armour_penetration = 50 - var/breakthings = TRUE + ///Determines object damage. + var/object_damage = 80 + ///Determines how much additional damage the round does to mechs. + var/mecha_damage = 10 /obj/projectile/bullet/p50/on_hit(atom/target, blocked = 0) - if(isobj(target) && (blocked != 100) && breakthings) - var/obj/O = target - O.take_damage(80, BRUTE, BULLET, FALSE) + if(isobj(target) && (blocked != 100)) + var/obj/thing_to_break = target + var/damage_to_deal = object_damage + if(ismecha(thing_to_break) && mecha_damage) + damage_to_deal += mecha_damage + if(damage_to_deal) + thing_to_break.take_damage(damage_to_deal, BRUTE, BULLET, FALSE) return ..() -/obj/projectile/bullet/p50/soporific - name =".50 soporific bullet" +/obj/projectile/bullet/p50/surplus + name =".50 BMG surplus bullet" armour_penetration = 0 - damage = 0 - dismemberment = 0 paralyze = 0 - breakthings = FALSE + dismemberment = 0 + catastropic_dismemberment = FALSE -/obj/projectile/bullet/p50/soporific/on_hit(atom/target, blocked = FALSE) +/obj/projectile/bullet/p50/disruptor + name =".50 BMG disruptor bullet" + damage_type = STAMINA + paralyze = 0 + dismemberment = 0 + catastropic_dismemberment = FALSE + object_damage = 0 + mecha_damage = 100 + var/emp_radius = 2 + +/obj/projectile/bullet/p50/disruptor/on_hit(atom/target, blocked = FALSE) + . = ..() if((blocked != 100) && isliving(target)) - var/mob/living/L = target - L.Sleeping(400) - return ..() + var/mob/living/living_guy = target + living_guy.Sleeping(40 SECONDS) //Yes, its really 40 seconds of sleep, I hope you had your morning coffee. + if(issilicon(target)) //also especially good against borgs + var/mob/living/silicon/borg_boy = target + borg_boy.apply_damage(damage, BRUTE) + empulse(target, emp_radius, emp_radius) + +/obj/projectile/bullet/p50/incendiary + name =".50 BMG incendiary bullet" + damage_type = BURN + paralyze = 0 + dismemberment = 0 + catastropic_dismemberment = FALSE + object_damage = 30 + mecha_damage = 0 + +/obj/projectile/bullet/p50/incendiary/on_hit(atom/target, blocked = FALSE) + . = ..() + if(iscarbon(target)) + var/mob/living/carbon/poor_burning_dork = target + poor_burning_dork.adjust_fire_stacks(20) + poor_burning_dork.ignite_mob() + for(var/turf/nearby_turf as anything in RANGE_TURFS(2, target)) + new /obj/effect/hotspot(nearby_turf) /obj/projectile/bullet/p50/penetrator - name = "penetrator round" + name = ".50 BMG penetrator round" icon_state = "gauss" damage = 60 range = 50 @@ -39,18 +78,21 @@ projectile_phasing = ~(PASSMOB|PASSVEHICLE) phasing_ignore_direct_target = TRUE dismemberment = 0 //It goes through you cleanly. + catastropic_dismemberment = FALSE paralyze = 0 - breakthings = FALSE + object_damage = 0 /obj/projectile/bullet/p50/penetrator/shuttle //Nukeop Shuttle Variety + name = ".50 BMG aggression dissuasion round" icon_state = "gaussstrong" damage = 25 speed = 0.3 range = 16 /obj/projectile/bullet/p50/marksman - name = ".50 marksman round" + name = ".50 BMG marksman round" damage = 50 + range = 50 paralyze = 0 tracer_type = /obj/effect/projectile/tracer/sniper impact_type = /obj/effect/projectile/impact/sniper diff --git a/code/modules/spells/spell_types/right_and_wrong.dm b/code/modules/spells/spell_types/right_and_wrong.dm index 2758cea178c..c2c6b20edb2 100644 --- a/code/modules/spells/spell_types/right_and_wrong.dm +++ b/code/modules/spells/spell_types/right_and_wrong.dm @@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/ballistic/shotgun/bulldog, /obj/item/gun/ballistic/revolver/grenadelauncher, /obj/item/gun/ballistic/revolver/golden, - /obj/item/gun/ballistic/automatic/sniper_rifle, + /obj/item/gun/ballistic/rifle/sniper_rifle, /obj/item/gun/ballistic/rocketlauncher, /obj/item/gun/medbeam, /obj/item/gun/energy/laser/scatter, diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index 6efcc15fc8a..70ca0377e8c 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -8,7 +8,7 @@ /datum/uplink_item/bundles_tc/c20r name = "C-20r bundle" - desc = "Old Faithful: The classic C-20r, bundled with two magazines and a (surplus) suppressor at discount price." + desc = "Old Faithful: The classic C-20r, bundled with two magazines and a suppressor at discount price." item = /obj/item/storage/backpack/duffelbag/syndie/c20rbundle cost = 14 // normally 16 purchasable_from = UPLINK_NUKE_OPS @@ -31,10 +31,10 @@ /datum/uplink_item/bundles_tc/sniper name = "Sniper bundle" desc = "Elegant and refined: Contains a collapsed sniper rifle in an expensive carrying case, \ - two soporific knockout magazines, a free surplus suppressor, and a sharp-looking tactical turtleneck suit. \ + two .50 BMG disruptor magazines, a free suppressor, and a sharp-looking tactical turtleneck suit. \ We'll throw in a free red tie if you order NOW." item = /obj/item/storage/briefcase/sniperbundle - cost = 20 // normally 26 + cost = 20 // normally 27, the suit and office supplies are free! purchasable_from = UPLINK_NUKE_OPS /datum/uplink_item/bundles_tc/firestarter @@ -144,9 +144,10 @@ purchasable_from = UPLINK_NUKE_OPS /datum/uplink_item/dangerous/sniper - name = "Sniper Rifle" - desc = "Ranged fury, Syndicate style. Guaranteed to cause shock and awe or your TC back!" - item = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate + name = "Anti-Materiel Sniper Rifle" + desc = "An outdated, but still extremely powerful anti-material sniper rifle. Fires .50 BMG cartridges from a 6 round magazine. \ + Can be fitted with a suppressor. If anyone asks how that even works, tell them it's Nanotrasen's fault." + item = /obj/item/gun/ballistic/rifle/sniper_rifle/syndicate cost = 16 surplus = 25 purchasable_from = UPLINK_NUKE_OPS @@ -297,32 +298,49 @@ purchasable_from = UPLINK_NUKE_OPS /datum/uplink_item/ammo/sniper - cost = 4 + cost = 3 purchasable_from = UPLINK_NUKE_OPS /datum/uplink_item/ammo/sniper/basic - name = ".50 Magazine" + name = ".50 BMG Magazine" desc = "An additional standard 6-round magazine for use with .50 sniper rifles." item = /obj/item/ammo_box/magazine/sniper_rounds +/datum/uplink_item/ammo/sniper/surplusbox + name = ".50 BMG Surplus Magazine Box" + desc = "A box full of surplus .50 BMG magazines. Not as good as high quality magazines, \ + usually lacking the penetrative power and impact, but good enough to keep the gun firing. \ + Useful for arming a squad." + cost = 7 //1 TC per magazine + item = /obj/item/storage/box/syndie_kit/surplus + /datum/uplink_item/ammo/sniper/penetrator - name = ".50 Penetrator Magazine" - desc = "A 5-round magazine of penetrator ammo designed for use with .50 sniper rifles. \ + name = ".50 BMG Penetrator Magazine" + desc = "A 6-round magazine of penetrator ammo designed for use with .50 sniper rifles. \ Can pierce walls and multiple enemies." item = /obj/item/ammo_box/magazine/sniper_rounds/penetrator - cost = 5 + cost = 4 -/datum/uplink_item/ammo/sniper/soporific - name = ".50 Soporific Magazine" - desc = "A 3-round magazine of soporific ammo designed for use with .50 sniper rifles. Put your enemies to sleep today!" - item = /obj/item/ammo_box/magazine/sniper_rounds/soporific - cost = 6 +/datum/uplink_item/ammo/sniper/incendiary + name = ".50 BMG Incendiary Magazine" + desc = "A 6-round magazine of incendiary ammo. \ + Sets your enemies ablaze, along with everyone else next to them!" + item = /obj/item/ammo_box/magazine/sniper_rounds/incendiary + cost = 4 + +/datum/uplink_item/ammo/sniper/disruptor + name = ".50 BMG Disruptor Magazine" + desc = "A 6-round magazine of disruptor ammo designed for use with .50 sniper rifles. \ + Put your enemies and their alarm clock to sleep today!" + item = /obj/item/ammo_box/magazine/sniper_rounds/disruptor + cost = 4 /datum/uplink_item/ammo/sniper/marksman - name = ".50 Marksman Magazine" - desc = "A 5-round magazine of marksman ammo designed for use with .50 sniper rifles. Blast your enemies with instant shots!" + name = ".50 BMG Marksman Magazine" + desc = "A 6-round magazine of marksman ammo designed for use with .50 sniper rifles. \ + Blast your enemies with instant shots! Just watch out for the rebound..." item = /obj/item/ammo_box/magazine/sniper_rounds/marksman - cost = 5 + cost = 4 /datum/uplink_item/ammo/carbine name = "5.56mm Toploader Magazine" diff --git a/icons/obj/weapons/guns/ammo.dmi b/icons/obj/weapons/guns/ammo.dmi index 90ea778c6a43ca4371763f403aad163a39374c43..926a0cbbe72ea65e2dcf14030b11566a8c6c5126 100644 GIT binary patch delta 22550 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 delta 22434 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 diff --git a/icons/obj/weapons/guns/ballistic.dmi b/icons/obj/weapons/guns/ballistic.dmi index 05ec0ffd77af33ec7a46a9296d80eebf9c7aa92f..1d70d9af19d1c24cf3e93de67d709efd02785131 100644 GIT binary patch delta 14790 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 diff --git a/tools/UpdatePaths/Scripts/73781_sniper_automatic_to_rifle.txt b/tools/UpdatePaths/Scripts/73781_sniper_automatic_to_rifle.txt new file mode 100644 index 00000000000..342e6dc367a --- /dev/null +++ b/tools/UpdatePaths/Scripts/73781_sniper_automatic_to_rifle.txt @@ -0,0 +1,3 @@ +#comment This repaths sniper rifles from the automatic subtype to the rifle subtype. + +/obj/item/weapon/automatic/sniper : /obj/item/weapon/rifle/sniper{@OLD}