From 979935a7c99a84742160280b7730a878d2faffe3 Mon Sep 17 00:00:00 2001
From: HMBGERDO <61080616+HMBGERDO@users.noreply.github.com>
Date: Mon, 21 Aug 2023 20:56:33 +0200
Subject: [PATCH] Fixed Trick Revolver, Added Trick minibomb (#21915)
* trick revolver fix, trick minibomb added
* Update code/datums/uplink_items/uplink_traitor.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Update code/game/objects/items/weapons/grenades/syndieminibomb.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Update code/modules/projectiles/guns/projectile/revolver.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Update code/modules/projectiles/guns/projectile/revolver.dm
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
* Update code/datums/uplink_items/uplink_traitor.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Update code/datums/uplink_items/uplink_traitor.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Update code/game/objects/items/weapons/grenades/syndieminibomb.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Update code/modules/projectiles/guns/projectile/revolver.dm
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
* Update code/datums/uplink_items/uplink_traitor.dm
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
---------
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
---
code/datums/uplink_items/uplink_traitor.dm | 9 ++++++
.../items/weapons/grenades/syndieminibomb.dm | 14 ++++++++++
.../items/weapons/storage/uplink_kits.dm | 8 +++++-
.../projectiles/guns/projectile/revolver.dm | 28 +++++++++++++++++++
4 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm
index 474b144b2ee..d8def446a96 100644
--- a/code/datums/uplink_items/uplink_traitor.dm
+++ b/code/datums/uplink_items/uplink_traitor.dm
@@ -41,6 +41,15 @@
item = /obj/item/storage/box/syndie_kit/fake_revolver
cost = 5
job = list("Clown")
+
+/datum/uplink_item/jobspecific/trick_grenade
+ name = "Trick Grenade"
+ desc = "Syndicate Minibomb with glue ejectors that will stick it to the user's hands on activation."
+ reference = "CGN"
+ item = /obj/item/storage/box/syndie_kit/fake_minibomb
+ cost = 5
+ job = list("Clown")
+
//mime
/datum/uplink_item/jobspecific/caneshotgun
name = "Cane Shotgun and Assassination Shells"
diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
index 4bae6ff0510..0eb76dbf86a 100644
--- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm
+++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
@@ -10,3 +10,17 @@
update_mob()
explosion(loc, 1, 2, 4, flame_range = 2)
qdel(src)
+
+/obj/item/grenade/syndieminibomb/fake
+
+/obj/item/grenade/syndieminibomb/fake/examine(mob/user)
+ . = ..()
+ if(HAS_TRAIT(user, TRAIT_CLUMSY))
+ . += "There are small glue ejectors all over the bomb."
+
+/obj/item/grenade/syndieminibomb/fake/attack_self(mob/user)
+ if(!active)
+ flags |= NODROP
+ to_chat(user, "As you activate the bomb, it emits a substance that sticks to your hand! It won't come off!")
+ to_chat(user, "Uh oh.")
+ . = ..()
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 4b91c7bcbb0..0183e3fa685 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -263,11 +263,17 @@
new /obj/item/ammo_casing/shotgun/assassination(src)
new /obj/item/gun/projectile/revolver/doublebarrel/improvised/cane(src)
+/obj/item/storage/box/syndie_kit/fake_minibomb
+ name = "trick minibomb kit"
+
+/obj/item/storage/box/syndie_kit/fake_minibomb/populate_contents()
+ new /obj/item/grenade/syndieminibomb/fake(src)
+
/obj/item/storage/box/syndie_kit/fake_revolver
name = "trick revolver kit"
/obj/item/storage/box/syndie_kit/fake_revolver/populate_contents()
- new /obj/item/toy/russian_revolver/trick_revolver(src)
+ new /obj/item/gun/projectile/revolver/fake(src)
/obj/item/storage/box/syndie_kit/mimery
name = "advanced mimery kit"
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 827c56ace2e..f02ab5ea181 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -91,6 +91,34 @@
. = ..()
. += "[get_ammo(0,0)] of those are live rounds."
+/obj/item/gun/projectile/revolver/fake
+
+/obj/item/gun/projectile/revolver/fake/examine(mob/user)
+ . = ..()
+ if(HAS_TRAIT(user, TRAIT_CLUMSY))
+ . += "Its mechanism seems to shoot backwards."
+
+/obj/item/gun/projectile/revolver/fake/process_fire(atom/target, mob/living/carbon/human/user, message, params, zone_override, bonus_spread)
+ var/zone = "chest"
+ if(user.has_organ("head"))
+ zone = "head"
+ add_fingerprint(user)
+ if(!chambered)
+ shoot_with_empty_chamber(user)
+ return
+ if(!chambered.fire(target = user, user = user, params = params, distro = null, quiet = suppressed, zone_override = zone, spread = 0, firer_source_atom = src))
+ shoot_with_empty_chamber(user)
+ return
+ process_chamber()
+ update_icon()
+ playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, TRUE)
+ user.visible_message("[src] goes off!")
+ to_chat(user, "[src] did look pretty dodgey!")
+ SEND_SOUND(user, sound('sound/misc/sadtrombone.ogg')) //HONK
+ user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].")
+ user.bleed(BLOOD_VOLUME_NORMAL)
+ user.death() // Just in case
+
/obj/item/gun/projectile/revolver/fingergun //Summoned by the Finger Gun spell, from advanced mimery traitor item
name = "\improper finger gun"
desc = "Bang bang bang!"