From 6f622dba4aab949b3c54a147715acf255eb4a86a Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 30 Mar 2023 00:20:58 +0200 Subject: [PATCH] [MIRROR] Minor Nukie Thing: Bolt-action Sniper Rifle, balance coding, and some ammo changes [MDB IGNORE] (#20146) * Minor Nukie Thing: Bolt-action Sniper Rifle, balance coding, and some ammo changes * Update sniper.dm --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> --- _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 | 82 +++++++++++++----- .../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, 222 insertions(+), 127 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 8c9f9c5628e..ac0db922878 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -609,7 +609,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 c44669ad1ce..177e02e9656 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 ac6bcb42a5f..491ec8f207d 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -61,6 +61,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 4c359060af1..dc57487badf 100644 --- a/code/modules/mob_spawn/ghost_roles/mining_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/mining_roles.dm @@ -315,7 +315,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) id_trim = /datum/id_trim/syndicom/skyrat/interdyne //SKYRAT EDIT 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 73777a622b1..94e71306cf5 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 3f84d50b9b9..f3f3f153c6c 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -705,8 +705,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 dd11384618c..82eb2750825 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -175,6 +175,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 b30ec5bec26..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 /////OVERRIDEN IN MODULAR > BULLETREBALANCE - name =".50 bullet" - speed = 0.2 //SKYRAT EDIT: Original value (0.4) +/obj/projectile/bullet/p50 + 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 d56896b31fc..06b8040f72a 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}