Replaces my old and crusty pp-95 with the cool new nukeops tech on the block, smart SMGs (#85211)
## About The Pull Request   Adds the Abielle Smart-SMG to replace the pp-95 entirely. The Abielle performs nearly identically to the pp-95 in nearly all aspects, doing 0.5 less damage because it's not a projectile modifier on 9mm anymore. What the Abielle does do majorly differently, is give it's bullets a slight homing ability VS whatever you clicked on. This keeps the weapon equally useless to it's predecessor at spraying blindly down hallways, while rewarding careful aim with bullets that slightly track the target. ## Why It's Good For The Game The surplus smg sucks, and I don't mean performance-wise (although it certainly does, that's the idea). The surplus smg sucks because typically you would be better suited using it as a melee weapon due to the inaccuracy and low damage. Making the cheapo "I forgot to buy a weapon" gun practically useless is super punishing especially for newer ops who might not remember to buy a weapon first. The smartgun makes the surplus smg still pretty shit compared to the other nukeops guns that can down a man nearly instantly, but means that reinforcements or broke ass nukeops can still be relatively effective so long as they can click on a spaceman across the screen. ## Changelog 🆑 balance: The nukeops surplus smg, the pp-95, has been reworked into the Abielle Smart-SMG. It performs nearly identically to the pp-95, however it's projectiles get a slight homing ability towards whatever you click on. sound: New firing sounds for the surplus smg, credit to the m41 sound effects from tgmc image: New sprites for the surplus smg, made by me /🆑
@@ -856,7 +856,7 @@
|
||||
icon_state = "floor5-old"
|
||||
},
|
||||
/obj/item/ammo_casing/spent,
|
||||
/obj/item/gun/ballistic/automatic/plastikov,
|
||||
/obj/item/gun/ballistic/automatic/smartgun,
|
||||
/obj/effect/mob_spawn/corpse/human/syndicatepilot,
|
||||
/turf/open/floor/mineral/plastitanium/red,
|
||||
/area/ruin/space/has_grav/infested_frigate)
|
||||
@@ -2790,7 +2790,7 @@
|
||||
icon_state = "plastitaniumtiny"
|
||||
},
|
||||
/mob/living/basic/alien/queen/large{
|
||||
loot = list(/obj/effect/gibspawner/xeno,/obj/item/ammo_box/magazine/plastikov9mm,/obj/effect/mob_spawn/corpse/human/syndicatecommando/soft_suit);
|
||||
loot = list(/obj/effect/gibspawner/xeno,/obj/item/ammo_box/magazine/smartgun,/obj/effect/mob_spawn/corpse/human/syndicatecommando/soft_suit);
|
||||
desc = "What you saw in your dreams last night.";
|
||||
faction = list("syndicate","xenomorph")
|
||||
},
|
||||
|
||||
@@ -14,8 +14,10 @@
|
||||
#define CALIBER_A7MM "a7mm"
|
||||
/// The caliber used by the [security auto-rifle][/obj/item/gun/ballistic/automatic/wt550].
|
||||
#define CALIBER_46X30MM "4.6x30mm"
|
||||
/// The caliber used by the Nanotrasen Saber SMG, PP-95 SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it.
|
||||
/// The caliber used by the Nanotrasen Saber SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it.
|
||||
#define CALIBER_9MM "9mm"
|
||||
/// The caliber used by smart SMG ammunition
|
||||
#define CALIBER_160SMART ".160 Smart"
|
||||
/// The caliber used as the default for ballistic guns. Only not overridden for the [surplus rifle][/obj/item/gun/ballistic/automatic/surplus].
|
||||
#define CALIBER_10MM "10mm"
|
||||
/// The caliber used by most revolver variants.
|
||||
|
||||
@@ -348,6 +348,11 @@
|
||||
weapon_to_spawn = /obj/item/gun/ballistic/automatic/c20r
|
||||
extra_to_spawn = /obj/item/ammo_box/magazine/smgm45
|
||||
|
||||
/obj/item/storage/toolbox/guncase/smartgun
|
||||
name = "adielle smartgun case"
|
||||
weapon_to_spawn = /obj/item/gun/ballistic/automatic/smartgun
|
||||
extra_to_spawn = /obj/item/ammo_box/magazine/smartgun
|
||||
|
||||
/obj/item/storage/toolbox/guncase/clandestine
|
||||
name = "clandestine gun case"
|
||||
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/clandestine
|
||||
@@ -442,12 +447,6 @@
|
||||
weapon_to_spawn = /obj/effect/spawner/random/sakhno
|
||||
extra_to_spawn = /obj/effect/spawner/random/sakhno/ammo
|
||||
|
||||
/obj/item/storage/toolbox/guncase/soviet/plastikov
|
||||
name = "ancient surplus gun case"
|
||||
desc = "A gun case. Has the symbol of the Third Soviet Union stamped on the side."
|
||||
weapon_to_spawn = /obj/item/gun/ballistic/automatic/plastikov
|
||||
extra_to_spawn = /obj/item/food/rationpack //sorry comrade, cannot get you more ammo, here, have lunch
|
||||
|
||||
/obj/item/storage/toolbox/guncase/monkeycase
|
||||
name = "monkey gun case"
|
||||
desc = "Everything a monkey needs to truly go ape-shit. There's a paw-shaped hand scanner lock on the front of the case."
|
||||
|
||||
@@ -102,8 +102,8 @@
|
||||
name = "Syndicate Operative - Reinforcement"
|
||||
tc = 0
|
||||
backpack_contents = list(
|
||||
/obj/item/gun/ballistic/automatic/plastikov = 1,
|
||||
/obj/item/ammo_box/magazine/plastikov9mm = 2,
|
||||
/obj/item/gun/ballistic/automatic/smartgun = 1,
|
||||
/obj/item/ammo_box/magazine/smartgun = 2,
|
||||
)
|
||||
var/faction = "The Syndicate"
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
desc = "A 10mm reaper bullet casing."
|
||||
projectile_type = /obj/projectile/bullet/c10mm/reaper
|
||||
|
||||
// 9mm (Makarov, Stechkin APS, PP-95)
|
||||
// 9mm (Makarov, Stechkin APS)
|
||||
|
||||
/obj/item/ammo_casing/c9mm
|
||||
name = "9mm bullet casing"
|
||||
@@ -49,7 +49,6 @@
|
||||
desc = "A 9mm incendiary bullet casing."
|
||||
projectile_type = /obj/projectile/bullet/incendiary/c9mm
|
||||
|
||||
|
||||
// .50AE (Desert Eagle)
|
||||
|
||||
/obj/item/ammo_casing/a50ae
|
||||
@@ -57,3 +56,21 @@
|
||||
desc = "A .50AE bullet casing."
|
||||
caliber = CALIBER_50AE
|
||||
projectile_type = /obj/projectile/bullet/a50ae
|
||||
|
||||
// .160 Smart (Abielle smartgun)
|
||||
|
||||
/obj/item/ammo_casing/c160smart
|
||||
name = ".160 smart bullet casing"
|
||||
desc = "A .160 smart bullet with a small charge of booster propellant at the bottom."
|
||||
icon_state = "smartgun_casing"
|
||||
caliber = CALIBER_160SMART
|
||||
projectile_type = /obj/projectile/bullet/c160smart
|
||||
|
||||
/obj/item/ammo_casing/c160smart/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/caseless)
|
||||
|
||||
/obj/item/ammo_casing/c160smart/ready_proj(atom/target, mob/living/user, quiet, zone_override, atom/fired_from)
|
||||
. = ..()
|
||||
if(!isturf(target))
|
||||
loaded_projectile.set_homing_target(target)
|
||||
|
||||
@@ -30,18 +30,16 @@
|
||||
. = ..()
|
||||
icon_state = "[base_icon_state]-[round(ammo_count(), 4)]"
|
||||
|
||||
/obj/item/ammo_box/magazine/plastikov9mm
|
||||
name = "PP-95 magazine (9mm)"
|
||||
icon_state = "9x19-50"
|
||||
base_icon_state = "9x19"
|
||||
ammo_type = /obj/item/ammo_casing/c9mm
|
||||
caliber = CALIBER_9MM
|
||||
/obj/item/ammo_box/magazine/smartgun
|
||||
name = "Abielle magazine (.160 Smart)"
|
||||
icon_state = "smartgun"
|
||||
base_icon_state = "smartgun"
|
||||
ammo_type = /obj/item/ammo_casing/c160smart
|
||||
multiple_sprites = AMMO_BOX_FULL_EMPTY
|
||||
multiple_sprite_use_base = TRUE
|
||||
caliber = CALIBER_160SMART
|
||||
max_ammo = 50
|
||||
|
||||
/obj/item/ammo_box/magazine/plastikov9mm/update_icon_state()
|
||||
. = ..()
|
||||
icon_state = "[base_icon_state]-[ammo_count() ? 50 : 0]"
|
||||
|
||||
/obj/item/ammo_box/magazine/uzim9mm
|
||||
name = "uzi magazine (9mm)"
|
||||
icon_state = "uzi9mm-32"
|
||||
|
||||
@@ -86,20 +86,33 @@
|
||||
/obj/item/gun/ballistic/automatic/wt550/add_bayonet_point()
|
||||
AddComponent(/datum/component/bayonet_attachable, offset_x = 25, offset_y = 12)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/plastikov
|
||||
name = "\improper PP-95 SMG"
|
||||
desc = "An ancient 9mm submachine gun pattern updated and simplified to lower costs, though perhaps simplified too much."
|
||||
icon_state = "plastikov"
|
||||
inhand_icon_state = "plastikov"
|
||||
accepted_magazine_type = /obj/item/ammo_box/magazine/plastikov9mm
|
||||
burst_size = 5
|
||||
spread = 25
|
||||
can_suppress = FALSE
|
||||
/obj/item/gun/ballistic/automatic/smartgun
|
||||
name = "\improper Abielle Smart-SMG"
|
||||
desc = "An old experiment in smart-weapon technology that guides bullets towards the target the gun was aimed at when fired. \
|
||||
While the tracking functions worked fine, the gun is prone to insanely wide spread thanks to it's practically non-existant barrel."
|
||||
icon_state = "smartgun"
|
||||
inhand_icon_state = "smartgun"
|
||||
accepted_magazine_type = /obj/item/ammo_box/magazine/smartgun
|
||||
burst_size = 4
|
||||
fire_delay = 1
|
||||
spread = 40
|
||||
dual_wield_spread = 20
|
||||
actions_types = list()
|
||||
projectile_damage_multiplier = 0.35 //It's like 10.5 damage per bullet, it's close enough to 10 shots
|
||||
bolt_type = BOLT_TYPE_LOCKING
|
||||
can_suppress = FALSE
|
||||
mag_display = TRUE
|
||||
empty_indicator = TRUE
|
||||
fire_sound = 'sound/weapons/gun/smg/shot_alt.ogg'
|
||||
click_on_low_ammo = FALSE
|
||||
/// List of the possible firing sounds
|
||||
var/list/firing_sound_list = list(
|
||||
'sound/weapons/gun/smartgun/smartgun_shoot_1.ogg',
|
||||
'sound/weapons/gun/smartgun/smartgun_shoot_2.ogg',
|
||||
'sound/weapons/gun/smartgun/smartgun_shoot_3.ogg',
|
||||
)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/smartgun/fire_sounds()
|
||||
var/picked_fire_sound = pick(firing_sound_list)
|
||||
playsound(src, picked_fire_sound, fire_sound_volume, vary_fire_sound)
|
||||
|
||||
/obj/item/gun/ballistic/automatic/mini_uzi
|
||||
name = "\improper Type U3 Uzi"
|
||||
|
||||
@@ -71,3 +71,25 @@
|
||||
impact_light_intensity = 5
|
||||
impact_light_range = 1
|
||||
impact_light_color_override = LIGHT_COLOR_DIM_YELLOW
|
||||
|
||||
// .160 Smart
|
||||
|
||||
/obj/projectile/bullet/c160smart
|
||||
name = ".160 smart bullet"
|
||||
icon_state = "smartgun"
|
||||
damage = 10
|
||||
embed_type = /datum/embed_data/bullet_c160smart
|
||||
speed = 2
|
||||
homing_turn_speed = 5
|
||||
homing_inaccuracy_min = 4
|
||||
homing_inaccuracy_max = 10
|
||||
|
||||
/datum/embed_data/bullet_c160smart
|
||||
embed_chance = 10
|
||||
fall_chance = 5
|
||||
jostle_chance = 3
|
||||
ignore_throwspeed_threshold = TRUE
|
||||
pain_stam_pct = 0.25
|
||||
pain_mult = 3
|
||||
jostle_pain_mult = 6
|
||||
rip_time = 5
|
||||
|
||||
@@ -373,16 +373,18 @@
|
||||
//Meme weapons: Literally just weapons used as a joke, shouldn't be particularly expensive.
|
||||
|
||||
/datum/uplink_item/weapon_kits/surplus_smg
|
||||
name = "Surplus SMG Case (Flukie)"
|
||||
desc = "A horribly outdated automatic weapon. Why would you want to use this? Comes with...rations."
|
||||
item = /obj/item/gun/ballistic/automatic/plastikov
|
||||
name = "Surplus Smart-SMG (Flukie)"
|
||||
desc = "An outdated smart-SMG with limited stopping power, however it's bullets will gradually track towards whatever \
|
||||
the gun was shot at. This does require you to actually aim at the person you are shooting at before firing, but \
|
||||
surely a highly trained operative such as yourself can manage that."
|
||||
item = /obj/item/gun/ballistic/automatic/smartgun
|
||||
cost = 2
|
||||
purchasable_from = UPLINK_SERIOUS_OPS
|
||||
|
||||
/datum/uplink_item/ammo_nuclear/surplus_smg
|
||||
name = "Surplus SMG Magazine (Surplus)"
|
||||
desc = "A cylindrical magazine designed for the PP-95 SMG."
|
||||
item = /obj/item/ammo_box/magazine/plastikov9mm
|
||||
name = "Surplus Smart-SMG Magazine (Smartgun)"
|
||||
desc = "A large box magazine made for use in the Abielle smart-SMG."
|
||||
item = /obj/item/ammo_box/magazine/smartgun
|
||||
cost = 1
|
||||
purchasable_from = UPLINK_SERIOUS_OPS
|
||||
uplink_item_flags = SYNDIE_TRIPS_CONTRABAND
|
||||
|
||||
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 134 KiB |