diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm
index 2f32c88fb163..656a6e1645bf 100644
--- a/_maps/shuttles/solgov/solgov_paracelsus.dmm
+++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm
@@ -1010,11 +1010,14 @@
},
/obj/item/reagent_containers/food/drinks/mug/coco{
pixel_x = 7;
- pixel_y = 5
+ pixel_y = 12
},
/obj/item/pen/fountain/solgov{
pixel_x = -5
},
+/obj/machinery/recharger{
+ pixel_x = 7
+ },
/turf/open/floor/plasteel/white,
/area/ship/bridge)
"kF" = (
@@ -1856,15 +1859,11 @@
dir = 10
},
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/drinks/mug/coco{
- pixel_x = -7;
- pixel_y = -2
- },
-/obj/machinery/recharger,
/obj/item/spacecash/bundle/loadsamoney{
- pixel_x = 5;
- pixel_y = 8
+ pixel_x = 8;
+ pixel_y = 12
},
+/obj/machinery/fax,
/turf/open/floor/wood/mahogany,
/area/ship/bridge)
"sp" = (
@@ -3069,7 +3068,7 @@
/area/ship/crew/canteen)
"Eh" = (
/obj/item/bedsheet/double/solgov{
- dir = 8
+ dir = 4
},
/obj/structure/bed/double{
dir = 1
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index d6b9e05413a9..b64e76d1f075 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -526,17 +526,22 @@
if(!has_safety)
return
- if(src == !user.get_active_held_item())
+ if(src != user.get_active_held_item())
return
- playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE)
+ if(isliving(user) && in_range(src, user))
+ toggle_safety(user)
+
+/obj/item/gun/proc/toggle_safety(mob/user, silent=FALSE)
safety = !safety
- user.visible_message(
- span_notice("[user] turns the safety on [src] [safety ? "ON" : "OFF"]."),
- span_notice("You turn the safety on [src] [safety ? "ON" : "OFF"]."),
- vision_distance = COMBAT_MESSAGE_RANGE
- )
+ if(!silent)
+ playsound(user, 'sound/weapons/gun/general/selector.ogg', 100, TRUE)
+ user.visible_message(
+ span_notice("[user] turns the safety on [src] [safety ? "ON" : "OFF"]."),
+ span_notice("You turn the safety on [src] [safety ? "ON" : "OFF"]."),
+ )
+
update_appearance()
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index a8e2a201c81a..642fcdf0c0b0 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -101,7 +101,7 @@
return
if (!magazine)
magazine = new mag_type(src)
- chamber_round(TRUE)
+ chamber_round()
update_appearance()
/obj/item/gun/ballistic/update_icon_state()
diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm
index 66f6699321c2..ab54f3dd247c 100644
--- a/code/modules/projectiles/guns/ballistic/assault.dm
+++ b/code/modules/projectiles/guns/ballistic/assault.dm
@@ -255,9 +255,10 @@
return ..()
/obj/item/gun/ballistic/automatic/assault/e40/attackby(obj/item/attack_obj, mob/user, params)
- if(istype(attack_obj, /obj/item/stock_parts/cell/gun) || istype(attack_obj, /obj/item/screwdriver))
- secondary.attack_self()
+ if(istype(attack_obj, /obj/item/stock_parts/cell/gun))
secondary.attackby(attack_obj, user, params)
+ if(istype(attack_obj, /obj/item/screwdriver))
+ secondary.screwdriver_act(user, attack_obj,)
else
..()
@@ -303,6 +304,12 @@
update_icon()
return
+
+
+/obj/item/gun/ballistic/automatic/assault/e40/toggle_safety(mob/user, silent=FALSE)
+ . = ..()
+ secondary.toggle_safety(user, silent=TRUE)
+
//laser
/obj/item/gun/energy/laser/e40_laser_secondary
diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm
index de8b923fb967..8d4390398075 100644
--- a/code/modules/projectiles/guns/ballistic/shotgun.dm
+++ b/code/modules/projectiles/guns/ballistic/shotgun.dm
@@ -176,6 +176,7 @@
special_mags = TRUE
semi_auto = TRUE
internal_magazine = FALSE
+ casing_ejector = TRUE
tac_reloads = TRUE
pickup_sound = 'sound/items/handling/rifle_pickup.ogg'
manufacturer = MANUFACTURER_SCARBOROUGH
diff --git a/html/changelogs/AutoChangeLog-pr-2599.yml b/html/changelogs/AutoChangeLog-pr-2599.yml
new file mode 100644
index 000000000000..d1dcd9671b83
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-2599.yml
@@ -0,0 +1,8 @@
+author: FleetingExpertise
+changes:
+ - {bugfix: The 'phantom round' bug with guns has been fixed}
+ - {bugfix: Ghosts can no longer toggle gun safety}
+ - {bugfix: Bulldogs no longer destroy shotgun shells from existence}
+ - {bugfix: Bows should no longer randomly break}
+ - {bugfix: A lot of jank involving the E-40 has been fixed}
+delete-after: true
diff --git a/html/changelogs/AutoChangeLog-pr-2630.yml b/html/changelogs/AutoChangeLog-pr-2630.yml
new file mode 100644
index 000000000000..f499be504367
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-2630.yml
@@ -0,0 +1,5 @@
+author: Zevotech
+changes:
+ - {rscadd: adds a fax machine to the paracelsus-class}
+ - {bugfix: rotates a bedsheet on the paracelsus class to be the right direction}
+delete-after: true