From 49eaa12bb43f01f24f1df2a01ac5be835d1ded34 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Fri, 7 Mar 2025 12:49:56 -0600 Subject: [PATCH] SKS interaction tweaks and bolt-action rifle interaction fix (#89760) ## About The Pull Request The SKS was repathed to the bolt rifle subtype in order to make it not eject its entire magazine, and to make it act more like its real counterpart (e.g. you have to keep the bolt open/locked back in order to load more ammo). Also fixes the issue where bolt-actions' interaction blocking was non-functional due to being moved to a different proc, so now you need to open the bolt on bolt-actions (and now the SKS) to load ammo.) ## Why It's Good For The Game Ejecting your entire magazine on-use kind of sucked. The bolt-open-to-load thing is for funsies. ## Changelog :cl: fix: The Sakhno SKS no longer ejects its entire internal magazine upon interaction. To facilitate this, it now requires the bolt to be open like its bolt-action contemporaries in order to load ammunition. fix: You can no longer force ammunition into Sakhno precision rifles and other bolt-action-likes through a closed bolt. /:cl: --------- Co-authored-by: Hatterhat --- _maps/RandomZLevels/SnowCabin.dmm | 2 +- .../components/crafting/ranged_weapon.dm | 2 +- .../projectiles/guns/ballistic/automatic.dm | 42 -------------- .../projectiles/guns/ballistic/rifle.dm | 53 +++++++++++++++--- icons/obj/weapons/guns/wide_guns.dmi | Bin 4004 -> 4030 bytes .../Scripts/89780_sks_auto_to_sks_rifle.txt | 1 + 6 files changed, 47 insertions(+), 53 deletions(-) create mode 100644 tools/UpdatePaths/Scripts/89780_sks_auto_to_sks_rifle.txt diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 9f7f9057af6..3dc485b2572 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -2392,7 +2392,7 @@ /area/awaymission/cabin/caves) "my" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/gun/ballistic/automatic/sks/chekhov, +/obj/item/gun/ballistic/rifle/sks/chekhov, /turf/open/floor/mineral/plastitanium/red{ name = "soviet floor" }, diff --git a/code/datums/components/crafting/ranged_weapon.dm b/code/datums/components/crafting/ranged_weapon.dm index dc4a9b07ef8..3ce17b16b6f 100644 --- a/code/datums/components/crafting/ranged_weapon.dm +++ b/code/datums/components/crafting/ranged_weapon.dm @@ -430,7 +430,7 @@ /datum/crafting_recipe/sks name = "Sakhno SKS semi-automatic rifle" - result = /obj/item/gun/ballistic/automatic/sks/empty + result = /obj/item/gun/ballistic/rifle/sks/empty reqs = list( /obj/item/weaponcrafting/stock = 1, /obj/item/weaponcrafting/receiver = 1, diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index ae45e458cbe..2968e9052f8 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -318,48 +318,6 @@ return ..() -// SKS semi-automatic rifle // - -/obj/item/gun/ballistic/automatic/sks - name = "\improper Sakhno SKS semi-automatic rifle" - desc = "A revival of the ancient SKS semi-automatic rifle, redesigned to utilize .310 Strilka rounds. Produced to celebrate the \ - establishment of the Third Soviet Union in the Spinward Sector. In the wake of the union's collapse, these weapons now hold a \ - unique place in history amongst the populace of the sector. However, they are strangely rarer than the Sakhno M2442 Army. \ - Frontier settlers are known for owning one of these for hunting purposes. Or fighting off annoying tax collectors." - icon = 'icons/obj/weapons/guns/wide_guns.dmi' - icon_state = "sks" - worn_icon_state = "sks" - inhand_icon_state = "sks" - burst_size = 1 - accepted_magazine_type = /obj/item/ammo_box/magazine/internal/sks - internal_magazine = TRUE - bolt_type = BOLT_TYPE_NO_BOLT - can_suppress = FALSE - tac_reloads = FALSE - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - weapon_weight = WEAPON_HEAVY - projectile_damage_multiplier = 0.5 - fire_sound = 'sound/items/weapons/gun/rifle/shot_heavy.ogg' - fire_sound_volume = 90 - drop_sound = 'sound/items/handling/gun/ballistics/rifle/rifle_drop1.ogg' - pickup_sound = 'sound/items/handling/gun/ballistics/rifle/rifle_pickup1.ogg' - actions_types = list() - - SET_BASE_PIXEL(-8, 0) - -/obj/item/gun/ballistic/automatic/sks/add_bayonet_point() - AddComponent(/datum/component/bayonet_attachable, offset_x = 38, offset_y = 12) - -/obj/item/gun/ballistic/automatic/sks/chekhov - name = "\improper Chekhov's SKS semi-automatic rifle" - desc = "A revival of the ancient SKS semi-automatic rifle, redesigned to utilize .310 Strilka rounds. The name \ - 'Chekhov' is engraved in the side of the stock. You feel like this had some kind of significance at one point, \ - but you cannot be sure as to what that might have been. Or whether that true meaning has yet to reveal itself." - -/obj/item/gun/ballistic/automatic/sks/empty - spawn_magazine_type = /obj/item/ammo_box/magazine/internal/sks/empty - // Laser rifle (rechargeable magazine) // /obj/item/gun/ballistic/automatic/laser diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 4fbd1e43d88..753ca5bbdc9 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -16,6 +16,8 @@ drop_sound = 'sound/items/handling/gun/ballistics/rifle/rifle_drop1.ogg' pickup_sound = 'sound/items/handling/gun/ballistics/rifle/rifle_pickup1.ogg' tac_reloads = FALSE + /// Does the bolt need to be open to interact with the gun (e.g. magazine interactions)? + var/need_bolt_lock_to_interact = FALSE /obj/item/gun/ballistic/rifle/rack(mob/user = null) if (bolt_locked == FALSE) @@ -28,6 +30,13 @@ drop_bolt(user) +/obj/item/gun/ballistic/rifle/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(need_bolt_lock_to_interact && !bolt_locked && !istype(tool, /obj/item/knife)) + balloon_alert(user, "bolt closed!") + return + + return ..() + /obj/item/gun/ballistic/rifle/can_shoot() if (bolt_locked) return FALSE @@ -58,6 +67,7 @@ accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction can_be_sawn_off = TRUE weapon_weight = WEAPON_HEAVY + need_bolt_lock_to_interact = TRUE var/jamming_chance = 20 var/unjam_chance = 10 var/jamming_increment = 5 @@ -97,13 +107,6 @@ jamming_chance = clamp (jamming_chance, 0, 100) return ..() -/obj/item/gun/ballistic/rifle/boltaction/attackby(obj/item/item, mob/user, params) - if(!bolt_locked && !istype(item, /obj/item/knife)) - balloon_alert(user, "bolt closed!") - return - - . = ..() - /obj/item/gun/ballistic/rifle/boltaction/blow_up(mob/user) . = FALSE if(chambered?.loaded_projectile) @@ -406,7 +409,7 @@ 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." + It is also able to be suppressed... somehow." icon = 'icons/obj/weapons/guns/ballistic.dmi' icon_state = "sniper" lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' @@ -452,6 +455,38 @@ /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. \ + 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 + +// SKS semi-automatic rifle // + +/obj/item/gun/ballistic/rifle/sks + name = "\improper Sakhno SKS semi-automatic rifle" + desc = "A revival of the ancient SKS semi-automatic rifle, redesigned to utilize .310 Strilka rounds. Produced to celebrate the \ + establishment of the Third Soviet Union in the Spinward Sector. In the wake of the union's collapse, these weapons now hold a \ + unique place in history amongst the populace of the sector. However, they are strangely rarer than the Sakhno M2442 Army. \ + Frontier settlers are known for owning one of these for hunting purposes. Or fighting off annoying tax collectors." + icon = 'icons/obj/weapons/guns/wide_guns.dmi' + icon_state = "sks" + worn_icon_state = "sks" + inhand_icon_state = "sks" + accepted_magazine_type = /obj/item/ammo_box/magazine/internal/sks + need_bolt_lock_to_interact = TRUE + semi_auto = TRUE + slot_flags = ITEM_SLOT_BACK + projectile_damage_multiplier = 0.5 + + SET_BASE_PIXEL(-8, 0) + +/obj/item/gun/ballistic/rifle/sks/add_bayonet_point() + AddComponent(/datum/component/bayonet_attachable, offset_x = 38, offset_y = 12) + +/obj/item/gun/ballistic/rifle/sks/chekhov + name = "\improper Chekhov's SKS semi-automatic rifle" + desc = "A revival of the ancient SKS semi-automatic rifle, redesigned to utilize .310 Strilka rounds. The name \ + 'Chekhov' is engraved in the side of the stock. You feel like this had some kind of significance at one point, \ + but you cannot be sure as to what that might have been. Or whether that true meaning has yet to reveal itself." + +/obj/item/gun/ballistic/rifle/sks/empty + spawn_magazine_type = /obj/item/ammo_box/magazine/internal/sks/empty diff --git a/icons/obj/weapons/guns/wide_guns.dmi b/icons/obj/weapons/guns/wide_guns.dmi index 8327c654420611dcbe4cf9f22630daceea082494..74dc0cdae01fd7b984cf25f436e9499b5df30fa4 100644 GIT binary patch delta 3639 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 a(!-+(B*C+*^mW01D(0p(mzqpG68{6RA_2|- delta 3629 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 UWxkkQ&-rs>sB5hAQrju&KaZK@od5s; diff --git a/tools/UpdatePaths/Scripts/89780_sks_auto_to_sks_rifle.txt b/tools/UpdatePaths/Scripts/89780_sks_auto_to_sks_rifle.txt new file mode 100644 index 00000000000..215896d69c8 --- /dev/null +++ b/tools/UpdatePaths/Scripts/89780_sks_auto_to_sks_rifle.txt @@ -0,0 +1 @@ +/obj/item/gun/ballistic/automatic/sks/@SUBTYPES : /obj/item/gun/ballistic/rifle/sks/@SUBTYPES{@OLD}