From ffcf01d82a6e4cfc80190299bba22a87d09652fa Mon Sep 17 00:00:00 2001 From: Mathilde <146444134+ibexgoetia@users.noreply.github.com> Date: Sun, 24 May 2026 14:16:41 +0200 Subject: [PATCH] Adds the 9mm Speed Loader (#5665) ## About The Pull Request I've added a speed loader usable by the new Protector revolver, sprited by both me and Niim. It holds five 9mm bullets, craftable from both the security fabricator and the autolathe, just like the .38 speedloader. Obviously, it can only hold 9mm bullets, you can't use it to pick up other ammo types. ## Why It's Good For The Game The new revolver is EXTREMELY janky to reload otherwise, only allowing one single bullet at a time from Murphy magazines. ## Proof Of Testing https://files.catbox.moe/zy8hcw.mp4 I've since fixed some spelling mistakes visible in the preview (was speedloader, changed to speed loader) ## Changelog :cl: IbexGoetia, Niim add: Added a speed loader for the Protector revolver. It holds five 9mm bullets, and can be crafted from the security fabricator and the autolathe. /:cl: --- .../sec_haul/code/technode/all_nodes.dm | 1 + .../boxes_magazines/external/pistol.dm | 23 ++++++++++++++++++ .../research/designs/weapon_designs.dm | 16 ++++++++++++ .../icons/obj/weapons/guns/ammo.dmi | Bin 667 -> 1043 bytes 4 files changed, 40 insertions(+) diff --git a/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm b/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm index 99f027555bf..5c359566428 100644 --- a/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm +++ b/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm @@ -30,6 +30,7 @@ design_ids += "ammoworkbench_disk_lethal" design_ids += "ammo_workbench" design_ids += "m9mm_sec" + design_ids += "m9mm_sec_speedloader" /datum/techweb_node/sec_equip/New() . = ..() diff --git a/modular_zubbers/code/modules/projectiles/boxes_magazines/external/pistol.dm b/modular_zubbers/code/modules/projectiles/boxes_magazines/external/pistol.dm index 603b83c325c..d34b3cfa4ff 100644 --- a/modular_zubbers/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/modular_zubbers/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -65,3 +65,26 @@ for(var/i = 0; i < bullets_to_remove; i++) qdel(get_round()) update_icon() + +/obj/item/ammo_box/speedloader/security + name = "speed loader (9mm Murphy)" + desc = "Designed to quickly reload five-chambered 9mm revolvers." + icon = 'modular_zubbers/icons/obj/weapons/guns/ammo.dmi' + icon_state = "9mm" + base_icon_state = "9mm" + ammo_type = /obj/item/ammo_casing/security + caliber = CALIBER_9MM_SEC + max_ammo = 5 + ammo_band_icon = null + ammo_band_color = null + +/obj/item/ammo_box/speedloader/security/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-base" + +/obj/item/ammo_box/speedloader/security/update_overlays() + . = ..() + if(!LAZYLEN(stored_ammo)) + return + for(var/inserted_ammo in 1 to stored_ammo.len) + . += "9mm-revolver-[inserted_ammo]" diff --git a/modular_zubbers/code/modules/research/designs/weapon_designs.dm b/modular_zubbers/code/modules/research/designs/weapon_designs.dm index 7ff968eef11..526acb51cff 100644 --- a/modular_zubbers/code/modules/research/designs/weapon_designs.dm +++ b/modular_zubbers/code/modules/research/designs/weapon_designs.dm @@ -270,3 +270,19 @@ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO ) departmental_flags = DEPARTMENT_BITFLAG_SECURITY + +/datum/design/m9mm_sec_speedloader + name = "Speed Loader (9x25mm Murphy) (Lethal)" + desc = "Designed to quickly reload five-chambered 9mm revolvers." + id = "m9mm_sec_speedloader" + build_type = PROTOLATHE | AWAY_LATHE | AUTOLATHE + materials = list( + /datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT * 15, + /datum/material/plastic = HALF_SHEET_MATERIAL_AMOUNT * 2, + ) + build_path = /obj/item/ammo_box/speedloader/security + category = list( + RND_CATEGORY_INITIAL, + RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO, + ) + departmental_flags = DEPARTMENT_BITFLAG_SECURITY diff --git a/modular_zubbers/icons/obj/weapons/guns/ammo.dmi b/modular_zubbers/icons/obj/weapons/guns/ammo.dmi index 14482eb9799fa0a9a7ef39fd42701c5d1b8f90e9..ef9008588f2377c2717d1dbef1fad965073fbf61 100644 GIT binary patch delta 998 zcmV0001h2m=5B0K2`CDF6Tfb&(}K zf4PMTB_$nLKR-X0Z!=&hAVwV*r>Cd5k3GkPd<=pPb@1Jlvh{>@!)eR}n zH6FRKvVW2TDK-g4lWd*vO`c&SxV#HDH`X!7eHjh?#Ld8Nj|ihy8tczej5@cQ2*F`Ne9c6jgNhN2d5AlYld629CgofsXtMAOrvafcJxx;zrodMv+1& zN4hDv_0vAPRk_ZKLjUbpXSnqYkoGR%DP_Qdc}N)V z0;450E|QZF_>YA)T(KNKbxugAwt02?A zD~u=GXK8(O|1PzU?%$>M(fzyB9smFU0000000Db`u&-I@_K0loqyw`{PuL;9jY|jt+1GeAWAJ3)&%knN4 zx%hrAkNq8d*N6Po=t6pr=d~|(g0Tw*eDyBC=n2U96#+AUz@-AOe_MRH3vU&2_4#cJ zIln5P@BH9Wfniz_UfhCb@4v@5zbc^j{Gcg;t-!GC@#S;2`1u*N-@$u*$gc_Le-F0q zDI7xq7e6cke6JbGUy0Hg(c-jw0Pvpp374Z` Uca7<{907*qoM6N<$g7^N@DF6Tf delta 619 zcmV-x0+jue2%7~ZiBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3cKanLp ze*pggxrGUZ$`JYh0004WQchCdQ@0+L}hbha%pgMX>V=-0C=2JR&a84 z_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5sUW{R zwWuI5Ia`T~GbOXA7$|1Q#hF%=n41b=e`BiD%}C5iBSCpuX-*FD%HxZ36LWHOb961p z&|^Y|9s`o~7#fkRg>=u5?iCU|qKh*^loee4T)-&_0GKbbC5#y>f&c&kUP(kjRA_;b$0taYJe(i1$dA*1~x4O0hq89LJ0X!)LJfOTz|EHe<|`L zZwq|Bc9lsdGfmsyIp4LlZr~;{19zZ}m&U1JIc6s1@e`14HJ>B2`kZ8VF zYf%Hy{NLRE0VJC5hk;Q4Ae!%ofz1Aai)ds2fDl4Hj&BsQ5cl^51>XPw002ovPDHLk FV1jKe8JYk9