diff --git a/code/datums/riding.dm b/code/datums/riding.dm
index ec6db9deb99..9695dbae120 100644
--- a/code/datums/riding.dm
+++ b/code/datums/riding.dm
@@ -43,7 +43,7 @@
buckled_mob.pixel_x = 0
buckled_mob.pixel_y = 0
if(buckled_mob.client)
- buckled_mob.client.view = world.view
+ buckled_mob.client.change_view(world.view)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 0df72c79ca9..0e5b9d3876e 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -971,7 +971,7 @@
setDir(dir_in)
if(L && L.client)
- L.client.view = world.view
+ L.client.change_view(world.view)
zoom_mode = 0
/////////////////////////
diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm
index 9d9505a01ef..b243981717f 100644
--- a/code/game/mecha/mecha_actions.dm
+++ b/code/game/mecha/mecha_actions.dm
@@ -239,10 +239,10 @@
chassis.log_message("Toggled zoom mode.")
chassis.occupant_message("Zoom mode [chassis.zoom_mode?"en":"dis"]abled.")
if(chassis.zoom_mode)
- owner.client.view = 12
+ owner.client.change_view(12)
owner << sound('sound/mecha/imag_enh.ogg',volume=50)
else
- owner.client.view = world.view//world.view - default mob view size
+ owner.client.change_view(world.view) //world.view - default mob view size
UpdateButtonIcon()
/datum/action/innate/mecha/mech_switch_damtype
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index de00b830923..01480d92f2d 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -551,3 +551,10 @@ var/next_external_rsc = 0
return FALSE
if ("key")
return FALSE
+
+
+/client/proc/change_view(new_size)
+ if (isnull(new_size))
+ CRASH("change_view called without argument.")
+
+ view = new_size
diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm
index fe099ed9a91..05b2091a59d 100644
--- a/code/modules/clothing/spacesuits/flightsuit.dm
+++ b/code/modules/clothing/spacesuits/flightsuit.dm
@@ -1272,12 +1272,12 @@
/obj/item/clothing/head/helmet/space/hardsuit/flightsuit/proc/toggle_zoom(mob/living/user, force_off = FALSE)
if(zoom || force_off)
- user.client.view = world.view
+ user.client.change_view(world.view)
user << "Disabling smart zooming image enhancement..."
zoom = FALSE
return FALSE
else
- user.client.view = zoom_range
+ user.client.change_view(zoom_range)
user << "Enabling smart zooming image enhancement!"
zoom = TRUE
return TRUE
diff --git a/code/modules/spells/spell_types/devil_boons.dm b/code/modules/spells/spell_types/devil_boons.dm
index 85ca441adef..b7ef4b03c45 100644
--- a/code/modules/spells/spell_types/devil_boons.dm
+++ b/code/modules/spells/spell_types/devil_boons.dm
@@ -41,4 +41,4 @@
for(var/mob/C in targets)
if(!C.client)
continue
- C.client.view = input("Select view range:", "Range", 4) in ranges
\ No newline at end of file
+ C.client.change_view(input("Select view range:", "Range", 4) in ranges)
\ No newline at end of file
diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm
index 3664ad5d705..9c28b5e624c 100644
--- a/code/modules/vehicles/vehicle.dm
+++ b/code/modules/vehicles/vehicle.dm
@@ -42,7 +42,7 @@
M.loc = get_turf(src)
..()
if(user.client)
- user.client.view = view_range
+ user.client.change_view(view_range)
if(riding_datum)
riding_datum.ridden = src
riding_datum.handle_vehicle_offsets()