diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index d513772e19af..91623c736add 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -49,6 +49,8 @@ var/spawnwithmagazine = TRUE ///Compatible magazines with the gun var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info + ///What magazine this gun starts with, if null it will just use mag_type + var/starting_mag_type ///Whether the sprite has a visible magazine or not var/mag_display = FALSE ///Whether the sprite has a visible ammo display or not @@ -168,9 +170,13 @@ update_icon() return if (!magazine) - magazine = new mag_type(src) + if (!starting_mag_type) + magazine = new mag_type(src) + else + magazine = new starting_mag_type(src) chamber_round() update_icon() + /obj/item/gun/ballistic/update_icon() if (QDELETED(src)) diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 853d0b633727..8ef466d727ab 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -31,6 +31,9 @@ var/obj/item/suppressor/S = new(src) install_suppressor(S) +/obj/item/gun/ballistic/automatic/pistol/pacifist + starting_mag_type = /obj/item/ammo_box/magazine/m10mm/sp + /obj/item/gun/ballistic/automatic/pistol/m1911 name = "\improper M1911" desc = "A classic .45 handgun with a small magazine capacity." diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index a8835d61f0c5..945b20f30bfc 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -517,6 +517,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 6 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/pistol/spawn_item(spawn_path, mob/user, datum/component/uplink/U) + if(HAS_TRAIT_FROM(user, TRAIT_PACIFISM, ROUNDSTART_TRAIT)) + spawn_path = /obj/item/gun/ballistic/automatic/pistol/pacifist + to_chat(user, span_notice("Your employer has loaded your purchased weapon with non-lethal ammunition")) + ..() + /datum/uplink_item/dangerous/bolt_action name = "Surplus Rifle" desc = "A horribly outdated bolt action weapon. You've got to be desperate to use this."