From c4fb9bff753fa29791ec231b9ecb0e14cd3213e4 Mon Sep 17 00:00:00 2001 From: MixityMaxity <189351891+MixityMaxity@users.noreply.github.com> Date: Sat, 28 Feb 2026 06:07:58 +1100 Subject: [PATCH] Adds seven alternate finishes for the .357 Revolver (#31668) * Adds Syndie Subtype and extra finishes * Switches all mentions of standard revolver to the new syndicate version * Wait why are we spinning the *barrel* * removes duped name and description --- code/game/gamemodes/wizard/rightandwrong.dm | 2 +- code/game/gamemodes/wizard/wizloadouts.dm | 2 +- .../items/weapons/storage/uplink_kits.dm | 8 +++--- .../admin/verbs/striketeam_syndicate.dm | 2 +- code/modules/projectiles/guns/chaos_bolt.dm | 2 +- .../projectiles/guns/projectile/revolver.dm | 23 ++++++++++++++++-- icons/tgmc/objects/guns.dmi | Bin 3899 -> 12083 bytes 7 files changed, 29 insertions(+), 10 deletions(-) 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 e5650e50ad00d7b1db29e2a6d909f32e735e0dbb..9434181dbc2a2f598554627ef1309b20274968f7 100644 GIT binary patch literal 12083 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 literal 3899 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 Rr(V