diff --git a/code/datums/uplink/ammunition.dm b/code/datums/uplink/ammunition.dm index d720c6f02f5..fedc0bc37cd 100644 --- a/code/datums/uplink/ammunition.dm +++ b/code/datums/uplink/ammunition.dm @@ -31,6 +31,11 @@ path = /obj/item/ammo_magazine/submachinemag desc = "Contains twenty rounds of .45 bullets, for use with the vintage submachine gun." +/datum/uplink_item/item/ammo/submachinegunmag/assassin + name = "Submachine Gun Magazine (6mm)" + path = /obj/item/ammo_magazine/submachinemag/assassin + desc = "Contains thirty rounds of 6mm caseless ammo. Used by the integrally suppressed machine pistol." + /datum/uplink_item/item/ammo/a357 name = ".357 Speedloader" path = /obj/item/ammo_magazine/a357 diff --git a/code/datums/uplink/highly visible and dangerous weapons.dm b/code/datums/uplink/highly visible and dangerous weapons.dm index 9e657bf054b..59703208f99 100644 --- a/code/datums/uplink/highly visible and dangerous weapons.dm +++ b/code/datums/uplink/highly visible and dangerous weapons.dm @@ -52,6 +52,11 @@ telecrystal_cost = 8 path = /obj/item/gun/projectile/automatic/tommygun +/datum/uplink_item/item/visible_weapons/submachinegun/assassin + name = "Suppressed Machine Pistol" + telecrystal_cost = 8 + path = /obj/item/gun/projectile/automatic/tommygun/assassin + /datum/uplink_item/item/visible_weapons/landmine name = "Land Mine" telecrystal_cost = 3 diff --git a/code/datums/uplink/stealthy and inconspicuous weapons.dm b/code/datums/uplink/stealthy and inconspicuous weapons.dm index c9c4b5079bc..8304c72ccf7 100644 --- a/code/datums/uplink/stealthy and inconspicuous weapons.dm +++ b/code/datums/uplink/stealthy and inconspicuous weapons.dm @@ -67,3 +67,9 @@ desc = "A box with 5 claymore miners, relative detonators (signalers), and a spare one for you to trigger them all." telecrystal_cost = 8 path = /obj/item/storage/box/landmines/claymore + +/datum/uplink_item/item/stealthy_weapons/cameragun + name = "9mm Camera Gun" + desc = "A 9mm pistol concealed within the shell of a camera, which has to be deployed before it can be fired. Closer inspection will reveal its true nature, but when in its concealed form it will look totally harmless." + telecrystal_cost = 3 + path = /obj/item/gun/projectile/shotgun/foldable/cameragun diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index 0da57c8b321..039426cad6d 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -301,6 +301,16 @@ /obj/item/ammo_magazine/submachinemag/empty initial_ammo = 0 +/obj/item/ammo_magazine/submachinemag/assassin + name = "magazine (6mm)" + icon_state = "tommy-mag" + mag_type = MAGAZINE + ammo_type = /obj/item/ammo_casing/c6mm + matter = list(DEFAULT_WALL_MATERIAL = 1500) + caliber = "6mm" + insert_sound = /singleton/sound_category/polymer_slide_reload + max_ammo = 30 + /obj/item/ammo_magazine/submachinedrum name = "drum magazine (.45)" icon_state = "tommy-drum" diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 939e5636fcc..c8669543a6e 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -469,3 +469,9 @@ caliber = ".599 Kumar Super" projectile_type = /obj/item/projectile/bullet max_stack = 5 + +/obj/item/ammo_casing/c6mm + desc = "A 6mm bullet casing." + caliber = "6mm" + projectile_type = /obj/item/projectile/bullet/pistol/assassin + max_stack = 15 diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 9c6a96a4c4a..bc2105f5389 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -617,6 +617,26 @@ ..() icon_state = (ammo_magazine)? "owen" : "owen-empty" +/obj/item/gun/projectile/automatic/tommygun/assassin + name = "integrally suppressed machine pistol" + desc = "An Eridanian “rat hunting” gun manufactured by the Amon Pest Control Company. Commonly used by corporate assassins, uncommonly used by pest control workers. Chambered in 6mm." + desc_extended = "The APCC RatAway SMG is manufactured by a shell company of Ringspire for use in corporate assassination duties. Extremely quiet and firing caseless ammunition, it is an ideal weapon for putting down those who dare to threaten megacorporate interests." + icon = 'icons/obj/guns/assassin_smg.dmi' + icon_state = "assassin_smg" + item_state = "assassin_smg" + magazine_type = /obj/item/ammo_magazine/submachinemag/assassin + allowed_magazines = list(/obj/item/ammo_magazine/submachinemag/assassin) + caliber = "6mm" + suppressed = TRUE + can_unsuppress = FALSE + handle_casings = DELETE_CASINGS + max_shells = 30 + allowed_magazines = list(/obj/item/ammo_magazine/submachinemag/assassin) + +/obj/item/gun/projectile/automatic/tommygun/assassin/update_icon() + ..() + icon_state = (ammo_magazine) ? "assassin_smg" : "assassin_smg-empty" + /obj/item/gun/projectile/automatic/rifle/dnac name = "dNAC-6.5 assault rifle" desc = "A durable, sleek-looking bullpup rifle manufactured by d.N.A Defense & Aerospace for the All-Xanu Armed Forces. This model has been adopted by a majority of the Coalition's military forces as well due to its simplicity and reliability." diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 984c7051aac..b305fd4fdea 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -255,3 +255,25 @@ toggle_folded(user) return FALSE return ..() + +/obj/item/gun/projectile/shotgun/foldable/cameragun + name = "camera" + desc = "A polaroid camera" + icon = 'icons/obj/guns/cameragun.dmi' + icon_state = "cameragun" + item_state = "cameragun" + slot_flags = SLOT_BELT + w_class = ITEMSIZE_NORMAL + magazine_type = /obj/item/ammo_magazine/mc9mm + allowed_magazines = list(/obj/item/ammo_magazine/mc9mm) + fire_delay = ROF_PISTOL + load_method = MAGAZINE + max_shells = 12 + caliber = "9mm" + fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' + origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_ILLEGAL = 2) + +/obj/item/gun/projectile/shotgun/foldable/cameragun/examine(mob/user, distance, ...) + . = ..() + if(distance <= 1) + to_chat(user, SPAN_NOTICE("Upon closer inspection, this is not a camera at all, but a 9mm firearm concealed inside the shell of one, which can be deployed by pressing a button.")) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index e2b86cec7ec..085e64c6279 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -222,6 +222,10 @@ agony = 40 embed = 0 +/obj/item/projectile/bullet/pistol/assassin + damage = 20 + armor_penetration = 5 + /* shotgun projectiles */ /obj/item/projectile/bullet/shotgun diff --git a/html/changelogs/dansemacabre-sneakybusiness.yml b/html/changelogs/dansemacabre-sneakybusiness.yml new file mode 100644 index 00000000000..1dcf0ab2a62 --- /dev/null +++ b/html/changelogs/dansemacabre-sneakybusiness.yml @@ -0,0 +1,43 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: TheDanseMacabre + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added 6mm ammo, a very low damage type of bullet." + - rscadd: "Added an integrally suppressed 6mm submachine gun, which can be bought in the uplink." + - rscadd: "Added a concealed camera gun, which can be bought in the uplink." diff --git a/icons/obj/guns/assassin_smg.dmi b/icons/obj/guns/assassin_smg.dmi new file mode 100644 index 00000000000..62036669cfe Binary files /dev/null and b/icons/obj/guns/assassin_smg.dmi differ diff --git a/icons/obj/guns/cameragun.dmi b/icons/obj/guns/cameragun.dmi new file mode 100644 index 00000000000..869b8ac638d Binary files /dev/null and b/icons/obj/guns/cameragun.dmi differ