diff --git a/code/game/vehicles/spacepods/spacepod.dm b/code/game/vehicles/spacepods/spacepod.dm
index bd3b7e05cc7..d7a070bd49c 100644
--- a/code/game/vehicles/spacepods/spacepod.dm
+++ b/code/game/vehicles/spacepods/spacepod.dm
@@ -672,22 +672,14 @@
set category = "Spacepod"
set src = usr.loc
+ if(CheckIfOccupant2(usr))
+ if(src.occupant)
+ src.occupant.visible_message("[src.occupant2.name] climbs out of the pod!") //Inform the remaining occupant that someone ejected.
+ inertia_dir = 0 // engage reverse thruster and power down pod
+ src.occupant2.loc = src.loc
+ src.occupant2 = null
+ usr << "You climb out of the pod."
- if(usr != src.occupant)
- if(src.occupant2)
- if(usr != src.occupant2)
- return
- else
- if(src.occupant)
- src.occupant.visible_message("[src.occupant2.name] climbs out of the pod!") //Inform the remaining occupant that someone ejected.
- inertia_dir = 0 // engage reverse thruster and power down pod
- src.occupant2.loc = src.loc
- src.occupant2 = null
- usr << "You climb out of the pod."
-
-
- else
- return
else
if(src.occupant2)
src.occupant2.visible_message("[src.occupant2.name] climbs out of the pod!") //Inform the remaining occupant that someone ejected.
@@ -724,63 +716,47 @@
set category = "Spacepod"
set src = usr.loc
- if(occupant2 == usr)
+ if(CheckIfOccupant2(usr))
if(!allow2enter)
usr << "You can't unlock the doors from your seat."
return
else
usr << "You can't lock the doors from your seat."
return
+
+ if(src.allow2enter)
+ src.allow2enter = 0
+ usr << "You lock the doors."
else
- if(src.allow2enter)
- src.allow2enter = 0
- usr << "You lock the doors."
- else
- src.allow2enter = 1
- usr << "You unlock the doors."
+ src.allow2enter = 1
+ usr << "You unlock the doors."
/obj/spacepod/verb/toggleDoors()
- if(src.occupant2)
- if(usr.ckey != src.occupant2.ckey)
- set name = "Toggle Nearby Pod Doors"
- set category = "Spacepod"
- set src = usr.loc
+ set name = "Toggle Nearby Pod Doors"
+ set category = "Spacepod"
+ set src = usr.loc
- for(var/obj/machinery/door/poddoor/P in oview(3,src))
- if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver))
- var/mob/living/carbon/human/L = usr
- if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
- if(P.density)
- P.open()
- return 1
- else
- P.close()
- return 1
- usr << "Access denied."
- return
- usr << "You are not close to any pod doors."
- return
- else
- return
- else
- set name = "Toggle Nearby Pod Doors"
- set category = "Spacepod"
- set src = usr.loc
+ var/list/pod_door_types = list(/obj/machinery/door/poddoor/two_tile_hor/, /obj/machinery/door/poddoor/two_tile_ver/, \
+ /obj/machinery/door/poddoor/three_tile_hor, /obj/machinery/door/poddoor/three_tile_ver, \
+ /obj/machinery/door/poddoor/four_tile_hor, /obj/machinery/door/poddoor/four_tile_ver)
+
+ if(CheckIfOccupant2(usr)) return
+ for(var/obj/machinery/door/poddoor/P in oview(3,src))
+ if(is_type_in_list(P,pod_door_types))
+ var/mob/living/carbon/human/L = usr
+ if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
+ if(P.density)
+ P.open()
+ return 1
+ else
+ P.close()
+ return 1
+ usr << "Access denied."
+ return
+
+ usr << "You are not close to any pod doors."
+ return
- for(var/obj/machinery/door/poddoor/P in oview(3,src))
- if(istype(P, /obj/machinery/door/poddoor/three_tile_hor) || istype(P, /obj/machinery/door/poddoor/three_tile_ver) || istype(P, /obj/machinery/door/poddoor/four_tile_hor) || istype(P, /obj/machinery/door/poddoor/four_tile_ver))
- var/mob/living/carbon/human/L = usr
- if(P.check_access(L.get_active_hand()) || P.check_access(L.wear_id))
- if(P.density)
- P.open()
- return 1
- else
- P.close()
- return 1
- usr << "Access denied."
- return
- usr << "You are not close to any pod doors."
- return
/obj/spacepod/verb/fireWeapon()
if(!CheckIfOccupant2(usr))