diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 9d02cce8c5e9..4c3a4476d733 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -951,6 +951,22 @@ var/list/rebel_rifles = list( list("Webbing", 10, /obj/item/clothing/accessory/storage/webbing, null, VENDOR_ITEM_REGULAR) ) +/datum/equipment_preset/proc/load_upp_shotgun(mob/living/carbon/human/new_human) + var/random_shotgun = rand(1,3) + switch(random_shotgun) + if(1) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) + if(2) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/slug, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_R_STORE) + if(3) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/flechette, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_R_STORE) + /datum/equipment_preset/proc/add_upp_weapon(mob/living/carbon/human/new_human) var/random_gun = rand(1,5) switch(random_gun) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 58ee8b0156fa..39a6c98aea0f 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -127,22 +127,8 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/np92, WEAR_WAIST) + load_upp_shotgun(new_human) -/datum/equipment_preset/upp/soldier/proc/pick_ammotype(mob/living/carbon/human/new_human) - var/percentage = rand(1, 100) - switch(percentage) - if(1 to 33) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) - if(34 to 66) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/slug, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_R_STORE) - else - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/flechette, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_R_STORE) /datum/equipment_preset/upp/soldier/proc/load_upp_double(mob/living/carbon/human/new_human, obj/item/clothing/under/marine/veteran/UPP/UPP) //back diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 0b54d973549a..2eddf975c1b9 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1916,6 +1916,8 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed target = src.target if(!user) user = gun_user + if(!target || !user) + return NONE return Fire(target, user, params, reflex, dual_wield) /// Setter proc for fa_firing diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index d58385d3edc0..6c94973997f5 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -693,15 +693,15 @@ DEFINES in setup.dm, referenced here. var/old_firemode = gun_firemode gun_firemode_list.len = 0 + if(start_automatic) + gun_firemode_list |= GUN_FIREMODE_AUTOMATIC + if(start_semiauto) gun_firemode_list |= GUN_FIREMODE_SEMIAUTO if(burst_amount > BURST_AMOUNT_TIER_1) gun_firemode_list |= GUN_FIREMODE_BURSTFIRE - if(start_automatic) - gun_firemode_list |= GUN_FIREMODE_AUTOMATIC - if(!length(gun_firemode_list)) CRASH("[src] called setup_firemodes() with an empty gun_firemode_list") diff --git a/html/changelogs/AutoChangeLog-pr-4246.yml b/html/changelogs/AutoChangeLog-pr-4246.yml deleted file mode 100644 index 5101fc295eec..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4246.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Drathek" -delete-after: True -changes: - - bugfix: "Fixed xeno grab intent" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4298.yml b/html/changelogs/AutoChangeLog-pr-4298.yml deleted file mode 100644 index 9f03337cafa0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4298.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Birdtalon" -delete-after: True -changes: - - bugfix: "fixed eggsac carrier strain not updating hugger sprites." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4329.yml b/html/changelogs/AutoChangeLog-pr-4329.yml deleted file mode 100644 index 229c88aa925e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4329.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Morrow" -delete-after: True -changes: - - rscadd: "Added a ghost notification for Acid Runner For the Hive! ability." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4334.yml b/html/changelogs/AutoChangeLog-pr-4334.yml deleted file mode 100644 index 6d99db8da34d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4334.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "RenaRenaRe" -delete-after: True -changes: - - bugfix: "Hugger and Lesser Drone ghosts now actually bypass time of death checks for the larva queue." \ No newline at end of file diff --git a/html/changelogs/archive/2023-09.yml b/html/changelogs/archive/2023-09.yml index 27c0065c283b..e164bd50d41a 100644 --- a/html/changelogs/archive/2023-09.yml +++ b/html/changelogs/archive/2023-09.yml @@ -62,3 +62,20 @@ Zonespace27: - bugfix: Working Joes no longer get cryo self defense kits - bugfix: Cryo self defense kits now have the correct amount of slots +2023-09-06: + Birdtalon: + - bugfix: fixed eggsac carrier strain not updating hugger sprites. + Drathek: + - bugfix: Fixed xeno grab intent + Morrow: + - rscadd: Added a ghost notification for Acid Runner For the Hive! ability. + RenaRenaRe: + - bugfix: Hugger and Lesser Drone ghosts now actually bypass time of death checks + for the larva queue. +2023-09-07: + Morrow: + - bugfix: Fixed a null reference when firing full auto and dropping your weapon + Steelpoint: + - bugfix: ERT UPP Soldiers will now correctly spawn with firearms. + harryob: + - rscadd: guns that have full auto now start on full auto by default