diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index 9e45a04d300..6686a050f94 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(summoned_guns, list(
/obj/item/gun/energy/gun,
/obj/item/gun/energy/gun/advtaser,
/obj/item/gun/energy/laser,
- /obj/item/gun/projectile/revolver,
+ /obj/item/gun/projectile/revolver/syndie,
/obj/item/gun/energy/detective,
/obj/item/gun/projectile/automatic/pistol/deagle/camo,
/obj/item/gun/projectile/automatic/gyropistol,
diff --git a/code/game/gamemodes/wizard/wizloadouts.dm b/code/game/gamemodes/wizard/wizloadouts.dm
index 546eea27acb..b54e03a3e5a 100644
--- a/code/game/gamemodes/wizard/wizloadouts.dm
+++ b/code/game/gamemodes/wizard/wizloadouts.dm
@@ -53,7 +53,7 @@
Bring them to the afterlife, one trigger pull at a time.
\
You will likely need to scavenge additional ammo or weapons aboard the station.
\
Provides a .357 Revolver, 4 speedloaders of ammo, Ethereal Jaunt, Blink, Summon Item, No Clothes, and Bind Soul, with a unique outfit."
- items_path = list(/obj/item/gun/projectile/revolver, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/clothing/under/syndicate)
+ items_path = list(/obj/item/gun/projectile/revolver/syndie, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, /obj/item/clothing/under/syndicate)
spells_path = list(/datum/spell/ethereal_jaunt, /datum/spell/turf_teleport/blink, \
/datum/spell/summonitem, /datum/spell/noclothes, /datum/spell/lichdom/gunslinger)
category = "Unique"
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index a84622ae580..c3d619d550c 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -96,7 +96,7 @@
name = "Heist Bundle"
desc = "Alright guys, today we're performing a heist on a space station owned by a greedy corporation. Drain the vault of all its worth so we can get that pay dirt!11"
items = list(
- /obj/item/gun/projectile/revolver, // 65 TC
+ /obj/item/gun/projectile/revolver/syndie, // 65 TC
/obj/item/ammo_box/a357, // 15 TC
/obj/item/ammo_box/a357, // 15 TC
/obj/item/card/emag, // 30 TC
@@ -215,8 +215,8 @@
desc = "Get pretty good with two revolvers, two speedloaders, and a backup combat knife."
items = list(
/obj/item/kitchen/knife/combat, // 0TC but very robust
- /obj/item/gun/projectile/revolver, // 65TC
- /obj/item/gun/projectile/revolver, // 65TC
+ /obj/item/gun/projectile/revolver/syndie, // 65TC
+ /obj/item/gun/projectile/revolver/syndie, // 65TC
/obj/item/ammo_box/a357, // 15TC
/obj/item/ammo_box/a357, // 15TC
/obj/item/encryptionkey/syndicate, // 10TC
@@ -540,7 +540,7 @@
name = "\improper .357 revolver kit"
/obj/item/storage/box/syndie_kit/revolver/populate_contents()
- new /obj/item/gun/projectile/revolver(src)
+ new /obj/item/gun/projectile/revolver/syndie(src)
new /obj/item/ammo_box/a357(src)
/obj/item/storage/box/syndie_kit/stechkin
diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm
index 3260b9f51a9..78ae993d3cb 100644
--- a/code/modules/admin/verbs/striketeam_syndicate.dm
+++ b/code/modules/admin/verbs/striketeam_syndicate.dm
@@ -133,7 +133,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0)
equip_to_slot_or_del(new /obj/item/storage/backpack/security(src), ITEM_SLOT_BACK)
equip_to_slot_or_del(new /obj/item/storage/box/survival_syndie(src), ITEM_SLOT_IN_BACKPACK)
- equip_to_slot_or_del(new /obj/item/gun/projectile/revolver(src), ITEM_SLOT_IN_BACKPACK)
+ equip_to_slot_or_del(new /obj/item/gun/projectile/revolver/syndie(src), ITEM_SLOT_IN_BACKPACK)
equip_to_slot_or_del(new /obj/item/ammo_box/a357(src), ITEM_SLOT_IN_BACKPACK)
equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/combat/nanites(src), ITEM_SLOT_IN_BACKPACK)
equip_to_slot_or_del(new /obj/item/grenade/plastic/c4/x4(src), ITEM_SLOT_IN_BACKPACK)
diff --git a/code/modules/projectiles/guns/chaos_bolt.dm b/code/modules/projectiles/guns/chaos_bolt.dm
index 0f9578842b5..ae8a0099a9d 100644
--- a/code/modules/projectiles/guns/chaos_bolt.dm
+++ b/code/modules/projectiles/guns/chaos_bolt.dm
@@ -365,7 +365,7 @@
if("chaos wand")
item_to_summon = /obj/item/gun/magic/wand/chaos
if("revolver")
- item_to_summon = /obj/item/gun/projectile/revolver
+ item_to_summon = /obj/item/gun/projectile/revolver/syndie
if("aeg")
item_to_summon = /obj/item/gun/energy/gun/nuclear
if("tarot deck")
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 3f989f783df..97962b6541c 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -16,7 +16,8 @@
/obj/item/gun/projectile/revolver/examine(mob/user)
. = ..()
. += "[get_ammo(0, 0)] of those are live rounds."
- . += SPAN_NOTICE("You can Alt-Click [src] to spin it's barrel.")
+ if(istype(magazine, /obj/item/ammo_box/magazine/internal/cylinder)) // Ideally, a double barrel shotgun or peashooter has no cylinder.
+ . += SPAN_NOTICE("You can Alt-Click [src] to spin it's cylinder.")
/obj/item/gun/projectile/revolver/chamber_round(spin = 1)
if(spin)
@@ -65,7 +66,11 @@
/obj/item/gun/projectile/revolver/AltClick(mob/user)
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
return
-
+ if(user.incapacitated())
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
+ return
+ if(unique_reskin && !current_skin && loc == user)
+ reskin_gun(user)
if(!istype(magazine, /obj/item/ammo_box/magazine/internal/cylinder))
return ..()
var/obj/item/ammo_box/magazine/internal/cylinder/C = magazine
@@ -113,6 +118,20 @@
user.bleed(BLOOD_VOLUME_NORMAL)
user.death() // Just in case
+/// Syndicate .357, same as the basetype except it can be customised
+/obj/item/gun/projectile/revolver/syndie
+ unique_reskin = TRUE
+
+/obj/item/gun/projectile/revolver/syndie/Initialize(mapload)
+ . = ..()
+ options["Default"] = "revolver"
+ options["Golden Finish"] = "revolver-gold"
+ options["Silver Finish"] = "revolver-silver"
+ options["Bronze Finish"] = "revolver-bronze"
+ options["Copper Finish"] = "revolver-copper"
+ options["Fancy"] = "revolver-fancy"
+ options["Rose Gold Finish"] = "revolver-rose"
+
/// Summoned by the Finger Gun spell, from advanced mimery traitor item
/obj/item/gun/projectile/revolver/fingergun
name = "finger gun"
diff --git a/icons/tgmc/objects/guns.dmi b/icons/tgmc/objects/guns.dmi
index e5650e50ad0..9434181dbc2 100644
Binary files a/icons/tgmc/objects/guns.dmi and b/icons/tgmc/objects/guns.dmi differ