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