mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-21 12:08:55 +01:00
adds the Ansem/SC, the logical conclusion to the John Splintercell series (#83228)
## About The Pull Request Replaces the Ansem, SC/FISHER, and suppressor in the Sam Fisher gimmick bundle with the Ansem/SC, a variant of the Ansem that: - has an integral suppressor (read: acts like it's always suppressed, because it is) - an underbarrel light disruptor (functionally identical to the SC/FISHER, fired with RMB) (note: firing the disruptor in combat mode causes the main gun to fire as if it were being fired akimbo. which it shouldn't, but I'm not sure how to make it not do that) - is longer, visually, but not storage-wise, and also visibly has an underbarrel light disruptor  Also added code support for integrally suppressed ballistic guns (with no separate suppressor overlay), handled by the can_unsuppress variable. Also fixes the SC/FISHER disrupting APCs for ten times longer than they probably should have been disrupted. ## Why It's Good For The Game In regards to the Ansem, SC/FISHER, suppressor: The Sam Fisher gimmick bundle having the Ansem and SC/FISHER as separate items always kinda bugged me, since it seemed too clunky for a sneaky-beaky operator-type to have to juggle two guns (one which you had to bump to normal-size, leaving it unable to fit in the belt) to break lights and then shoot dudes in the back of the head. So now it's one gun, like the M-90gl and its grenade launcher. I think the bundle's rare enough that it's fine to give them this much. In regards to the APC thing: Shooting an APC with a gimmick gun and leaving it unpowered for two minutes seemed unintentional. In regards to the code support for integrally suppressed guns: Maybe someone else will want to put in another integrally suppressed gun? It was relevant for this use-case. ## Changelog 🆑 qol: The Ansem, suppressor, and SC/FISHER included in the Fisher gimmick bundle now come together as one whole gun, the Ansem/SC. It's integrally suppressed, and fires the disruptor on right-click. fix: The SC/FISHER disrupts APCs for an appropriate amount of time, not ten times the intended disruption length. /🆑 --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
co-authored by
Hatterhat
Zephyr
Ghom
parent
cd9e9dcd35
commit
14e27ec462
@@ -32,7 +32,7 @@
|
||||
var/can_suppress = FALSE
|
||||
var/suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg'
|
||||
var/suppressed_volume = 60
|
||||
var/can_unsuppress = TRUE
|
||||
var/can_unsuppress = TRUE /// whether a gun can be unsuppressed. for ballistics, also determines if it generates a suppressor overlay
|
||||
var/recoil = 0 //boom boom shake the room
|
||||
var/clumsy_check = TRUE
|
||||
var/obj/item/ammo_casing/chambered = null
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
if (bolt_type == BOLT_TYPE_OPEN && bolt_locked)
|
||||
. += "[icon_state]_bolt"
|
||||
|
||||
if(suppressed)
|
||||
if(suppressed && can_unsuppress) // if it can't be unsuppressed, we assume the suppressor is integrated into the gun itself and don't generate an overlay
|
||||
var/mutable_appearance/MA = mutable_appearance(icon, "[icon_state]_suppressor")
|
||||
if(suppressor_x_offset)
|
||||
MA.pixel_x = suppressor_x_offset
|
||||
@@ -572,9 +572,9 @@
|
||||
if (bolt_locked)
|
||||
. += "The [bolt_wording] is locked back and needs to be released before firing or de-fouling."
|
||||
if (suppressed)
|
||||
. += "It has a suppressor attached that can be removed with <b>alt+click</b>."
|
||||
. += "It has a suppressor [can_unsuppress ? "attached that can be removed with <b>alt+click</b>." : "that is integral or can't otherwise be removed."]"
|
||||
if(can_misfire)
|
||||
. += span_danger("You get the feeling this might explode if you fire it....")
|
||||
. += span_danger("You get the feeling this might explode if you fire it...")
|
||||
if(misfire_probability > 0)
|
||||
. += span_danger("Given the state of the gun, there is a [misfire_probability]% chance it'll misfire.")
|
||||
|
||||
|
||||
@@ -57,6 +57,53 @@
|
||||
empty_indicator = TRUE
|
||||
suppressor_x_offset = 12
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher
|
||||
name = "\improper Ansem/SC pistol"
|
||||
desc = "A modified variant of the Ansem, spiritual successor to the Makarov, featuring an integral suppressor and push-button trigger on the grip \
|
||||
for an underbarrel-mounted disruptor, similar in operation to the standalone SC/FISHER. Chambered in 10mm."
|
||||
desc_controls = "Right-click to use the underbarrel disruptor. Two shots maximum between self-charges."
|
||||
icon_state = "pistol_evil_fisher"
|
||||
suppressed = TRUE
|
||||
can_suppress = FALSE
|
||||
can_unsuppress = FALSE
|
||||
var/obj/item/gun/energy/recharge/fisher/underbarrel
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher/examine_more(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("The Ansem/SC is a Scarborough Arms-manufactured overhaul suite for the also Scarborough Arms-manufactured Ansem handgun, designed for special \
|
||||
operators who like to operate operationally, and/or people who really, really hate lightbulbs, and tend to fight people who really like lightbulbs. \
|
||||
The slide is lengthened and has an integrated suppressor, while a compact kinetic light disruptor was mounted underneath the barrel. \
|
||||
Scarborough Arms has never actually officially responded to allegations that they're involved with the modification and/or manufacture \
|
||||
of the SC/FISHER or similar disruptor weapons. Operators are reminded that kinetic light disruptors do not actually physically harm targets.<br>\
|
||||
Caveat emptor.")
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher/Initialize(mapload)
|
||||
. = ..()
|
||||
underbarrel = new /obj/item/gun/energy/recharge/fisher(src)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher/Destroy()
|
||||
QDEL_NULL(underbarrel)
|
||||
return ..()
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher/afterattack_secondary(atom/target, mob/living/user, proximity_flag, click_parameters)
|
||||
underbarrel.afterattack(target, user, proximity_flag, click_parameters)
|
||||
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher/afterattack(atom/target, mob/living/user, flag, params)
|
||||
// mirrors what the standalone fisher does when you hit people with it
|
||||
. = ..()
|
||||
if(user.Adjacent(target))
|
||||
var/obj/projectile/energy/fisher/melee/simulated_hit = new
|
||||
simulated_hit.firer = user
|
||||
simulated_hit.on_hit(target)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/clandestine/fisher/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
|
||||
// as above comment, mirrors what the standalone fisher does when you hit people with it
|
||||
. = ..()
|
||||
var/obj/projectile/energy/fisher/melee/simulated_hit = new
|
||||
simulated_hit.firer = throwingdatum.get_thrower()
|
||||
simulated_hit.on_hit(hit_atom)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/m1911
|
||||
name = "\improper M1911"
|
||||
desc = "A classic .45 handgun with a small magazine capacity."
|
||||
|
||||
@@ -150,19 +150,23 @@
|
||||
|
||||
/obj/item/gun/energy/recharge/fisher/examine_more(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("The SC/FISHER is an illegally-modified kinetic accelerator cut down and refit into a disassembled miniature energy gun chassis, with its pressure chamber \
|
||||
attenuated to launch kinetic bolts that <b>disrupt flashlights and cameras, if only temporarily</b>. This effect also works on <b>cyborg headlamps<b>, and works longer in melee.<br><br>\
|
||||
While some would argue that this is a really terrible design choice, others argue that it is very funny to be able to shoot at light sources. Caveat emptor.")
|
||||
. += span_notice("The SC/FISHER is an illegally-modified kinetic accelerator cut down and refit into a disassembled miniature energy gun chassis, \
|
||||
with its pressure chamber attenuated to launch kinetic bolts that <b>temporarily disrupt flashlights, cameras, and certain other electronics</b>. \
|
||||
This effect also works on <b>cyborg headlamps<b>, and works longer in melee.<br><br>\
|
||||
While some would argue that this is a really terrible design choice, others argue that it is very funny to be able to shoot at light sources.<br>\
|
||||
Caveat emptor.")
|
||||
|
||||
/obj/item/gun/energy/recharge/fisher/afterattack(atom/target, mob/living/user, flag, params)
|
||||
// you should just shoot them, but in case you can't/wont
|
||||
. = ..()
|
||||
if(user.Adjacent(target))
|
||||
var/obj/projectile/energy/fisher/melee/simulated_hit = new
|
||||
simulated_hit.firer = user
|
||||
simulated_hit.on_hit(target)
|
||||
|
||||
/obj/item/gun/energy/recharge/fisher/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
|
||||
// ...you reeeeeally just shoot them, but in case you can't/won't
|
||||
. = ..()
|
||||
var/obj/projectile/energy/fisher/melee/simulated_hit = new
|
||||
simulated_hit.firer = throwingdatum.get_thrower()
|
||||
simulated_hit.on_hit(hit_atom)
|
||||
|
||||
Reference in New Issue
Block a user