diff --git a/code/modules/projectiles/ammo_datums.dm b/code/modules/projectiles/ammo_datums.dm index d794b725b044..de5821fea52a 100644 --- a/code/modules/projectiles/ammo_datums.dm +++ b/code/modules/projectiles/ammo_datums.dm @@ -377,6 +377,11 @@ stamina_damage = 25 shrapnel_chance = 0 +// Reskinned rubber bullet used for the ES-4 CL pistol. +/datum/ammo/bullet/pistol/rubber/stun + name = "stun pistol bullet" + sound_override = null + // Used by M1911, Deagle and KT-42 /datum/ammo/bullet/pistol/heavy name = "heavy pistol bullet" diff --git a/code/modules/projectiles/guns/pistols.dm b/code/modules/projectiles/guns/pistols.dm index e7e20526b31f..cc4207724b60 100644 --- a/code/modules/projectiles/guns/pistols.dm +++ b/code/modules/projectiles/guns/pistols.dm @@ -573,6 +573,43 @@ flashlight.Attach(src) update_attachable(flashlight.slot) +//------------------------------------------------------- +// ES-4 - Basically a CL-exclusive reskin of the 88 mod 4 that only uses less-lethal ammo. + +/obj/item/weapon/gun/pistol/es4 + name = "\improper ES-4 electrostatic pistol" + desc = "A Weyland Corp manufactured less-than-lethal pistol. Originally manufactured in the 2080s, the ES-4 electrostatic pistol fires electrically-charged bullets with high accuracy, though its cost and constant need for cleaning makes it a rare sight." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/wy.dmi' + icon_state = "es4" + item_state = "es4" + fire_sound = 'sound/weapons/gun_es4.ogg' + firesound_volume = 20 + reload_sound = 'sound/weapons/gun_88m4_reload.ogg' + unload_sound = 'sound/weapons/gun_88m4_unload.ogg' + current_mag = /obj/item/ammo_magazine/pistol/es4 + force = 8 + muzzle_flash = "muzzle_flash_blue" + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + attachable_allowed = list( + /obj/item/attachable/flashlight, + /obj/item/attachable/reflex, + /obj/item/attachable/reddot, + /obj/item/attachable/lasersight, + ) + +/obj/item/weapon/gun/pistol/es4/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 27, "muzzle_y" = 21, "rail_x" = 10, "rail_y" = 22, "under_x" = 25, "under_y" = 18, "stock_x" = 18, "stock_y" = 15) + + +/obj/item/weapon/gun/pistol/es4/set_gun_config_values() + ..() + fire_delay = FIRE_DELAY_TIER_9 + accuracy_mult = BASE_ACCURACY_MULT + accuracy_mult_unwielded = BASE_ACCURACY_MULT + scatter = SCATTER_AMOUNT_TIER_7 + scatter_unwielded = SCATTER_AMOUNT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_4 + //------------------------------------------------------- //VP78 - the only pistol viable as a primary. diff --git a/code/modules/projectiles/magazines/pistols.dm b/code/modules/projectiles/magazines/pistols.dm index 3cb676fbb7db..dae86cc813cc 100644 --- a/code/modules/projectiles/magazines/pistols.dm +++ b/code/modules/projectiles/magazines/pistols.dm @@ -105,6 +105,19 @@ default_ammo = /datum/ammo/bullet/pistol/rubber ammo_band_color = AMMO_BAND_COLOR_RUBBER +//------------------------------------------------------- +//ES-4 + +/obj/item/ammo_magazine/pistol/es4 + name = "\improper ES-4 stun magazine (9mm)" + default_ammo = /datum/ammo/bullet/pistol/rubber/stun + caliber = "9mm" + desc = "Holds 19 rounds of specialized Conductive 9mm. Electrostatic propulsion in the ES-4 functions by propelling an cV9mm round, at a proportionally slower velocity to maintain a higher kinetic energy transfer rate. All this turns a penetrative round into a less-than-lethal round." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi' + icon_state = "es4" + max_rounds = 19 + gun_type = /obj/item/weapon/gun/pistol/es4 + //------------------------------------------------------- //VP78 diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index 52b3120ab12b..b149c4ea872b 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index cedbcf8c0e7e..70fa3a73fbc5 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi index 295071f1d7c5..11eab502b0cf 100644 Binary files a/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi and b/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi b/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi index 46ce2b74ba68..44eb7e3543c9 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/wy.dmi differ diff --git a/icons/obj/items/weapons/projectiles.dmi b/icons/obj/items/weapons/projectiles.dmi index 720ea1e61f2d..c3aa143def9b 100644 Binary files a/icons/obj/items/weapons/projectiles.dmi and b/icons/obj/items/weapons/projectiles.dmi differ diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 15f92fe53502..285c584b3423 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -15802,13 +15802,12 @@ "bhM" = ( /obj/structure/safe, /obj/item/coin/platinum, -/obj/item/attachable/suppressor, /obj/item/spacecash/c1000/counterfeit, /obj/item/spacecash/c1000/counterfeit, /obj/item/clothing/accessory/storage/holster, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/rubber, -/obj/item/ammo_magazine/pistol/mod88/rubber, +/obj/item/weapon/gun/pistol/es4, +/obj/item/ammo_magazine/pistol/es4, +/obj/item/ammo_magazine/pistol/es4, /obj/item/clothing/suit/armor/bulletproof, /turf/open/floor/wood/ship, /area/almayer/command/corporateliason) diff --git a/sound/weapons/gun_es4.ogg b/sound/weapons/gun_es4.ogg new file mode 100644 index 000000000000..54210c02fa60 Binary files /dev/null and b/sound/weapons/gun_es4.ogg differ