From 33ca9c75826ae08dedd9fc888ae96fbde9ed6bb9 Mon Sep 17 00:00:00 2001 From: retlaw34 <58402542+retlaw34@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:20:03 -0800 Subject: [PATCH] Revolver Tweaks... more like additions, Gunslinger quirk, and more (#2761) ## About The Pull Request Oh god. What started as a simple project to fix a bug where ammo boxes acted like speedloaders and revolver safties turned into. A lot. In short: - Single action revolvers now have the hammer as a saftey. Techinically they still have none, but decocking the hammer works as one. - Double actions get a proper safety. Yayy - Cleans up some behavior related to ammo boxes. I need to fucking clean up that whole file someday. - Revolvers... should feel better to use. They no longer fast load from everything now, and are slightly faster to load than magazines - You probably saw the number of changes in revolver.dm. Yes, along with being less janky, revolvers support gate loading revolvers. This is mostly for the shadow and ashhand. Other revolvers still drop everything on unload. - You have new actions to choose from when using revovlers. Alt click to access. - Adds support to remove energy gun cells like magazines. Leftover from the branch i poached gun huds from - OH YEAH, GUN HUDS! Stolen from skyrat https://github.com/Skyrat-SS13/Skyrat-tg/pull/4333 but made much less shittier and with sprites made by azlan. This technically isn't used yet, maybe in the future. It was mostly modified to be used with revolvers, to see which chambers are loaded - The gunslinger quirk! See below. 0 points. - This "resprites" the shadow, but i'd just call it making it better proportioned compared to others. Also adds several more skins. - This fixes a fuckup with the flaming arrow as well. To elaborate on gunslinger: It gives you more recoil and spread when using SMGs, assault rifles, and LMGs, it increases accuracy with revolvers, shotguns, and lever actions, and no changes to anything else. Also, lets you fan SINGLE ACTION revolvers (HP Shadow, HP Montague, and HP Ashhand) by one handing it with nothing else in your offhand. *Slightly* faster than pistols to boot. Sound effect for moving the cyllinder is https://freesound.org/people/shelbyshark/sounds/501560/ by the way. Not from TGMC this time, suprisingly ## Why It's Good For The Game Should make friendly fire incidents involving revolvers less common, and make revolvers feel better to use. Gunslinger should be funny and encourage cowboy blorbos to be more common. ![image](https://github.com/shiptest-ss13/Shiptest/assets/58402542/86657b45-4d70-4de4-98d7-ea2c6a3dfb3e) ![image](https://github.com/shiptest-ss13/Shiptest/assets/58402542/e98249f7-3245-42de-9ce0-221a51a14a51) ## Changelog :cl: add: Gunslinger quirk! Lets you fling around a revolver like an old western! Good luck shooting anything newer, though. add: 'New' HP Shadow sprites. add: Double action revolvers have safeties now! tweak: Many revolver tweaks balance: Shadow and Ashhand are gate loaded now, and as such take longer to load. fix: Non-speedloaders now load revolvers slowly again. /:cl: --- code/__DEFINES/dcs/signals.dm | 3 + code/__DEFINES/traits.dm | 2 +- code/_globalvars/traits.dm | 2 +- code/_onclick/hud/human.dm | 3 + code/datums/traits/neutral.dm | 8 + code/modules/cargo/packs/ammo.dm | 2 +- .../boxes_magazines/_box_magazine.dm | 32 +- .../boxes_magazines/internal/_cylinder.dm | 58 ++- .../boxes_magazines/internal/_internal.dm | 4 - .../boxes_magazines/internal/revolver.dm | 4 + code/modules/projectiles/gun.dm | 16 +- code/modules/projectiles/guns/ballistic.dm | 17 +- .../projectiles/guns/ballistic/assault.dm | 16 + .../modules/projectiles/guns/ballistic/hmg.dm | 10 +- .../projectiles/guns/ballistic/revolver.dm | 425 ++++++++++++++++-- .../projectiles/guns/ballistic/shotgun.dm | 48 +- .../modules/projectiles/guns/ballistic/smg.dm | 28 +- code/modules/projectiles/guns/energy.dm | 54 ++- code/modules/projectiles/guns/gunhud.dm | 287 ++++++++++++ icons/hud/gun_hud.dmi | Bin 0 -> 2359 bytes icons/mob/radial.dmi | Bin 17999 -> 20151 bytes icons/obj/guns/48x32guns.dmi | Bin 39178 -> 44543 bytes shiptest.dme | 1 + sound/weapons/gun/laser/cs-fire.ogg | Bin 0 -> 22113 bytes sound/weapons/gun/revolver/spin_single.ogg | Bin 0 -> 5551 bytes 25 files changed, 915 insertions(+), 105 deletions(-) create mode 100644 code/modules/projectiles/guns/gunhud.dm create mode 100644 icons/hud/gun_hud.dmi create mode 100644 sound/weapons/gun/laser/cs-fire.ogg create mode 100644 sound/weapons/gun/revolver/spin_single.ogg diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index ea2585df835d2..2b8dc67cb6843 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -762,3 +762,6 @@ /// send when enabling/diabling an autofire component #define COMSIG_GUN_DISABLE_AUTOFIRE "disable_autofire" #define COMSIG_GUN_ENABLE_AUTOFIRE "enable_autofire" + +///called in /obj/item/gun/process_chamber (src) +#define COMSIG_GUN_CHAMBER_PROCESSED "gun_chamber_processed" diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index f1289d15bdbc9..72123b78268c9 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -241,7 +241,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_XENO_IMMUNE "xeno_immune"//prevents xeno huggies implanting skeletons #define TRAIT_NAIVE "naive" #define TRAIT_PRIMITIVE "primitive" -#define TRAIT_GUNFLIP "gunflip" +#define TRAIT_GUNSLINGER "gunslinger" #define TRAIT_SPECIAL_TRAUMA_BOOST "special_trauma_boost" ///Increases chance of getting special traumas, makes them harder to cure #define TRAIT_BLOODCRAWL_EAT "bloodcrawl_eat" #define TRAIT_SPACEWALK "spacewalk" diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index c91b96db8de90..dbc3607129f4e 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -110,7 +110,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_NAIVE" = TRAIT_NAIVE, "TRAIT_PRIMITIVE" = TRAIT_PRIMITIVE, //unable to use mechs. Given to Ash Walkers - "TRAIT_GUNFLIP" = TRAIT_GUNFLIP, + "TRAIT_GUNSLINGER" = TRAIT_GUNSLINGER, "TRAIT_SPECIAL_TRAUMA_BOOST" = TRAIT_SPECIAL_TRAUMA_BOOST, "TRAIT_BLOODCRAWL_EAT" = TRAIT_BLOODCRAWL_EAT, "TRAIT_SPACEWALK" = TRAIT_SPACEWALK, diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 379feecb3be0a..0833d606927f0 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -351,6 +351,9 @@ combo_display = new /atom/movable/screen/combo() infodisplay += combo_display + ammo_counter = new /atom/movable/screen/ammo_counter(null, src) + infodisplay += ammo_counter + for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) inv.hud = src diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index b92a3d137dc9c..eb53db8519c4a 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -226,3 +226,11 @@ SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "bad_hair_day", /datum/mood_event/bald) +/datum/quirk/gunslinger + name = "Gunslinger" + desc = "You are one of the fastest guns in the frontier. Those new-fangled and complicated firearms don't suit you; pistols and semi-automatic rifles suit you better, but revolvers in particular were made for you. You can fan single action revolvers, flip any revolver, and have mastery of the greatest handgun ever made. NOT RECOMENDED FOR BEGINNERS. ADVANCED PLAYERS ONLY." + value = 0 + gain_text = "The HP Shadow is greatest handgun ever made." + lose_text = "...Who the hell would use such antiquated weapons in this year?" + medical_record_text = "Patient always has their hand around their holster." + mob_traits = list(TRAIT_GUNSLINGER) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 9138e47035e0f..ffd662a0425e4 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -20,7 +20,7 @@ /datum/supply_pack/ammo/m45_speedloader name = ".45 ACP Speedloader Crate" - desc = "Contains a .45 ACP speedloader for revolvers, containing six rounds." + desc = "Contains a .45 ACP speedloader for the HP Montagne, containing six rounds." contains = list(/obj/item/ammo_box/c45_speedloader) cost = 400 diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 6b04646697e22..e5df30533e35f 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -1,3 +1,5 @@ +//TODO: make this code more readable. weird var names, convoluted logic, etc + //Boxes of ammo /obj/item/ammo_box name = "ammo box (null_reference_exception)" @@ -61,7 +63,7 @@ return b ///puts a round into the magazine -/obj/item/ammo_box/proc/give_round(obj/item/ammo_casing/R, replace_spent = 0) +/obj/item/ammo_box/proc/give_round(obj/item/ammo_casing/R, replace_spent = FALSE) // Boxes don't have a caliber type, magazines do. Not sure if it's intended or not, but if we fail to find a caliber, then we fall back to ammo_type. if(!R || (caliber && R.caliber != caliber) || (!caliber && R.type != ammo_type)) return FALSE @@ -87,31 +89,31 @@ /obj/item/ammo_box/proc/can_load(mob/user) return TRUE -/obj/item/ammo_box/attackby(obj/item/A, mob/user, params, silent = FALSE, replace_spent = 0) +/obj/item/ammo_box/attackby(obj/item/attacking_obj, mob/user, params, silent = FALSE, replace_spent = FALSE) var/num_loaded = 0 if(!can_load(user)) return - if(istype(A, /obj/item/ammo_box)) - var/obj/item/ammo_box/AM = A - for(var/obj/item/ammo_casing/AC in AM.stored_ammo) - if(!((instant_load && AM.instant_load) || (stored_ammo.len >= max_ammo) || do_after_mob(user, list(AM), 1 SECONDS,))) + if(istype(attacking_obj, /obj/item/ammo_box)) + var/obj/item/ammo_box/attacking_box = attacking_obj + for(var/obj/item/ammo_casing/casing_to_insert in attacking_box.stored_ammo) + if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || do_after_mob(user, list(attacking_box), 1 SECONDS))) break - var/did_load = give_round(AC, replace_spent) + var/did_load = give_round(casing_to_insert, replace_spent) if(!did_load) break - AM.stored_ammo -= AC + attacking_box.stored_ammo -= casing_to_insert if(!silent) - playsound(get_turf(AM), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use AM + playsound(get_turf(attacking_box), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use attacking_box num_loaded++ - A.update_appearance() + attacking_obj.update_appearance() update_appearance() - if(istype(A, /obj/item/ammo_casing)) - var/obj/item/ammo_casing/AC = A - if(give_round(AC, replace_spent)) - user.transferItemToLoc(AC, src, TRUE) + if(istype(attacking_obj, /obj/item/ammo_casing)) + var/obj/item/ammo_casing/casing_to_insert = attacking_obj + if(give_round(casing_to_insert, replace_spent)) + user.transferItemToLoc(casing_to_insert, src, TRUE) if(!silent) - playsound(AC, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + playsound(casing_to_insert, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) num_loaded++ update_appearance() diff --git a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm index e0314f5decd25..160e1bd5066db 100644 --- a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm +++ b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm @@ -5,8 +5,8 @@ max_ammo = 7 instant_load = TRUE -/obj/item/ammo_box/magazine/internal/cylinder/get_round(keep = 0) - rotate() +/obj/item/ammo_box/magazine/internal/cylinder/get_round(keep = FALSE, counter_clockwise = FALSE) + rotate(counter_clockwise) var/b = stored_ammo[1] if(!keep) @@ -14,10 +14,16 @@ return b -/obj/item/ammo_box/magazine/internal/cylinder/proc/rotate() - var/b = stored_ammo[1] - stored_ammo.Cut(1,2) - stored_ammo.Insert(0, b) +/obj/item/ammo_box/magazine/internal/cylinder/proc/rotate(counter_clockwise = FALSE) + var/b + if(!counter_clockwise) + b = stored_ammo[1] + stored_ammo.Cut(1,2) + stored_ammo.Insert(0, b) + else + b = stored_ammo[max_ammo] + stored_ammo.Cut(max_ammo,max_ammo+1) + stored_ammo.Insert(1, b) /obj/item/ammo_box/magazine/internal/cylinder/proc/spin() for(var/i in 1 to rand(0, max_ammo*2)) @@ -31,6 +37,8 @@ L.Add(bullet) if(drop_list)//We have to maintain the list size, to emulate a cylinder stored_ammo[i] = null + else + L.Add(null) return L /obj/item/ammo_box/magazine/internal/cylinder/give_round(obj/item/ammo_casing/R, replace_spent = 0) @@ -48,3 +56,41 @@ return TRUE return FALSE + +/obj/item/ammo_box/magazine/internal/cylinder/attackby(obj/item/attacking_obj, mob/user, params, silent = FALSE, replace_spent = FALSE) + var/num_loaded = 0 + if(!can_load(user)) + return + if(istype(attacking_obj, /obj/item/ammo_box)) + var/obj/item/ammo_box/attacking_box = attacking_obj + var/list/ammo_list_no_empty = ammo_list(FALSE) + listclearnulls(ammo_list_no_empty) + for(var/obj/item/ammo_casing/casing_to_insert in attacking_box.stored_ammo) + if(!((instant_load && attacking_box.instant_load) || (ammo_list_no_empty.len >= max_ammo) || do_after_mob(user, list(attacking_box), 1 SECONDS))) //stupid work around for revolvers + break + var/did_load = give_round(casing_to_insert, replace_spent) + if(!did_load) + break + attacking_box.stored_ammo -= casing_to_insert + if(!silent) + playsound(get_turf(attacking_box), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use attacking_box + num_loaded++ + ammo_list_no_empty = ammo_list(FALSE) + listclearnulls(ammo_list_no_empty) + attacking_obj.update_appearance() + update_appearance() + + if(istype(attacking_obj, /obj/item/ammo_casing)) + var/obj/item/ammo_casing/casing_to_insert = attacking_obj + if(give_round(casing_to_insert, replace_spent)) + user.transferItemToLoc(casing_to_insert, src, TRUE) + if(!silent) + playsound(casing_to_insert, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + num_loaded++ + update_appearance() + + + if(num_loaded) + if(!silent) + to_chat(user, "You load [num_loaded] cartridge\s into \the [src]!") + return num_loaded diff --git a/code/modules/projectiles/boxes_magazines/internal/_internal.dm b/code/modules/projectiles/boxes_magazines/internal/_internal.dm index c14e66af82cf3..1f9b6fcdae3a7 100644 --- a/code/modules/projectiles/boxes_magazines/internal/_internal.dm +++ b/code/modules/projectiles/boxes_magazines/internal/_internal.dm @@ -2,7 +2,3 @@ desc = "Oh god, this shouldn't be here" flags_1 = CONDUCT_1 item_flags = ABSTRACT - -//internals magazines are accessible, so replace spent ammo if full when trying to put a live one in -/obj/item/ammo_box/magazine/internal/give_round(obj/item/ammo_casing/R) - return ..(R,1) diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 0c3bdac1be369..43748f7afe7bf 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -35,4 +35,8 @@ ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" max_ammo = 6 + instant_load = FALSE + +/obj/item/ammo_box/magazine/internal/cylinder/rev45/montagne + name = "montagne revolver cylinder" instant_load = TRUE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f6470af9a8466..e9354e68d9d44 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -134,6 +134,9 @@ ///If the saftey on? If so, we can't fire the weapon var/safety = FALSE + ///The wording of safety. Useful for guns that have a non-standard safety system, like a revolver + var/safety_wording = "safety" + /obj/item/gun/Initialize() . = ..() RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) @@ -237,6 +240,7 @@ //called after the gun has successfully fired its chambered ammo. /obj/item/gun/proc/process_chamber() + SEND_SIGNAL(src, COMSIG_GUN_CHAMBER_PROCESSED) return FALSE //check if there's enough ammo/energy/whatever to shoot one time @@ -260,9 +264,9 @@ if(muzzle_flash && !muzzle_flash.applied) handle_muzzle_flash(user, muzzle_angle) - if(wielded_fully && recoil) + if(wielded_fully) simulate_recoil(user, recoil, actual_angle) - else if(!wielded_fully && recoil_unwielded) + else if(!wielded_fully) simulate_recoil(user, recoil_unwielded, actual_angle) if(suppressed) @@ -540,8 +544,8 @@ if(!silent) playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE) user.visible_message( - span_notice("[user] turns the safety on [src] [safety ? "ON" : "OFF"]."), - span_notice("You turn the safety on [src] [safety ? "ON" : "OFF"]."), + span_notice("[user] turns the [safety_wording] on [src] [safety ? "ON" : "OFF"]."), + span_notice("You turn the [safety_wording] on [src] [safety ? "ON" : "OFF"]."), ) update_appearance() @@ -735,9 +739,9 @@ var/mutable_appearance/safety_overlay safety_overlay = mutable_appearance('icons/obj/guns/safety.dmi') if(safety) - safety_overlay.icon_state = "safety-on" + safety_overlay.icon_state = "[safety_wording]-on" else - safety_overlay.icon_state = "safety-off" + safety_overlay.icon_state = "[safety_wording]-off" . += safety_overlay /obj/item/gun/proc/handle_suicide(mob/living/carbon/human/user, mob/living/carbon/human/target, params, bypass_timer) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index be6811bda2e96..f2cb9504dde76 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -88,7 +88,6 @@ var/recent_rack = 0 ///Whether the gun can be sawn off by sawing tools var/can_be_sawn_off = FALSE - var/flip_cooldown = 0 ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it var/tac_reloads = TRUE //Snowflake mechanic no more. @@ -157,6 +156,7 @@ chambered = null if (chamber_next_round && (magazine?.max_ammo > 1)) chamber_round() + SEND_SIGNAL(src, COMSIG_GUN_CHAMBER_PROCESSED) ///Used to chamber a new round and eject the old one /obj/item/gun/ballistic/proc/chamber_round(keep_bullet = FALSE) @@ -269,7 +269,7 @@ if (chambered && !chambered.BB) chambered.on_eject() chambered = null - var/num_loaded = magazine.attackby(A, user, params, TRUE) + var/num_loaded = magazine.attackby(A, user, params) if (num_loaded) to_chat(user, "You load [num_loaded] [cartridge_wording]\s into \the [src].") playsound(src, load_sound, load_sound_volume, load_sound_vary) @@ -359,19 +359,6 @@ return ..() /obj/item/gun/ballistic/unique_action(mob/living/user) - if(HAS_TRAIT(user, TRAIT_GUNFLIP)) - if(flip_cooldown <= world.time) - if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) - to_chat(user, "While trying to flip the [src] you pull the trigger and accidently shoot yourself!") - var/flip_mistake = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST) - process_fire(user, user, FALSE, flip_mistake) - user.dropItemToGround(src, TRUE) - return - flip_cooldown = (world.time + 30) - SpinAnimation(7,1) - user.visible_message("[user] spins the [src] around their finger by the trigger. That’s pretty badass.") - playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) - return if(bolt_type == BOLT_TYPE_NO_BOLT) chambered = null var/num_unloaded = 0 diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 565a0e20a0cdb..087d0e425402a 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -14,6 +14,22 @@ rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' spread_unwielded = 20 +/obj/item/gun/ballistic/automatic/assault/calculate_recoil(mob/user, recoil_bonus = 0) + var/gunslinger_bonus = 2 + var/total_recoil = recoil_bonus + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_recoil += gunslinger_bonus + total_recoil = clamp(total_recoil,0,INFINITY) + return total_recoil + +/obj/item/gun/ballistic/automatic/assault/calculate_spread(mob/user, bonus_spread) + var/gunslinger_bonus = 8 + var/total_spread = bonus_spread + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_spread += gunslinger_bonus + total_spread = clamp(total_spread,0,INFINITY) + return total_spread + /obj/item/gun/ballistic/automatic/assault/skm name = "\improper SKM-24" desc = "An obsolete model of assault rifle once used by CLIP. Legendary for its durability and low cost, surplus rifles are commonplace on the Frontier, and the design has been widely copied. Chambered in 7.62x40mm CLIP." diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index 6efc37761eeb7..3bd143e98b436 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -114,17 +114,23 @@ retract_bipod(user=user) /obj/item/gun/ballistic/automatic/hmg/calculate_recoil(mob/user, recoil_bonus = 0) + var/gunslinger_bonus = 1 var/total_recoil = recoil_bonus if(bipod_deployed) total_recoil += deploy_recoil_bonus - total_recoil = clamp(total_recoil,0,INFINITY) + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_recoil += gunslinger_bonus + total_recoil = clamp(total_recoil,0,INFINITY) return total_recoil /obj/item/gun/ballistic/automatic/hmg/calculate_spread(mob/user, bonus_spread) + var/gunslinger_bonus = 4 var/total_spread = bonus_spread if(bipod_deployed) total_spread += deploy_spread_bonus - total_spread = clamp(total_spread,0,INFINITY) + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_spread += gunslinger_bonus + total_spread = clamp(total_spread,0,INFINITY) return total_spread diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 4047f54590bb4..abbf62543f906 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -1,3 +1,11 @@ +#define REVOLVER_ROTATE_LEFT "rotate chamber left" +#define REVOLVER_ROTATE_RIGHT "rotate chamber right" +#define REVOLVER_AUTO_ROTATE_RIGHT_LOADING "auto rotate right when loading ammo" +#define REVOLVER_AUTO_ROTATE_LEFT_LOADING "auto rotate left when loading ammo" +#define REVOLVER_EJECT_CURRENT "eject current bullet" +#define REVOLVER_EJECT_ALL "auto eject all bullets" +#define REVOLVER_FLIP "flip the revolver by the trigger" + /obj/item/gun/ballistic/revolver name = "\improper .357 revolver" desc = "A weighty revolver with a Scarborough Arms logo engraved on the barrel. Uses .357 ammo." //usually used by syndicates @@ -20,30 +28,47 @@ fire_delay = 2 spread_unwielded = 15 recoil = 0.5 - recoil_unwielded = 1 + recoil_unwielded = 2 semi_auto = FALSE bolt_wording = "hammer" + dry_fire_sound = 'sound/weapons/gun/general/bolt_drop.ogg' + dry_fire_text = "snap" wield_slowdown = 0.3 - has_safety = FALSE //irl revolvers dont have safetys. i think. maybe - safety = FALSE + safety_wording = "hammer" + + var/gate_loaded = FALSE //for stupid wild west shit + var/gate_offset = 5 //for wild west shit 2: instead of ejecting the chambered round, eject the next round if 1 + var/gate_load_direction = REVOLVER_AUTO_ROTATE_RIGHT_LOADING //when we load ammo with a box, which direction do we rotate the cylinder? unused with normal revolvers + + COOLDOWN_DECLARE(flip_cooldown) /obj/item/gun/ballistic/revolver/examine(mob/user) . = ..() . += "You can use the revolver with your other empty hand to empty the cylinder." +/obj/item/gun/ballistic/revolver/update_overlays() + . = ..() + if(semi_auto) + return + if(current_skin) + . += "[unique_reskin[current_skin]][safety ? "_hammer_up" : "_hammer_down"]" + else + . += "[base_icon_state || initial(icon_state)][safety ? "_hammer_up" : "_hammer_down"]" + + +/obj/item/gun/ballistic/revolver/process_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE) + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) + return ..() + /obj/item/gun/ballistic/revolver/attack_hand(mob/user) if(loc == user && user.is_holding(src)) - chambered = null - var/num_unloaded = 0 - for(var/obj/item/ammo_casing/CB in get_ammo_list(FALSE, TRUE)) - CB.forceMove(drop_location()) - CB.bounce_away(FALSE, NONE) - num_unloaded++ - SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name) + var/num_unloaded = unload_all_ammo(user) if (num_unloaded) to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].") - playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + if(!gate_loaded) + playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) update_appearance() return else @@ -51,28 +76,267 @@ else return ..() +/obj/item/gun/ballistic/revolver/proc/unload_all_ammo(mob/living/user) + var/num_unloaded = 0 + + if(!gate_loaded) //"normal" revolvers + for(var/obj/item/ammo_casing/casing_to_eject in get_ammo_list(FALSE, TRUE)) + if(!casing_to_eject) + continue + casing_to_eject.forceMove(drop_location()) + casing_to_eject.bounce_away(FALSE, NONE) + num_unloaded++ + SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_to_eject.name) + chamber_round(FALSE) + return num_unloaded + else + var/num_to_unload = magazine.max_ammo + if(!get_ammo_list(FALSE)) + return num_unloaded + + for(var/i in 1 to num_to_unload) + var/doafter_time = 0.4 SECONDS + if(!do_mob(user,user,doafter_time)) + break + if(!eject_casing()) + doafter_time = 0 SECONDS + else + num_unloaded++ + if(!do_mob(user,user,doafter_time)) + break + chamber_round(TRUE, TRUE) + + if (num_unloaded) + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) + update_appearance() + return num_unloaded + +/obj/item/gun/ballistic/revolver/proc/eject_casing(mob/living/user, obj/item/ammo_casing/casing_to_eject, casing_index) + var/list/rounds = magazine.ammo_list() + if(!casing_to_eject) + casing_to_eject = rounds[gate_offset+1] //byond arrays start at 1, so we add 1 to get the correct index + if(!casing_to_eject) //if theres STILL nothing, we cancel this + if(user) + to_chat(user, "There's nothing in the gate to eject from [src]!") + return FALSE + playsound(src, eject_sound, eject_sound_volume, eject_sound_vary) + casing_to_eject.forceMove(drop_location()) + casing_to_eject.bounce_away(FALSE, NONE) + SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_to_eject.name) + if(!gate_loaded) + magazine.stored_ammo[casing_index] = null + chamber_round(FALSE) + else + magazine.stored_ammo[gate_offset+1] = null + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) + update_appearance() + + + if(user) + to_chat(user, "You eject the [cartridge_wording] from [src].") + return TRUE + +/obj/item/gun/ballistic/revolver/proc/insert_casing(mob/living/user, obj/item/ammo_casing/casing_to_insert, allow_ejection) + if(!casing_to_insert) + return FALSE + var/list/rounds = magazine.ammo_list() + var/obj/item/ammo_casing/slot = rounds[gate_offset+1] //byond arrays start at 1, so we add 1 to get the correct index + var/doafter_time = 0.4 SECONDS + if(!gate_loaded) //"normal" revolvers + for(var/i in 1 to magazine.stored_ammo.len) + var/obj/item/ammo_casing/casing_to_eject = magazine.stored_ammo[i] + if(casing_to_eject) + if(!casing_to_eject.BB && allow_ejection) + eject_casing(user, casing_to_eject, i) + + casing_to_eject = magazine.stored_ammo[i] //check again + if(casing_to_eject) + continue + else + magazine.stored_ammo[i] = casing_to_insert + casing_to_insert.forceMove(magazine) + chamber_round(FALSE) + break + else + if(slot) + if(!slot.BB && allow_ejection) + if(do_mob(user,user,doafter_time)) + eject_casing(user) + + rounds = magazine.ammo_list() + slot = rounds[gate_offset+1] //check again + if(slot) + to_chat(user, "There's already a casing in the gate of [src]!") + return FALSE + + magazine.stored_ammo[gate_offset+1] = casing_to_insert + casing_to_insert.forceMove(magazine) + + playsound(src, load_sound, load_sound_volume, load_sound_vary) + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) + update_appearance() + if(user) + to_chat(user, "You load the [cartridge_wording] into [src].") + return TRUE + + + +/obj/item/gun/ballistic/revolver/attackby(obj/item/attacking_obj, mob/user, params) + if (istype(attacking_obj, /obj/item/ammo_casing) || istype(attacking_obj, /obj/item/ammo_box)) + if(istype(attacking_obj, /obj/item/ammo_casing)) + insert_casing(user, attacking_obj, TRUE) + else + var/obj/item/ammo_box/attacking_box = attacking_obj + var/num_loaded = 0 + var/num_to_load = magazine.max_ammo + var/list/ammo_list_no_empty = get_ammo_list(FALSE) + listclearnulls(ammo_list_no_empty) + + if(ammo_list_no_empty.len >= num_to_load) + to_chat(user, "There's no empty space in [src]!") + return TRUE + + if(!gate_loaded) //"normal" revolvers + var/i = 0 + for(var/obj/item/ammo_casing/casing_to_insert in attacking_box.stored_ammo) + if(!casing_to_insert || (magazine.caliber && casing_to_insert.caliber != magazine.caliber) || (!magazine.caliber && casing_to_insert.type != magazine.ammo_type)) + break + var/doafter_time = 0.8 SECONDS + if(magazine.instant_load && attacking_box.instant_load) + doafter_time = 0 SECONDS + if(!do_mob(user,user,doafter_time)) + break + if(!insert_casing(user, casing_to_insert, FALSE)) + break + else + num_loaded++ + attacking_box.update_appearance() + attacking_box.stored_ammo -= casing_to_insert + i++ + if(i >= num_to_load) + break + else + var/i = 0 + for(var/obj/item/ammo_casing/casing_to_insert in attacking_box.stored_ammo) + if(!casing_to_insert || (magazine.caliber && casing_to_insert.caliber != magazine.caliber) || (!magazine.caliber && casing_to_insert.type != magazine.ammo_type)) + break + var/doafter_time = 0.4 SECONDS + if(!do_mob(user,user,doafter_time)) + break + if(!insert_casing(null, casing_to_insert, FALSE)) + doafter_time = 0 SECONDS + else + num_loaded++ + attacking_box.update_appearance() + attacking_box.stored_ammo -= casing_to_insert + if(!do_mob(user,user,doafter_time)) + break + switch(gate_load_direction) + if(REVOLVER_AUTO_ROTATE_RIGHT_LOADING) + chamber_round(TRUE) + if(REVOLVER_AUTO_ROTATE_LEFT_LOADING) + chamber_round(TRUE, TRUE) + i++ + if(i >= num_to_load) + break + + if(num_loaded) + to_chat(user, "You load [num_loaded] [cartridge_wording]\s into [src].") + attacking_box.update_appearance() + update_appearance() + return TRUE + else + return ..() /obj/item/gun/ballistic/revolver/unique_action(mob/living/user) rack(user) return ///updates a bunch of racking related stuff and also handles the sound effects and the like -/obj/item/gun/ballistic/revolver/rack(mob/user = null) - if(user) +/obj/item/gun/ballistic/revolver/rack(mob/user = null, toggle_hammer = TRUE) + if(user && !semi_auto) + if(safety && toggle_hammer) + toggle_safety(user, FALSE, FALSE) + else if(toggle_hammer) + to_chat(user, "The [safety_wording] is already [safety ? "UP" : "DOWN"]! Use Ctrl-Click to disengage the [safety_wording]!") + return + else if(!semi_auto) + if(safety && toggle_hammer) + toggle_safety(null, FALSE, FALSE) + else if (toggle_hammer) + return + if(user && semi_auto) to_chat(user, "You rack the [bolt_wording] of \the [src].") + playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + chamber_round(TRUE) - playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + //playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) update_appearance() -/obj/item/gun/ballistic/revolver/chamber_round(spin_cylinder = TRUE) +/obj/item/gun/ballistic/revolver/chamber_round(spin_cylinder = TRUE, counter_clockwise = FALSE) if(spin_cylinder) - chambered = magazine.get_round(TRUE) + chambered = magazine.get_round(TRUE, counter_clockwise) + playsound(src, 'sound/weapons/gun/revolver/spin_single.ogg', 100, FALSE) else chambered = magazine.stored_ammo[1] + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) /obj/item/gun/ballistic/revolver/AltClick(mob/user) - ..() - spin() + if (unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) + return ..() + + var/chamber_options = list( + REVOLVER_ROTATE_LEFT = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_left"), + REVOLVER_ROTATE_RIGHT = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_right"), + REVOLVER_AUTO_ROTATE_LEFT_LOADING = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_auto_left"), + REVOLVER_EJECT_ALL = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_eject_all"), + REVOLVER_EJECT_CURRENT = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_eject_one"), + REVOLVER_AUTO_ROTATE_RIGHT_LOADING = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_auto_right"), + REVOLVER_FLIP = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_revolver_flip"), + ) + + var/image/editing_image = chamber_options[gate_load_direction] + editing_image.icon_state = "radial_revolver_auto_[gate_load_direction == REVOLVER_AUTO_ROTATE_RIGHT_LOADING ? "right":"left"]_on" + + if(!HAS_TRAIT(user, TRAIT_GUNSLINGER)) //only gunslingers are allowed to flip + chamber_options -= REVOLVER_FLIP + + if(!gate_loaded) //these are completely redundant if you can reload everything with a speedloader + chamber_options -= REVOLVER_AUTO_ROTATE_LEFT_LOADING + chamber_options -= REVOLVER_AUTO_ROTATE_RIGHT_LOADING + chamber_options -= REVOLVER_EJECT_CURRENT + + + var/pick = show_radial_menu(user, src, chamber_options, custom_check = CALLBACK(src, PROC_REF(can_use_radial), user), require_near = TRUE) + switch(pick) + if(REVOLVER_ROTATE_LEFT) + chamber_round(TRUE, TRUE) + if(REVOLVER_ROTATE_RIGHT) + chamber_round(TRUE) + if(REVOLVER_AUTO_ROTATE_RIGHT_LOADING) + gate_load_direction = REVOLVER_AUTO_ROTATE_RIGHT_LOADING + if(REVOLVER_AUTO_ROTATE_LEFT_LOADING) + gate_load_direction = REVOLVER_AUTO_ROTATE_LEFT_LOADING + if(REVOLVER_EJECT_ALL) + unload_all_ammo(user) + return + if(REVOLVER_EJECT_CURRENT) + eject_casing(user) + if(REVOLVER_FLIP) + tryflip(user) + if(null) + return + AltClick(user) + +/obj/item/gun/ballistic/revolver/proc/can_use_radial(mob/user) + if(QDELETED(src)) + return FALSE + if(!istype(user)) + return FALSE + if(user.incapacitated()) + return FALSE + return TRUE /obj/item/gun/ballistic/revolver/verb/spin() set name = "Spin Chamber" @@ -109,6 +373,24 @@ boolets += magazine.ammo_count(countempties) return boolets +/obj/item/gun/ballistic/revolver/toggle_safety(mob/user, silent=FALSE, rack_gun=TRUE) + if(semi_auto)//apogee said double actions should have normal safeties, so... + return ..() + safety = !safety + + if(!silent) + playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + if(user) + user.visible_message( + span_notice("[user] pulls the [safety_wording] on [src] [safety ? "UP" : "DOWN"]."), + span_notice("You pull the [safety_wording] on [src] [safety ? "UP" : "DOWN"]."), + ) + + update_appearance() + + if(rack_gun) + rack(toggle_hammer= FALSE) + /obj/item/gun/ballistic/revolver/examine(mob/user) . = ..() var/live_ammo = get_ammo(FALSE, FALSE) @@ -116,6 +398,64 @@ if (current_skin) . += "It can be spun with alt+click" +/obj/item/gun/ballistic/revolver/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) + var/fan = FALSE + if(HAS_TRAIT(user, TRAIT_GUNSLINGER) && !semi_auto && !wielded && loc == user && !safety && !user.get_inactive_held_item()) + fan = TRUE + . = ..() + if(fan) + rack() + to_chat(user, "You fan the [bolt_wording] of \the [src]!") + user.changeNext_move(CLICK_CD_RAPID) + +/obj/item/gun/ballistic/revolver/shoot_live_shot(mob/living/user, pointblank, atom/pbtarget, message) + . = ..() + if(!semi_auto) + toggle_safety(silent = TRUE, rack_gun = FALSE) + +/obj/item/gun/ballistic/revolver/shoot_with_empty_chamber(mob/living/user as mob|obj) + if(!safety) + to_chat(user, "*[dry_fire_text]*") + playsound(src, dry_fire_sound, 30, TRUE) + if(!semi_auto) + toggle_safety(silent = TRUE, rack_gun = FALSE) + return + to_chat(user, "The hammer is up on [src]! Pull it down to fire!") + +/obj/item/gun/ballistic/revolver/calculate_recoil(mob/user, recoil_bonus = 0) + var/gunslinger_bonus = -1 + var/total_recoil = recoil_bonus + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger bonus + total_recoil += gunslinger_bonus + total_recoil = clamp(total_recoil,0,INFINITY) + return total_recoil + +/obj/item/gun/ballistic/revolver/calculate_spread(mob/user, bonus_spread) + var/gunslinger_bonus = -4 + var/total_spread = bonus_spread + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger bonus + total_spread += gunslinger_bonus + total_spread = clamp(total_spread,0,INFINITY) + return total_spread + +/obj/item/gun/ballistic/revolver/pickup(mob/user) + . = ..() + tryflip(user) + +/obj/item/gun/ballistic/revolver/proc/tryflip(mob/living/user) + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) + if(COOLDOWN_FINISHED(src, flip_cooldown)) + if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) + to_chat(user, "While trying to flip the [src] you pull the trigger and accidently shoot yourself!") + var/flip_mistake = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST) + process_fire(user, user, FALSE, flip_mistake) + user.dropItemToGround(src, TRUE) + return + COOLDOWN_START(src, flip_cooldown, 0.3 SECONDS) + SpinAnimation(5,1) + user.visible_message("[user] spins the [src] around their finger by the trigger. That’s pretty badass.") + playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) + return /obj/item/gun/ballistic/revolver/detective name = "\improper HP Detective Special" desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." @@ -123,6 +463,8 @@ icon_state = "detective" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 obj_flags = UNIQUE_RENAME + semi_auto = TRUE //double action + safety_wording = "safety" unique_reskin = list("Default" = "detective", "Stainless Steel" = "detective_stainless", "Gold Trim" = "detective_gold", @@ -132,7 +474,11 @@ ) manufacturer = MANUFACTURER_HUNTERSPRIDE - recoil = 0 //weaker than normal revovler, no recoil + recoil = 0 //weaker than normal revolver, no recoil + +/obj/item/gun/ballistic/revolver/detective/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) //note that the hud at the moment only supports 6 round revolvers, 7 or 5 isn't supported rn /obj/item/gun/ballistic/revolver/detective/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(magazine.caliber != initial(magazine.caliber)) @@ -185,6 +531,7 @@ icon_state = "mateba" manufacturer = MANUFACTURER_NONE semi_auto = TRUE + safety_wording = "safety" spread = 0 spread_unwielded = 7 @@ -199,15 +546,18 @@ /obj/item/gun/ballistic/revolver/montagne name = "\improper HP Montagne" - desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .38 Special." + desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .45." icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "montagne" manufacturer = MANUFACTURER_HUNTERSPRIDE - spread_unwielded = 12 + spread_unwielded = 15 recoil = 0 - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38/big + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45/montagne +/obj/item/gun/ballistic/revolver/montagne/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) /obj/item/gun/ballistic/revolver/ashhand name = "HP Ashhand" @@ -217,15 +567,20 @@ mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' manufacturer = MANUFACTURER_HUNTERSPRIDE + gate_loaded = TRUE wield_slowdown = 0.5 spread_unwielded = 5 spread = 2 recoil = 2 - recoil_unwielded = 3 + recoil_unwielded = 4 // A gun to play Russian Roulette! // You can spin the chamber to randomize the position of the bullet. +/obj/item/gun/ballistic/revolver/ashhand/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + /obj/item/gun/ballistic/revolver/russian name = "\improper Russian revolver" desc = "A Solarian revolver for particularly lethal drinking games. It has a mechanism requiring you to spin the chamber before each trigger pull. Uses .357 ammo." @@ -338,6 +693,7 @@ spread_unwielded = 50 fire_delay = 0 semi_auto = TRUE + safety_wording = "safety" /obj/item/gun/ballistic/revolver/shadow name = "\improper HP Shadow" @@ -348,9 +704,26 @@ mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 manufacturer = MANUFACTURER_HUNTERSPRIDE obj_flags = UNIQUE_RENAME - unique_reskin = list("Default" = "shadow", + gate_loaded = TRUE + unique_reskin = list("Shadow" = "shadow", "Army" = "shadow_army", - "General" = "shadow_general" + "General" = "shadow_general", + "Frontier Scout" = "shadow_frontier", + "Nanotrasen Special" = "shadow_nanotrasen", + "Hired Gun" = "shadow_hiredgun", + "Buntline" = "shadow_buntline", + "Cavalry Special" = "shadow_cavalry" ) - recoil = 0 //weaker than normal revovler, no recoil + recoil = 0 //weaker than normal revolver, no recoil + +/obj/item/gun/ballistic/revolver/shadow/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +/obj/item/gun/ballistic/revolver/shadow/before_firing(atom/target, mob/user) + . = ..() + // if you go through the pain of not only using this shitty gun, but also with the fucking gunslinger quirk, you deserve this bonus. not a BIG bonus, but enough as an incentive to make people actually take the quirk. + if(chambered.BB && (HAS_TRAIT(user, TRAIT_GUNSLINGER))) + chambered.BB.damage += 5 + chambered.armour_penetration += 5 diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 815dde789f36e..c27c7b9e0403f 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -1,5 +1,6 @@ /obj/item/gun/ballistic/shotgun name = "shotgun" + desc = "You feel as if you should make a 'adminhelp' if you see one of these, along with a 'github' report. You don't really understand what this means though." item_state = "shotgun" fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' vary_fire_sound = FALSE @@ -41,6 +42,14 @@ return TRUE return FALSE +/obj/item/gun/ballistic/shotgun/calculate_recoil(mob/user, recoil_bonus = 0) + var/gunslinger_bonus = -1 + var/total_recoil = recoil_bonus + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger bonus + total_recoil += gunslinger_bonus + total_recoil = clamp(total_recoil,0,INFINITY) + return total_recoil + // BRIMSTONE SHOTGUN // /obj/item/gun/ballistic/shotgun/brimstone @@ -609,18 +618,6 @@ recoil = 0 recoil_unwielded = 2 -//sawn off - weapon_weight = WEAPON_MEDIUM - - wield_slowdown = 0.25 - wield_delay = 0.2 SECONDS //THE COWBOY RIFLE - - spread = 4 - spread_unwielded = 12 - - recoil = 1 - recoil_unwielded = 2 - /obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() . = ..() if(current_skin) @@ -629,6 +626,31 @@ icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" +/obj/item/gun/ballistic/shotgun/flamingarrow/rack(mob/user = null) + . = ..() + if(!wielded) + SpinAnimation(7,1) + + +/obj/item/gun/ballistic/shotgun/flamingarrow/sawoff(mob/user) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 7 + + item_state = "flamingarrow_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = 0.25 + wield_delay = 0.2 SECONDS //THE COWBOY RIFLE + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + /obj/item/gun/ballistic/shotgun/flamingarrow/factory desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38." icon_state = "flamingarrow_factory" @@ -639,6 +661,7 @@ . = ..() if(.) item_state = "flamingarrow_factory_sawn" + mob_overlay_state = item_state /obj/item/gun/ballistic/shotgun/flamingarrow/bolt name = "HP Flaming Bolt" @@ -651,6 +674,7 @@ . = ..() if(.) item_state = "flamingbolt_sawn" + mob_overlay_state = item_state //Elephant Gun /obj/item/gun/ballistic/shotgun/doublebarrel/twobore diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 2d4e72ae87365..4f251d80068fb 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -15,6 +15,22 @@ eject_sound = 'sound/weapons/gun/smg/smg_unload.ogg' eject_empty_sound = 'sound/weapons/gun/smg/smg_unload.ogg' +/obj/item/gun/ballistic/automatic/smg/calculate_recoil(mob/user, recoil_bonus = 0) + var/gunslinger_bonus = 1 + var/total_recoil = recoil_bonus + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_recoil += gunslinger_bonus + total_recoil = clamp(total_recoil,0,INFINITY) + return total_recoil + +/obj/item/gun/ballistic/automatic/smg/calculate_spread(mob/user, bonus_spread) + var/gunslinger_bonus = 4 + var/total_spread = bonus_spread + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_spread += gunslinger_bonus + total_spread = clamp(total_spread,0,INFINITY) + return total_spread + /obj/item/gun/ballistic/automatic/smg/proto name = "\improper Nanotrasen Saber SMG" desc = "A prototype full-auto 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors and a folding stock." @@ -339,17 +355,25 @@ /obj/item/gun/ballistic/automatic/smg/skm_carbine/calculate_recoil(mob/user, recoil_bonus = 0) + var/gunslinger_bonus = 1 var/total_recoil = recoil_bonus if(!stock_folded) total_recoil += stock_recoil_bonus - total_recoil = clamp(total_recoil,0,INFINITY) + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_recoil += gunslinger_bonus + + total_recoil = clamp(total_recoil,0,INFINITY) return total_recoil /obj/item/gun/ballistic/automatic/smg/skm_carbine/calculate_spread(mob/user, bonus_spread) + var/gunslinger_bonus = 4 var/total_spread = bonus_spread if(!stock_folded) total_spread += stock_spread_bonus - total_spread = clamp(total_spread,0,INFINITY) + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty + total_spread += gunslinger_bonus + + total_spread = clamp(total_spread,0,INFINITY) return total_spread /obj/item/gun/ballistic/automatic/smg/skm_carbine/update_icon_state() diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index a6be53e82ea2d..a6e424901d5e5 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -31,6 +31,11 @@ var/big_gun = FALSE ///if the gun is big and can fit the comically large gun cell var/unscrewing_time = 20 ///Time it takes to unscrew the cell + ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it + var/tac_reloads = FALSE + ///If we allow tacitcal reloads, how long should it take to reload? + var/tactical_reload_delay = 1.2 SECONDS + var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' //Sound when inserting magazine. UPDATE PLEASE var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' //Sound of ejecting a cell. UPDATE PLEASE var/sound_volume = 40 //Volume of loading/unloading sounds @@ -99,6 +104,13 @@ recharge_newshot(TRUE) update_appearance() +//ATTACK HAND IGNORING PARENT RETURN VALUE +/obj/item/gun/energy/attack_hand(mob/user) + if(!internal_cell && loc == user && user.is_holding(src) && cell && tac_reloads) + eject_cell(user) + return + return ..() + /obj/item/gun/energy/unique_action(mob/living/user) if(ammo_type.len > 1) select_fire(user) @@ -109,6 +121,10 @@ var/obj/item/stock_parts/cell/gun/C = A if (!cell) insert_cell(user, C) + else + if (tac_reloads) + eject_cell(user, C) + return ..() /obj/item/gun/energy/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) @@ -128,18 +144,26 @@ to_chat(user, "You cannot seem to get \the [src] out of your hands!") return FALSE -/obj/item/gun/energy/proc/eject_cell(mob/user, obj/item/I) - to_chat(user, "You begin unscrewing and pulling out the cell...") - if(I.use_tool(src, user, unscrewing_time, volume=100)) - to_chat(user, "You remove the power cell.") - playsound(src, load_sound, sound_volume, load_sound_vary) - cell.forceMove(drop_location()) - var/obj/item/stock_parts/cell/gun/old_cell = cell - cell = null - user.put_in_hands(old_cell) - old_cell.update_appearance() - to_chat(user, "You pull the cell out of \the [src].") - update_appearance() +/obj/item/gun/energy/proc/eject_cell(mob/user, obj/item/stock_parts/cell/gun/tac_load = null) + playsound(src, load_sound, sound_volume, load_sound_vary) + cell.forceMove(drop_location()) + var/obj/item/stock_parts/cell/gun/old_cell = cell + old_cell.update_appearance() + cell = null + to_chat(user, "You pull the cell out of \the [src].") + update_appearance() + if(tac_load && tac_reloads) + if(do_after(user, tactical_reload_delay, TRUE, src)) + if(insert_cell(user, tac_load)) + to_chat(user, "You perform a tactical reload on \the [src].") + else + to_chat(user, "You dropped the old cell, but the new one doesn't fit. How embarassing.") + else + to_chat(user, "Your reload was interupted!") + return + + user.put_in_hands(old_cell) + update_appearance() /obj/item/gun/energy/get_gun_attachments() if(cell && !internal_cell) @@ -148,8 +172,9 @@ /obj/item/gun/energy/remove_gun_attachments(mob/living/user, obj/item/I, picked_option) if(picked_option == "Cell") - eject_cell(user, I) - return TRUE + if(I.use_tool(src, user, unscrewing_time, volume=100)) + eject_cell(user, I) + return TRUE ..() /obj/item/gun/energy/can_shoot(visuals) @@ -185,6 +210,7 @@ cell.use(shot.e_cost)//... drain the cell cell chambered = null //either way, released the prepared shot recharge_newshot() //try to charge a new shot + SEND_SIGNAL(src, COMSIG_GUN_CHAMBER_PROCESSED) /obj/item/gun/energy/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(!chambered && can_shoot()) diff --git a/code/modules/projectiles/guns/gunhud.dm b/code/modules/projectiles/guns/gunhud.dm new file mode 100644 index 0000000000000..9d1a40db8bb60 --- /dev/null +++ b/code/modules/projectiles/guns/gunhud.dm @@ -0,0 +1,287 @@ +/* +* Customizable ammo hud +* - Adapted from SR's gun hud. Most of the bad stuff was cut out and sprites were mostly replace by some azlan did years ago. +* - var names and code have been cleaned up, for the most parts. There still some weirdly named stuff like the number hud (wtf does OTH even mean?) +* - Most of this SHOULDN'T be used yet, only instance of this being used at the moment is the revolver which has completely differnt behavior +*/ + +/* +* This hud is controlled namely by the ammo_hud component. Generally speaking this is inactive much like all other hud components until it's needed. +* It does not do any calculations of it's own, you must do this externally. +* If you wish to use this hud, use the ammo_hud component or create another one which interacts with it via the below procs. +* proc/turn_off +* proc/turn_on +* proc/set_hud +* Check the gun_hud.dmi for all available icons you can use. +*/ + +// Ammo counter +#define ui_ammocounter "EAST-1:28,CENTER+1:25" + +///The gun needs to update the gun hud! +#define COMSIG_UPDATE_AMMO_HUD "update_ammo_hud" + +/datum/hud + var/atom/movable/screen/ammo_counter + +/atom/movable/screen/ammo_counter + name = "ammo counter" + icon = 'icons/hud/gun_hud.dmi' + icon_state = "backing" + screen_loc = ui_ammocounter + invisibility = INVISIBILITY_ABSTRACT + + ///This is the color assigned to the OTH backing, numbers and indicator. + var/backing_color = COLOR_RED + /// The prefix used for the hud + var/prefix = "" + + //Below are the OTH numbers, these are assigned by oX, tX and hX, x being the number you wish to display(0-9) + ///OTH position X00 + var/oth_o + ///OTH position 0X0 + var/oth_t + ///OTH position 00X + var/oth_h + ///This is the custom indicator sprite that will appear in the box at the bottom of the ammo hud, use this for something like semi/auto toggle on a gun. + var/indicator + +///This proc simply resets the hud to standard and removes it from the players visible hud. +/atom/movable/screen/ammo_counter/proc/turn_off() + invisibility = INVISIBILITY_ABSTRACT + maptext = null + backing_color = COLOR_RED + oth_o = "" + oth_t = "" + oth_h = "" + indicator = "" + update_appearance() + +///This proc turns the hud on, but does not set it to anything other than the currently set values +/atom/movable/screen/ammo_counter/proc/turn_on() + invisibility = 0 + +///This is the main proc for altering the hud's appeareance, it controls the setting of the overlays. Use the OTH and below variables to set it accordingly. +/atom/movable/screen/ammo_counter/proc/set_hud(_backing_color, _oth_o, _oth_t, _oth_h, _indicator) + backing_color = _backing_color + oth_o = _oth_o + oth_t = _oth_t + oth_h = _oth_h + indicator = _indicator + + update_appearance() + +/atom/movable/screen/ammo_counter/update_overlays(list/rounds) + . = ..() + cut_overlays() + if(oth_o) + var/mutable_appearance/o_overlay = mutable_appearance(icon, oth_o) + o_overlay.color = backing_color + . += o_overlay + if(oth_t) + var/mutable_appearance/t_overlay = mutable_appearance(icon, oth_t) + t_overlay.color = backing_color + . += t_overlay + if(oth_h) + var/mutable_appearance/h_overlay = mutable_appearance(icon, oth_h) + h_overlay.color = backing_color + . += h_overlay + if(indicator) + var/mutable_appearance/indicator_overlay = mutable_appearance(icon, indicator) + indicator_overlay.color = backing_color + . += indicator_overlay + if(!rounds) + return + + for(var/image/round as anything in rounds) + add_overlay(round) + +//*////////////////////////////////////////////////////////////////////////////////////////////////////////////* + +/datum/component/ammo_hud + var/atom/movable/screen/ammo_counter/hud + /// The prefix used for the hud + var/prefix = "" + var/backing_color = "#FFFFFF" // why was this hardcoded dlfhakhjdfj + +/datum/component/ammo_hud/Initialize() + . = ..() + if(!istype(parent, /obj/item/gun) && !istype(parent, /obj/item/weldingtool)) + return COMPONENT_INCOMPATIBLE + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(wake_up)) + +/datum/component/ammo_hud/Destroy() + turn_off() + return ..() + +/datum/component/ammo_hud/proc/wake_up(datum/source, mob/user, slot) + SIGNAL_HANDLER + + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.is_holding(parent)) + if(H.hud_used) + hud = H.hud_used.ammo_counter + turn_on() + else + turn_off() + +/datum/component/ammo_hud/proc/turn_on() + SIGNAL_HANDLER + + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(turn_off)) + RegisterSignal(parent, list(COMSIG_UPDATE_AMMO_HUD, COMSIG_GUN_CHAMBER_PROCESSED), PROC_REF(update_hud)) + + hud.turn_on() + update_hud() + +/datum/component/ammo_hud/proc/turn_off() + SIGNAL_HANDLER + + UnregisterSignal(parent, list(COMSIG_ITEM_DROPPED, COMSIG_UPDATE_AMMO_HUD, COMSIG_GUN_CHAMBER_PROCESSED)) + + if(hud) + hud.turn_off() + hud = null + +/// Returns get_ammo() with the appropriate args passed to it - some guns like the revolver and bow are special cases +/datum/component/ammo_hud/proc/get_accurate_ammo_count(obj/item/gun/ballistic/the_gun) + // fucking revolvers indeed - do not count empty or chambered rounds for the display HUD + if(istype(the_gun, /obj/item/gun/ballistic/revolver)) + var/obj/item/gun/ballistic/revolver/the_revolver = the_gun + return the_revolver.get_ammo(countchambered = FALSE, countempties = FALSE) + + // bows are also weird and shouldn't count the chambered + if(istype(the_gun, /obj/item/gun/ballistic/bow)) + return the_gun.get_ammo(countchambered = FALSE) + + return the_gun.get_ammo(countchambered = TRUE) + +/datum/component/ammo_hud/proc/get_accurate_laser_count(obj/item/gun/energy/the_gun) + var/obj/item/ammo_casing/energy/current_mode = the_gun.chambered + if(!current_mode) + return FALSE + return round(the_gun.cell.charge/current_mode.e_cost) + +/datum/component/ammo_hud/proc/update_hud() + SIGNAL_HANDLER + var/obj/item/gun/ballistic/pew = parent + hud.maptext = null + hud.icon_state = "[prefix]backing" + if(!pew.magazine) + hud.set_hud(backing_color, "[prefix]oe", "[prefix]te", "[prefix]he", "[prefix]no_mag") + return + if(!pew.get_ammo()) + hud.set_hud(backing_color, "[prefix]oe", "[prefix]te", "[prefix]he", "[prefix]empty_flash") + return + + var/indicator + var/rounds = num2text(get_accurate_ammo_count(pew)) + var/oth_o + var/oth_t + var/oth_h + + switch(length(rounds)) + if(1) + oth_o = "[prefix]o[rounds[1]]" + if(2) + oth_o = "[prefix]o[rounds[2]]" + oth_t = "[prefix]t[rounds[1]]" + if(3) + oth_o = "[prefix]o[rounds[3]]" + oth_t = "[prefix]t[rounds[2]]" + oth_h = "[prefix]h[rounds[1]]" + else + oth_o = "[prefix]o9" + oth_t = "[prefix]t9" + oth_h = "[prefix]h9" + hud.set_hud(backing_color, oth_o, oth_t, oth_h, indicator) + +/datum/component/ammo_hud/laser/update_hud() + var/obj/item/gun/energy/pew = parent + hud.maptext = null + hud.icon_state = "[prefix]backing" + if(!pew.cell) + hud.set_hud(backing_color, "[prefix]oe", "[prefix]te", "[prefix]he", "[prefix]no_mag") + return + if(!get_accurate_laser_count(pew)) + hud.set_hud(backing_color, "[prefix]oe", "[prefix]te", "[prefix]he", "[prefix]empty_flash") + return + + var/indicator + var/rounds = num2text(get_accurate_laser_count(pew)) + var/oth_o + var/oth_t + var/oth_h + + switch(length(rounds)) + if(1) + oth_o = "[prefix]o[rounds[1]]" + if(2) + oth_o = "[prefix]o[rounds[2]]" + oth_t = "[prefix]t[rounds[1]]" + if(3) + oth_o = "[prefix]o[rounds[3]]" + oth_t = "[prefix]t[rounds[2]]" + oth_h = "[prefix]h[rounds[1]]" + else + oth_o = "[prefix]o9" + oth_t = "[prefix]t9" + oth_h = "[prefix]h9" + hud.set_hud(backing_color, oth_o, oth_t, oth_h, indicator) + +/datum/component/ammo_hud/laser/cybersun + prefix = "cybersun_" + +/datum/component/ammo_hud/revolver + prefix = "revolver_" + +/// Returns get_ammo() with the appropriate args passed to it - some guns like the revolver and bow are special cases +/datum/component/ammo_hud/revolver/get_accurate_ammo_count(obj/item/gun/ballistic/revolver/the_gun) + if(istype(the_gun, /obj/item/gun/ballistic/revolver)) + var/obj/item/gun/ballistic/revolver/the_revolver = the_gun + if(the_revolver.magazine) + return the_revolver.magazine.ammo_list() + +/* //for counter-clockwise, kept here for reference + var/list/round_positions = list( + list("x" = 12,"y" = 22), + + list("x" = 20,"y" = 17), + list("x" = 20,"y" = 7 ), + list("x" = 12,"y" = 2 ), + list("x" = 4 ,"y" = 7 ), + list("x" = 4 ,"y" = 17) + ) +*/ + +/datum/component/ammo_hud/revolver/update_hud() + var/obj/item/gun/ballistic/revolver/pew = parent + hud.icon_state = "[prefix]backing" + + var/list/rounds = get_accurate_ammo_count(pew) + var/list/round_images = list() + var/list/round_positions = list( + list("x" = 12,"y" = 22), + + list("x" = 4 ,"y" = 17), + list("x" = 4 ,"y" = 7 ), + list("x" = 12,"y" = 2 ), + list("x" = 20,"y" = 7 ), + list("x" = 20,"y" = 17) + + ) + + var/bullet_count = 0 + for(var/obj/item/ammo_casing/bullet as anything in rounds) + bullet_count++ + if(!bullet) + continue + var/image/current_bullet_image = image(icon = 'icons/hud/gun_hud.dmi') + var/list/bullet_position = round_positions[bullet_count] + current_bullet_image.pixel_x = bullet_position["x"] + current_bullet_image.pixel_y = bullet_position["y"] + current_bullet_image.icon_state = "revolver_casing[bullet.BB ? "_live" : ""]" + round_images += current_bullet_image + + hud.update_overlays(round_images) diff --git a/icons/hud/gun_hud.dmi b/icons/hud/gun_hud.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a24f7f2964f369c4d9bc2c921264b64a4ea0885c GIT binary patch literal 2359 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

U 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 literal 17999 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

!}GNVt{hK9n?^x*@~((?zr#lU3<^=2RqG-eeO45 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

>G8814? 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 J&KJf{ZUC{;_1^#h literal 0 HcmV?d00001 diff --git a/sound/weapons/gun/revolver/spin_single.ogg b/sound/weapons/gun/revolver/spin_single.ogg new file mode 100644 index 0000000000000000000000000000000000000000..46cbcb2ad5dc6c5366cd403f51a0210c62c8c68b GIT binary patch literal 5551 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 o=r)s