diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 477fd67cab0..9826505fd02 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -35,7 +35,7 @@ var/global/list/autolathe_recipes = list( \ new /obj/item/weapon/reagent_containers/syringe(), \ new /obj/item/ammo_casing/shotgun/blank(), \ new /obj/item/ammo_casing/shotgun/beanbag(), \ - new /obj/item/ammo_magazine/c38(), \ + new /obj/item/ammo_magazine/c45r(), \ new /obj/item/device/taperecorder(), \ new /obj/item/device/assembly/igniter(), \ new /obj/item/device/assembly/signaler(), \ @@ -57,6 +57,7 @@ var/global/list/autolathe_recipes_hidden = list( \ new /obj/item/weapon/weldingtool/largetank(), \ new /obj/item/weapon/handcuffs(), \ new /obj/item/ammo_magazine/a357(), \ + new /obj/item/ammo_magazine/c45(), \ new /obj/item/ammo_casing/shotgun(), \ new /obj/item/ammo_casing/shotgun/dart(), \ /* new /obj/item/weapon/shield/riot(), */ \ diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 011f19f198a..e44847f137b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -247,20 +247,24 @@ ..() sleep(2) new /obj/item/clothing/under/det(src) + new /obj/item/clothing/under/det/black(src) + new /obj/item/clothing/under/det/slob(src) new /obj/item/clothing/suit/storage/det_suit(src) + new /obj/item/clothing/suit/storage/det_suit/black(src) new /obj/item/clothing/suit/storage/forensics/blue(src) new /obj/item/clothing/suit/storage/forensics/red(src) new /obj/item/clothing/gloves/black(src) new /obj/item/clothing/head/det_hat(src) + new /obj/item/clothing/head/det_hat/black(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/weapon/storage/box/evidence(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/device/detective_scanner(src) new /obj/item/clothing/suit/armor/det_suit(src) - new /obj/item/ammo_magazine/c38(src) - new /obj/item/ammo_magazine/c38(src) + new /obj/item/ammo_magazine/c45r(src) + new /obj/item/ammo_magazine/c45r(src) new /obj/item/taperoll/police(src) - new /obj/item/weapon/gun/projectile/detective(src) + new /obj/item/weapon/gun/projectile/detective/semiauto(src) new /obj/item/clothing/tie/holster/armpit(src) return diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index fd525eacdb5..f3c960cc3d0 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -77,6 +77,9 @@ allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder) armor = list(melee = 50, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) +/obj/item/clothing/suit/storage/det_suit/black + icon_state = "detective2" + //Forensics /obj/item/clothing/suit/storage/forensics name = "jacket" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index b279a2fd35f..c35910d060c 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -71,6 +71,22 @@ flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 +/obj/item/clothing/under/det/black + icon_state = "detective2" + item_color = "detective2" + +/obj/item/clothing/under/det/slob + icon_state = "polsuit" + item_color = "polsuit" + +/obj/item/clothing/under/det/slob/verb/rollup() + set name = "Roll suit sleevels" + set category = "Object" + set src in usr + item_color = item_color == "polsuit" ? "polsuit_rolled" : "polsuit" + if (ishuman(loc)) + var/mob/living/carbon/human/H = loc + H.update_inv_w_uniform(1) /obj/item/clothing/head/det_hat name = "hat" @@ -80,6 +96,10 @@ armor = list(melee = 50, bullet = 5, laser = 25,energy = 10, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 +/obj/item/clothing/head/det_hat/black + icon_state = "detective2" + + /* * Head of Security */ diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index fa7567bcb28..87fa97ef697 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -14,6 +14,25 @@ multiple_sprites = 1 +/obj/item/ammo_magazine/c45 + name = "magazine (.45)" + icon_state = "45" + ammo_type = "/obj/item/ammo_casing/c45" + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/c45/empty + max_ammo = 0 + +/obj/item/ammo_magazine/c45r + name = "magazine (.45 rubber)" + icon_state = "45" + ammo_type = "/obj/item/ammo_casing/c45r" + max_ammo = 7 + multiple_sprites = 1 + +/obj/item/ammo_magazine/c45r/empty + max_ammo = 0 /obj/item/ammo_magazine/a418 name = "ammo box (.418)" diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 41443469d38..a2b11b7ffc0 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -43,6 +43,10 @@ caliber = ".45" projectile_type = "/obj/item/projectile/bullet/midbullet" +/obj/item/ammo_casing/c45r + desc = "A .45 rubber bullet casing." + caliber = ".45" + projectile_type = "/obj/item/projectile/bullet/weakbullet" /obj/item/ammo_casing/a12mm desc = "A 12mm bullet casing." diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 0f6fca68b2b..b6a305cbf73 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -70,6 +70,26 @@ user << "You remove the modifications on [src]! Now it will fire .38 rounds." +/obj/item/weapon/gun/projectile/detective/semiauto + desc = "A cheap Martian knock-off of a Colt M1911. Uses less-than-lethal .45 rounds." + name = "\improper Colt M1911" + icon_state = "colt" + max_shells = 7 + caliber = ".45" + ammo_type = "/obj/item/ammo_casing/c45r" + load_method = 2 + +/obj/item/weapon/gun/projectile/detective/semiauto/New() + ..() + empty_mag = new /obj/item/ammo_magazine/c45r/empty(src) + return + +/obj/item/weapon/gun/projectile/detective/semiauto/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag) + ..() + if(!loaded.len && empty_mag) + empty_mag.loc = get_turf(src.loc) + empty_mag = null + return /obj/item/weapon/gun/projectile/mateba diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 0396dd6ce08..97794bab718 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index cafdb88f336..52ee7b48a62 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 90bf359dc30..27b36512ca9 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 86d6829d138..1796d4bf1b2 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 7ec3f3ee2a0..85dc31a6aac 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 6a72147f32c..5678e44ec70 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 769d8ac9a38..157a78e440f 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 2ad4316d4a0..8dd01d7d2c5 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ