diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 5f50e510703..65076d58f54 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -1072,6 +1072,14 @@ var/list/discounted_items_of_the_round = list() discounted_cost = 10 jobs_with_discount = list("Chef") +/datum/uplink_item/jobspecific/service/kitchengun + name = "Kitchen Gun" + desc = "An otherwise ordinary glock that also has the power to completely clean the surface of anything it's fired on in three shots. Causes the holder to shout their speech loudly while held. Comes with night vision goggles for after dark cleaning." + item = /obj/item/weapon/storage/box/syndie_kit/kitchengun + cost = 14 + discounted_cost = 10 + jobs_with_discount = list("Chef","Janitor") + /datum/uplink_item/jobspecific/service/cautionsign name = "Proximity Mine Wet Floor Sign" desc = "An anti-personnel proximity mine cleverly disguised as a wet floor caution sign that is triggered by running past it. Interact with it to start the 15 second timer and activate it again to disarm." diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index a0b975269ae..03f4ea9583e 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -296,6 +296,15 @@ /obj/item/clothing/glasses/hud/security/sunglasses/syndishades, ) +/obj/item/weapon/storage/box/syndie_kit/kitchengun + name = "Kitchen gun" + items_to_spawn = list( + /obj/item/weapon/gun/projectile/glock/fancy/kitchengun, + /obj/item/ammo_storage/magazine/m380auto, + /obj/item/ammo_storage/magazine/m380auto, + /obj/item/clothing/glasses/scanner/night + ) + /obj/item/weapon/storage/box/syndie_kit/boolets name = "Shotgun shells" items_to_spawn = list(/obj/item/ammo_casing/shotgun/fakebeanbag = 6) diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 33cfb6bc384..ba07bcbf100 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -290,6 +290,21 @@ mag_overlay() update_icon() +/obj/item/weapon/gun/projectile/glock/fancy/kitchengun + name = "\improper KITCHEN GUN!" + desc = "AN UBIQUITOUS SIDEARM PRODUCED BY CYBERSUN! SAY GOODBYE TO DAILY STAINS AND DIRTY SURFACES IN JUST THREE SHOTS! ACCEPTS .380 ROUNDS! FITS IN YOUR POCKET!
COMES WITH PLATINUM SIDING AND LASER SIGHT FOR AFTER DARK CLEANING!" + fire_sound = 'sound/weapons/kitchengun.ogg' + var/list/cleaning_targets = list() + +/obj/item/weapon/gun/projectile/glock/fancy/kitchengun/affect_speech(var/datum/speech/speech, var/mob/living/L) + if(L.get_active_hand() == src) + speech.message = uppertext(speech.message) + "!" + +/obj/item/weapon/gun/projectile/glock/fancy/kitchengun/play_firesound(mob/user, var/reflex) + . = ..() + if(!silenced) + visible_message("BANG!") + /obj/item/weapon/gun/projectile/glock/lockbox max_shells = 0 spawn_mag = FALSE diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index c3bb0f8bc6e..400038d650d 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -161,6 +161,22 @@ agony = 15 penetration = 2 +/obj/item/projectile/bullet/auto380/to_bump(atom/A) + . = ..() + if(A && shot_from.type == /obj/item/weapon/gun/projectile/glock/fancy/kitchengun) + var/obj/item/weapon/gun/projectile/glock/fancy/kitchengun/K = shot_from + if(!(A in K.cleaning_targets)) // BUT WITH THREE SHOTS FROM KITCHEN GUN + K.cleaning_targets += A // BANG + K.cleaning_targets[A]++ // BANG + if(K.cleaning_targets[A] > 2) // BANG + var/turf/T = get_turf(A) + T.clean_act(CLEANLINESS_BLEACH) + for(var/obj/O in T) + O.clean_act(CLEANLINESS_BLEACH) + A.clean_act(CLEANLINESS_BLEACH) // AND IT SPARKLES LIKE NEW + K.cleaning_targets[A] = 0 + K.cleaning_targets -= A + /obj/item/projectile/bullet/auto380/practice damage = 2 agony = 0 diff --git a/sound/weapons/kitchengun.ogg b/sound/weapons/kitchengun.ogg new file mode 100644 index 00000000000..edcca92fe1c Binary files /dev/null and b/sound/weapons/kitchengun.ogg differ