From 66044413f05b74ef67abacf00b5bf5ff8bc561de Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Wed, 20 May 2015 09:10:39 -0700 Subject: [PATCH] Refactor a few spacepod verbs, Fix being unable to open 2 tile poddoors --- code/game/vehicles/spacepods/spacepod.dm | 98 +++++++++--------------- 1 file changed, 37 insertions(+), 61 deletions(-) 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))