From 3a9d45c2d629b62658a58bf014974fe62f1e8222 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 23 Nov 2014 22:44:00 +0100 Subject: [PATCH] Adds podbay doors to the pods that can be opened using the button, or from within the pod. Also includes other map fixes. --- baystation12.dme | 8 +- code/game/area/Space Station 13 areas.dm | 4 + code/game/machinery/doors/poddoor.dm | 166 ++++++++++- .../vehicles}/spacepods/construction.dm | 0 .../vehicles}/spacepods/equipment.dm | 4 +- .../pomf => game/vehicles}/spacepods/parts.dm | 0 .../vehicles/spacepods/spacepod.dm} | 21 +- icons/obj/doors/1x3blast_hor.dmi | Bin 0 -> 1495 bytes icons/obj/doors/1x3blast_vert.dmi | Bin 0 -> 2014 bytes maps/cyberiad.dmm | 268 ++++++++++-------- maps/cyberiad.dmm.backup | 268 ++++++++++-------- 11 files changed, 481 insertions(+), 258 deletions(-) rename code/{WorkInProgress/pomf => game/vehicles}/spacepods/construction.dm (100%) rename code/{WorkInProgress/pomf => game/vehicles}/spacepods/equipment.dm (97%) rename code/{WorkInProgress/pomf => game/vehicles}/spacepods/parts.dm (100%) rename code/{WorkInProgress/pomf/spacepods/spacepods.dm => game/vehicles/spacepods/spacepod.dm} (95%) create mode 100644 icons/obj/doors/1x3blast_hor.dmi create mode 100644 icons/obj/doors/1x3blast_vert.dmi diff --git a/baystation12.dme b/baystation12.dme index 85e8e0e4a6f..e34fae0e634 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -810,6 +810,10 @@ #include "code\game\turfs\unsimulated\beach.dm" #include "code\game\turfs\unsimulated\floor.dm" #include "code\game\turfs\unsimulated\walls.dm" +#include "code\game\vehicles\spacepods\construction.dm" +#include "code\game\vehicles\spacepods\equipment.dm" +#include "code\game\vehicles\spacepods\parts.dm" +#include "code\game\vehicles\spacepods\spacepod.dm" #include "code\game\verbs\atom_verbs.dm" #include "code\game\verbs\ooc.dm" #include "code\game\verbs\suicide.dm" @@ -1600,10 +1604,6 @@ #include "code\WorkInProgress\computer3\computers\welcome.dm" #include "code\WorkInProgress\kilakk\fax.dm" #include "code\WorkInProgress\Mini\atmos_control.dm" -#include "code\WorkInProgress\pomf\spacepods\construction.dm" -#include "code\WorkInProgress\pomf\spacepods\equipment.dm" -#include "code\WorkInProgress\pomf\spacepods\parts.dm" -#include "code\WorkInProgress\pomf\spacepods\spacepods.dm" #include "code\WorkInProgress\Ported\policetape.dm" #include "code\WorkInProgress\Sayu\belt.dm" #include "code\WorkInProgress\Sayu\cargoprofile.dm" diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index c4cae42dad1..03d8fe588c5 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -754,6 +754,10 @@ var/list/ghostteleportlocs = list() /area/atmos/control name = "Atmospherics Control Room" icon_state = "atmos" + +/area/atmos/distribution + name = "Atmospherics Distribution Loop" + icon_state = "atmos" //Maintenance diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 2c011aa316e..676169c356e 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -1,6 +1,6 @@ /obj/machinery/door/poddoor name = "Podlock" - desc = "Why it no open!!!" + desc = "That looks like it doesn't open easily." icon = 'icons/obj/doors/rapid_pdoor.dmi' icon_state = "pdoor1" var/id = 1.0 @@ -14,7 +14,10 @@ /obj/machinery/door/poddoor/four_tile_ver/ name = "Large Pod Door" icon = 'icons/obj/doors/1x4blast_vert.dmi' - + +/obj/machinery/door/poddoor/three_tile_ver/ + name = "Large Pod Door" + icon = 'icons/obj/doors/1x3blast_vert.dmi' /obj/machinery/door/poddoor/Bumped(atom/AM) if(!density) @@ -122,6 +125,58 @@ src.operating = 0 return */ +/obj/machinery/door/poddoor/three_tile_hor/open() + if (src.operating == 1) //doors can still open when emag-disabled + return + if (!ticker) + return 0 + if(!src.operating) //in case of emag + src.operating = 1 + flick("pdoorc0", src) + src.icon_state = "pdoor0" + sleep(10) + src.density = 0 + src.SetOpacity(0) + + f1.density = 0 + f1.SetOpacity(0) + f2.density = 0 + f2.SetOpacity(0) + f3.density = 0 + f3.SetOpacity(0) + + update_nearby_tiles() + + if(operating == 1) //emag again + src.operating = 0 + if(autoclose) + spawn(150) + autoclose() + return 1 + +/obj/machinery/door/poddoor/three_tile_hor/close() + if (src.operating) + return + src.operating = 1 + flick("pdoorc1", src) + src.icon_state = "pdoor1" + src.density = 1 + + f1.density = 1 + f1.SetOpacity(1) + f2.density = 1 + f2.SetOpacity(1) + f3.density = 1 + f3.SetOpacity(1) + + if (src.visible) + src.SetOpacity(1) + update_nearby_tiles() + + sleep(10) + src.operating = 0 + return + /obj/machinery/door/poddoor/four_tile_hor/open() if (src.operating == 1) //doors can still open when emag-disabled return @@ -226,6 +281,59 @@ src.operating = 0 return */ + +/obj/machinery/door/poddoor/three_tile_ver/open() + if (src.operating == 1) //doors can still open when emag-disabled + return + if (!ticker) + return 0 + if(!src.operating) //in case of emag + src.operating = 1 + flick("pdoorc0", src) + src.icon_state = "pdoor0" + sleep(10) + src.density = 0 + src.SetOpacity(0) + + f1.density = 0 + f1.SetOpacity(0) + f2.density = 0 + f2.SetOpacity(0) + f3.density = 0 + f3.SetOpacity(0) + + update_nearby_tiles() + + if(operating == 1) //emag again + src.operating = 0 + if(autoclose) + spawn(150) + autoclose() + return 1 + +/obj/machinery/door/poddoor/three_tile_ver/close() + if (src.operating) + return + src.operating = 1 + flick("pdoorc1", src) + src.icon_state = "pdoor1" + src.density = 1 + + f1.density = 1 + f1.SetOpacity(1) + f2.density = 1 + f2.SetOpacity(1) + f3.density = 1 + f3.SetOpacity(1) + + if (src.visible) + src.SetOpacity(1) + update_nearby_tiles() + + sleep(10) + src.operating = 0 + return + /obj/machinery/door/poddoor/four_tile_ver/open() if (src.operating == 1) //doors can still open when emag-disabled return @@ -256,7 +364,7 @@ spawn(150) autoclose() return 1 - + /obj/machinery/door/poddoor/four_tile_ver/close() if (src.operating) return @@ -323,6 +431,54 @@ del f2 ..() */ +/obj/machinery/door/poddoor/three_tile_hor + var/obj/machinery/door/poddoor/filler_object/f1 + var/obj/machinery/door/poddoor/filler_object/f2 + var/obj/machinery/door/poddoor/filler_object/f3 + icon = 'icons/obj/doors/1x3blast_hor.dmi' + + New() + ..() + f1 = new/obj/machinery/door/poddoor/filler_object (src.loc) + f2 = new/obj/machinery/door/poddoor/filler_object (get_step(f1,EAST)) + f3 = new/obj/machinery/door/poddoor/filler_object (get_step(f2,EAST)) + f1.density = density + f2.density = density + f3.density = density + f1.SetOpacity(opacity) + f2.SetOpacity(opacity) + f3.SetOpacity(opacity) + + Destroy() + del f1 + del f2 + del f3 + ..() + +/obj/machinery/door/poddoor/three_tile_ver + var/obj/machinery/door/poddoor/filler_object/f1 + var/obj/machinery/door/poddoor/filler_object/f2 + var/obj/machinery/door/poddoor/filler_object/f3 + icon = 'icons/obj/doors/1x3blast_vert.dmi' + + New() + ..() + f1 = new/obj/machinery/door/poddoor/filler_object (src.loc) + f2 = new/obj/machinery/door/poddoor/filler_object (get_step(f1,NORTH)) + f3 = new/obj/machinery/door/poddoor/filler_object (get_step(f2,NORTH)) + f1.density = density + f2.density = density + f3.density = density + f1.SetOpacity(opacity) + f2.SetOpacity(opacity) + f3.SetOpacity(opacity) + + Destroy() + del f1 + del f2 + del f3 + ..() + /obj/machinery/door/poddoor/four_tile_hor var/obj/machinery/door/poddoor/filler_object/f1 var/obj/machinery/door/poddoor/filler_object/f2 @@ -342,8 +498,8 @@ f4.density = density f1.SetOpacity(opacity) f2.SetOpacity(opacity) - f4.SetOpacity(opacity) f3.SetOpacity(opacity) + f4.SetOpacity(opacity) Destroy() del f1 @@ -371,8 +527,8 @@ f4.density = density f1.SetOpacity(opacity) f2.SetOpacity(opacity) - f4.SetOpacity(opacity) f3.SetOpacity(opacity) + f4.SetOpacity(opacity) Destroy() del f1 diff --git a/code/WorkInProgress/pomf/spacepods/construction.dm b/code/game/vehicles/spacepods/construction.dm similarity index 100% rename from code/WorkInProgress/pomf/spacepods/construction.dm rename to code/game/vehicles/spacepods/construction.dm diff --git a/code/WorkInProgress/pomf/spacepods/equipment.dm b/code/game/vehicles/spacepods/equipment.dm similarity index 97% rename from code/WorkInProgress/pomf/spacepods/equipment.dm rename to code/game/vehicles/spacepods/equipment.dm index d4995b9fde5..0cb0d21fbc2 100644 --- a/code/WorkInProgress/pomf/spacepods/equipment.dm +++ b/code/game/vehicles/spacepods/equipment.dm @@ -83,7 +83,7 @@ /obj/item/device/spacepod_equipment/weaponry/taser/proc/fire_weapon_system() set category = "Spacepod" set name = "Fire Taser System" - set desc = "Fire ze tasers!" + set desc = "Fire the tasers." set src = usr.loc fire_weapons() @@ -107,7 +107,7 @@ /obj/item/device/spacepod_equipment/weaponry/laser/proc/fire_weapon_system() set category = "Spacepod" set name = "Fire Laser System" - set desc = "Fire ze lasers!" + set desc = "Fire the lasers." set src = usr.loc fire_weapons() \ No newline at end of file diff --git a/code/WorkInProgress/pomf/spacepods/parts.dm b/code/game/vehicles/spacepods/parts.dm similarity index 100% rename from code/WorkInProgress/pomf/spacepods/parts.dm rename to code/game/vehicles/spacepods/parts.dm diff --git a/code/WorkInProgress/pomf/spacepods/spacepods.dm b/code/game/vehicles/spacepods/spacepod.dm similarity index 95% rename from code/WorkInProgress/pomf/spacepods/spacepods.dm rename to code/game/vehicles/spacepods/spacepod.dm index f66b9130068..dec4673d13b 100644 --- a/code/WorkInProgress/pomf/spacepods/spacepods.dm +++ b/code/game/vehicles/spacepods/spacepod.dm @@ -1,4 +1,3 @@ -// honk #define DAMAGE 1 #define FIRE 2 @@ -369,6 +368,26 @@ src.occupant = null usr << "You climb out of the pod" return + +/obj/spacepod/verb/toggleDoors() + 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 /obj/spacepod/proc/enter_after(delay as num, var/mob/user as mob, var/numticks = 5) var/delayfraction = delay/numticks diff --git a/icons/obj/doors/1x3blast_hor.dmi b/icons/obj/doors/1x3blast_hor.dmi new file mode 100644 index 0000000000000000000000000000000000000000..259af0527feb39b6fda21766d75ed23716aec1b9 GIT binary patch literal 1495 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 Tnq