mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Added proc to imitate movement of stars. Changes icon state and throws all unanchored items in space.
Added var denoting which direction is fore of the ship. Adjusting speed now applies movement effect on ship's zlevel. Added working engines system. Only defined type currently is thermal engine. Acceleration is now based on total thrust and ship's mass. Added engine control console. Changed shuttle control console to use custom interface to pick destinations. Shuttles can now go between any types of sectors, not just ship->sector. Shuttles cannot return to base if they are too far on overmap. Moved helm computer to NanoUI. Helm computer now stores navigation data records instead of polling info from actual overmap objects every time. Metaobjects now can define if sector is well known, in which case it will be automatically added to helm computer records on creation. Can add and delete records.
This commit is contained in:
@@ -58,11 +58,15 @@ Currently no modifications were made to interface to display availability of lan
|
||||
Guide to how make new sector
|
||||
*************************************************************
|
||||
0.Map
|
||||
Remember to put a helm console on ship maps.
|
||||
Remember to define shuttle areas - both for sectors and ships.
|
||||
Remember to define shuttle areas if you want sector be accessible via shuttles.
|
||||
Currently there are no other ways to reach sectors from ships.
|
||||
In examples, 4x6 shuttle area is used. In case of shuttle area being too big, it will apear in bottom left corner of it.
|
||||
|
||||
Remember to put a helm console and engine control console on ship maps.
|
||||
Ships need engines to move. Currently there are only thermal engines.
|
||||
Thermal engines are just a unary atmopheric machine, like a vent. They need high-pressure gas input to produce more thrust.
|
||||
|
||||
|
||||
1.Metaobject
|
||||
All vars needed for it to work could be set directly in map editor, so in most cases you won't have to define new in code.
|
||||
Remember to set landing_area var for sectors.
|
||||
@@ -76,24 +80,31 @@ Remember to place one on the actual shuttle too, or it won't be able to return f
|
||||
Remember to set landing_type var to ship-side shuttle area type.
|
||||
shuttle_tag can be set to custom name (it shows up in console interface)
|
||||
|
||||
4.Tick map in and compile.
|
||||
5.Engines
|
||||
Actual engines could be any type of machinery, as long as it creates a ship_engine datum for itself.
|
||||
|
||||
6.Tick map in and compile.
|
||||
Sector should appear on overmap (in random place if you didn't set mapx,mapy)
|
||||
|
||||
|
||||
TODO:
|
||||
sector-to-ship shuttles.
|
||||
ship-ship interactions
|
||||
helm console interface:
|
||||
current coordinates
|
||||
list of known locations
|
||||
autopilot
|
||||
manual control
|
||||
more mechanics to moving ship:
|
||||
overmap movement delay
|
||||
engine objects
|
||||
'moving stars' effect
|
||||
actually working engine objects
|
||||
unary atmospheric machinery
|
||||
give more thrust the more pressure gas has
|
||||
ships have mass var, which is used to caalculate how much acceleration those engines give
|
||||
better space travel / stragglers handling
|
||||
shuttle console:
|
||||
showing if shuttle has nowhere to be sent to
|
||||
checking occupied pad or not with docking controllers
|
||||
?landing pad size detection
|
||||
non-zlevel overmap objects
|
||||
field generator
|
||||
meteor fields
|
||||
speed-based chance for a rock in the ship
|
||||
debris fields
|
||||
speed-based chance of
|
||||
debirs in the ship
|
||||
a drone
|
||||
EMP
|
||||
nebulaes
|
||||
*/
|
||||
35
code/WorkInProgress/Chinsky/overmap/_defines.dm
Normal file
35
code/WorkInProgress/Chinsky/overmap/_defines.dm
Normal file
@@ -0,0 +1,35 @@
|
||||
//Zlevel where overmap objects should be
|
||||
#define OVERMAP_ZLEVEL 1
|
||||
//How far from the edge of overmap zlevel could randomly placed objects spawn
|
||||
#define OVERMAP_EDGE 7
|
||||
|
||||
//list used to track which zlevels are being 'moved' by the proc below
|
||||
var/list/moving_levels = list()
|
||||
//Proc to 'move' stars in spess
|
||||
//yes it looks ugly, but it should only fire when state actually change.
|
||||
//null direction stops movement
|
||||
proc/toggle_move_stars(zlevel, direction)
|
||||
if(!zlevel)
|
||||
return
|
||||
|
||||
var/gen_dir = null
|
||||
if(direction & (NORTH|SOUTH))
|
||||
gen_dir += "ns"
|
||||
else if(direction & (EAST|WEST))
|
||||
gen_dir += "ew"
|
||||
if(!direction)
|
||||
gen_dir = null
|
||||
|
||||
if (moving_levels["zlevel"] != gen_dir)
|
||||
moving_levels["zlevel"] = gen_dir
|
||||
for(var/turf/space/S in world)
|
||||
if(S.z == zlevel)
|
||||
spawn(0)
|
||||
var/turf/T = S
|
||||
if(!gen_dir)
|
||||
T.icon_state = "[((T.x + T.y) ^ ~(T.x * T.y) + T.z) % 25]"
|
||||
else
|
||||
T.icon_state = "speedspace_[gen_dir]_[rand(1,15)]"
|
||||
for(var/atom/movable/AM in T)
|
||||
if (!AM.anchored)
|
||||
AM.throw_at(get_step(T,reverse_direction(direction)), 5, 1)
|
||||
@@ -1,161 +0,0 @@
|
||||
/obj/machinery/computer/helm
|
||||
name = "helm control console"
|
||||
icon_state = "id"
|
||||
var/obj/effect/map/ship/linked //connected overmap object
|
||||
var/autopilot = 0
|
||||
var/manual_control = 0
|
||||
var/dx //desitnation
|
||||
var/dy //coordinates
|
||||
var/ship_last_move = 0
|
||||
var/ship_move_delay = 10
|
||||
|
||||
|
||||
/obj/machinery/computer/helm/initialize()
|
||||
linked = map_sectors["[z]"]
|
||||
if (!linked)
|
||||
testing("Helm console at level [z] was unable to find a corresponding overmap object.")
|
||||
else
|
||||
testing("Helm console at level [z] found a corresponding overmap object '[linked.name]'.")
|
||||
|
||||
/obj/machinery/computer/helm/process()
|
||||
..()
|
||||
if (autopilot && dx && dy && world.time > ship_last_move + ship_move_delay)
|
||||
ship_last_move = world.time
|
||||
var/turf/T = locate(dx,dy,1)
|
||||
if (T)
|
||||
step_towards(linked,T)
|
||||
return
|
||||
|
||||
/obj/machinery/computer/helm/relaymove(var/mob/user, direction)
|
||||
if(manual_control && linked)
|
||||
if (world.time > ship_last_move + ship_move_delay)
|
||||
linked.relaymove(user,direction)
|
||||
ship_last_move = world.time
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/helm/check_eye(var/mob/user as mob)
|
||||
if (!manual_control)
|
||||
return null
|
||||
if (!get_dist(user, src) > 1 || user.blinded || !linked )
|
||||
return null
|
||||
user.reset_view(linked)
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/helm/attack_hand(var/mob/user as mob)
|
||||
if(..())
|
||||
user.unset_machine()
|
||||
manual_control = 0
|
||||
return
|
||||
|
||||
if(!isAI(user))
|
||||
user.set_machine(src)
|
||||
|
||||
var/dat = ""
|
||||
if(!linked)
|
||||
dat = "<center><span class = 'warning'>Could not get navigation data!</span><center>"
|
||||
else
|
||||
dat += "<table>"
|
||||
dat += "<tr><td>Current sector:</td><td>[linked.current_sector ? linked.current_sector.name : "Deep Space"]"
|
||||
dat += "</td></tr><tr><td>Sector information:</td><td>[linked.current_sector ? linked.current_sector.desc : "Not Available"]"
|
||||
dat += "</td></tr><tr><td>Current coordinates:</td><td>\[[linked.x], [linked.y]\]"
|
||||
dat += "</td></tr><tr><td>Current destination:</td><td>"
|
||||
if (dx && dy)
|
||||
dat += "\[<a href='?src=\ref[src];setx=1'>[dx]</a>, "
|
||||
dat += "<a href='?src=\ref[src];sety=1'>[dy]</a>\]"
|
||||
else
|
||||
dat += "<a href='?src=\ref[src];sety=1;setx=1'>None</a>"
|
||||
dat += "</td></tr></table>"
|
||||
|
||||
dat += "<br><hr><br>"
|
||||
|
||||
dat += "Known locations:<br>"
|
||||
dat += "<table>"
|
||||
for (var/lvl in map_sectors)
|
||||
var/obj/effect/map/sector/S = map_sectors[lvl]
|
||||
if (istype(S))
|
||||
dat += "<tr><td>[S.name]:</td><td>\[[S.x], [S.y]\]</td><td><a href='?src=\ref[src];x=[S.x];y=[S.y]'>Plot course</a></td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
dat += "<br><br><hr><br>"
|
||||
|
||||
dat += "<table>"
|
||||
dat += "<tr><td>Autopilot:</td><td><a href='?src=\ref[src];apilot=1'>[autopilot ? "Engaged" : "Disengaged"]</a></td><td><a href='?src=\ref[src];reset=1'>Reset desetination</a>"
|
||||
dat += "</td></tr><tr><td>Manual control:</td><td><a href='?src=\ref[src];manual=1'>[manual_control ? "Engaged" : "Disengaged"]</a>"
|
||||
dat += "</td></tr></table>"
|
||||
user << browse("<HEAD><TITLE>Helm Control</TITLE></HEAD><TT>[dat]</TT>", "window=helm")
|
||||
onclose(user, "helm")
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/computer/helm/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if (!linked)
|
||||
return
|
||||
|
||||
if (href_list["setx"])
|
||||
var/newx = input("Input new destiniation x coordinate", "Coordinate input", dx) as num|null
|
||||
if (newx)
|
||||
dx = Clamp(newx, 1, world.maxx)
|
||||
|
||||
if (href_list["sety"])
|
||||
var/newy = input("Input new destiniation y coordinate", "Coordinate input", dy) as num|null
|
||||
if (newy)
|
||||
dy = Clamp(newy, 1, world.maxy)
|
||||
|
||||
if (href_list["x"] && href_list["y"])
|
||||
dx = text2num(href_list["x"])
|
||||
dy = text2num(href_list["y"])
|
||||
|
||||
if (href_list["reset"])
|
||||
dx = 0
|
||||
dy = 0
|
||||
|
||||
if (href_list["apilot"])
|
||||
autopilot = !autopilot
|
||||
|
||||
if (href_list["manual"])
|
||||
manual_control = !manual_control
|
||||
autopilot = 0
|
||||
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
|
||||
//Shuttle controller computer for shuttles going from ship to sectors
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore
|
||||
name = "exploration shuttle console"
|
||||
shuttle_tag = "Exploration"
|
||||
req_access = list()
|
||||
var/landing_type //area for shuttle ship-side
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/initialize()
|
||||
..()
|
||||
shuttle_tag = "[shuttle_tag]-[z]"
|
||||
if(!shuttle_controller.shuttles[shuttle_tag])
|
||||
var/datum/shuttle/ferry/shuttle = new()
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_station = locate(landing_type)
|
||||
shuttle.area_offsite = shuttle.area_station
|
||||
shuttle_controller.shuttles[shuttle_tag] = shuttle
|
||||
shuttle_controller.process_shuttles += shuttle
|
||||
testing("Exploration shuttle '[shuttle_tag]' at zlevel [z] successfully added.")
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/proc/update_destination()
|
||||
if(shuttle_controller.shuttles[shuttle_tag])
|
||||
var/obj/effect/map/ship/S = map_sectors["[z]"]
|
||||
if (!istype(S))
|
||||
return
|
||||
var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
|
||||
if(S && S.current_sector)
|
||||
var/obj/effect/map/M = S.current_sector
|
||||
shuttle.area_offsite = M.shuttle_landing
|
||||
testing("Shuttle controller now sends shuttle to [M]")
|
||||
else
|
||||
shuttle.area_offsite = shuttle.area_station
|
||||
shuttle_controller.shuttles[shuttle_tag] = shuttle
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/attack_hand(user as mob)
|
||||
update_destination()
|
||||
..()
|
||||
@@ -1,4 +1,4 @@
|
||||
#define OVERMAP_ZLEVEL 1
|
||||
|
||||
//===================================================================================
|
||||
//Hook for building overmap
|
||||
//===================================================================================
|
||||
@@ -29,6 +29,7 @@ var/global/list/map_sectors = list()
|
||||
var/zlevel
|
||||
var/mapx //coordinates on the
|
||||
var/mapy //overmap zlevel
|
||||
var/known = 1
|
||||
|
||||
/obj/effect/mapinfo/New()
|
||||
tag = "sector[z]"
|
||||
@@ -43,9 +44,6 @@ var/global/list/map_sectors = list()
|
||||
name = "generic ship"
|
||||
obj_type = /obj/effect/map/ship
|
||||
|
||||
/obj/effect/mapinfo/ship/relaymove(var/mob/user, direction)
|
||||
step(src,direction)
|
||||
|
||||
|
||||
//===================================================================================
|
||||
//Overmap object representing zlevel
|
||||
@@ -57,17 +55,19 @@ var/global/list/map_sectors = list()
|
||||
icon_state = "sheet-plasteel"
|
||||
var/map_z = 0
|
||||
var/area/shuttle/shuttle_landing
|
||||
var/always_known = 1
|
||||
|
||||
/obj/effect/map/New(var/obj/effect/mapinfo/data)
|
||||
map_z = data.zlevel
|
||||
name = data.name
|
||||
always_known = data.known
|
||||
if (data.icon != 'icons/mob/screen1.dmi')
|
||||
icon = data.icon
|
||||
icon_state = data.icon_state
|
||||
if(data.desc)
|
||||
desc = data.desc
|
||||
var/new_x = data.mapx ? data.mapx : rand(2,world.maxx-2)
|
||||
var/new_y = data.mapy ? data.mapy : rand(2,world.maxy-2)
|
||||
var/new_x = data.mapx ? data.mapx : rand(OVERMAP_EDGE, world.maxx - OVERMAP_EDGE)
|
||||
var/new_y = data.mapy ? data.mapy : rand(OVERMAP_EDGE, world.maxy - OVERMAP_EDGE)
|
||||
loc = locate(new_x, new_y, OVERMAP_ZLEVEL)
|
||||
|
||||
if(data.landing_area)
|
||||
@@ -93,13 +93,3 @@ var/global/list/map_sectors = list()
|
||||
name = "generic sector"
|
||||
desc = "Sector with some stuff in it."
|
||||
anchored = 1
|
||||
|
||||
/obj/effect/map/ship
|
||||
name = "generic ship"
|
||||
desc = "Space faring vessel."
|
||||
icon_state = "sheet-sandstone"
|
||||
density = 1
|
||||
var/obj/effect/map/current_sector
|
||||
|
||||
/obj/effect/map/ship/relaymove(mob/user, direction)
|
||||
step(src,direction)
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
//Engine control and monitoring console
|
||||
|
||||
/obj/machinery/computer/engines
|
||||
name = "engines control console"
|
||||
icon_state = "id"
|
||||
var/state = "status"
|
||||
var/list/engines = list()
|
||||
var/obj/effect/map/ship/linked
|
||||
|
||||
/obj/machinery/computer/engines/initialize()
|
||||
linked = map_sectors["[z]"]
|
||||
if (linked)
|
||||
if (!linked.eng_control)
|
||||
linked.eng_control = src
|
||||
testing("Engines console at level [z] found a corresponding overmap object '[linked.name]'.")
|
||||
else
|
||||
testing("Engines console at level [z] was unable to find a corresponding overmap object.")
|
||||
|
||||
for(var/datum/ship_engine/E in engines)
|
||||
if (E.zlevel == z && !(E in engines))
|
||||
engines += E
|
||||
|
||||
/obj/machinery/computer/engines/attack_hand(var/mob/user as mob)
|
||||
if(..())
|
||||
user.unset_machine()
|
||||
return
|
||||
|
||||
if(!isAI(user))
|
||||
user.set_machine(src)
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/computer/engines/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null)
|
||||
if(!linked)
|
||||
return
|
||||
|
||||
var/data[0]
|
||||
data["state"] = state
|
||||
|
||||
var/list/enginfo[0]
|
||||
for(var/datum/ship_engine/E in engines)
|
||||
var/list/rdata[0]
|
||||
rdata["eng_type"] = E.name
|
||||
rdata["eng_on"] = E.is_on()
|
||||
rdata["eng_thrust"] = E.get_thrust()
|
||||
rdata["eng_thrust_limiter"] = round(E.get_thrust_limit()*100)
|
||||
rdata["eng_status"] = E.get_status()
|
||||
rdata["eng_reference"] = "\ref[E]"
|
||||
enginfo.Add(list(rdata))
|
||||
|
||||
data["engines_info"] = enginfo
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "engines_control.tmpl", "[linked.name] Engines Control", 380, 530)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
/obj/machinery/computer/engines/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if(href_list["state"])
|
||||
state = href_list["state"]
|
||||
|
||||
if(href_list["engine"])
|
||||
if(href_list["set_limit"])
|
||||
var/datum/ship_engine/E = locate(href_list["engine"])
|
||||
var/newlim = input("Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit()) as num
|
||||
var/limit = Clamp(newlim/100, 0, 1)
|
||||
if(E)
|
||||
E.set_thrust_limit(limit)
|
||||
|
||||
if(href_list["limit"])
|
||||
var/datum/ship_engine/E = locate(href_list["engine"])
|
||||
var/limit = Clamp(E.get_thrust_limit() + text2num(href_list["limit"]), 0, 1)
|
||||
if(E)
|
||||
E.set_thrust_limit(limit)
|
||||
|
||||
if(href_list["toggle"])
|
||||
var/datum/ship_engine/E = locate(href_list["engine"])
|
||||
if(E)
|
||||
E.toggle()
|
||||
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/computer/engines/proc/burn()
|
||||
if(engines.len == 0)
|
||||
return 0
|
||||
var/res = 0
|
||||
for(var/datum/ship_engine/E in engines)
|
||||
res |= E.burn()
|
||||
return res
|
||||
|
||||
/obj/machinery/computer/engines/proc/get_total_thrust()
|
||||
for(var/datum/ship_engine/E in engines)
|
||||
. += E.get_thrust()
|
||||
174
code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm
Normal file
174
code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm
Normal file
@@ -0,0 +1,174 @@
|
||||
/obj/machinery/computer/helm
|
||||
name = "helm control console"
|
||||
icon_state = "id"
|
||||
var/state = "status"
|
||||
var/obj/effect/map/ship/linked //connected overmap object
|
||||
var/autopilot = 0
|
||||
var/manual_control = 0
|
||||
var/list/known_sectors = list()
|
||||
var/dx //desitnation
|
||||
var/dy //coordinates
|
||||
|
||||
/obj/machinery/computer/helm/initialize()
|
||||
linked = map_sectors["[z]"]
|
||||
if (linked)
|
||||
if(!linked.nav_control)
|
||||
linked.nav_control = src
|
||||
testing("Helm console at level [z] found a corresponding overmap object '[linked.name]'.")
|
||||
else
|
||||
testing("Helm console at level [z] was unable to find a corresponding overmap object.")
|
||||
|
||||
for(var/level in map_sectors)
|
||||
var/obj/effect/map/sector/S = map_sectors["[level]"]
|
||||
if (istype(S) && S.always_known)
|
||||
var/datum/data/record/R = new()
|
||||
R.fields["name"] = S.name
|
||||
R.fields["x"] = S.x
|
||||
R.fields["y"] = S.y
|
||||
known_sectors += R
|
||||
|
||||
/obj/machinery/computer/helm/process()
|
||||
..()
|
||||
if (autopilot && dx && dy)
|
||||
var/turf/T = locate(dx,dy,1)
|
||||
if(linked.loc == T)
|
||||
if(linked.is_still())
|
||||
autopilot = 0
|
||||
else
|
||||
linked.decelerate()
|
||||
|
||||
var/brake_path = linked.get_brake_path()
|
||||
|
||||
if(get_dist(linked.loc, T) > brake_path)
|
||||
linked.accelerate(get_dir(linked.loc, T))
|
||||
else
|
||||
linked.decelerate()
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/computer/helm/relaymove(var/mob/user, direction)
|
||||
if(manual_control && linked)
|
||||
linked.relaymove(user,direction)
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/helm/check_eye(var/mob/user as mob)
|
||||
if (!manual_control)
|
||||
return null
|
||||
if (!get_dist(user, src) > 1 || user.blinded || !linked )
|
||||
return null
|
||||
user.reset_view(linked)
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/helm/attack_hand(var/mob/user as mob)
|
||||
if(..())
|
||||
user.unset_machine()
|
||||
manual_control = 0
|
||||
return
|
||||
|
||||
if(!isAI(user))
|
||||
user.set_machine(src)
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/computer/helm/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null)
|
||||
if(!linked)
|
||||
return
|
||||
|
||||
var/data[0]
|
||||
data["state"] = state
|
||||
|
||||
data["sector"] = linked.current_sector ? linked.current_sector.name : "Deep Space"
|
||||
data["sector_info"] = linked.current_sector ? linked.current_sector.desc : "Not Available"
|
||||
data["s_x"] = linked.x
|
||||
data["s_y"] = linked.y
|
||||
data["dest"] = dy && dx
|
||||
data["d_x"] = dx
|
||||
data["d_y"] = dy
|
||||
data["speed"] = linked.get_speed()
|
||||
data["accel"] = round(linked.get_acceleration())
|
||||
data["heading"] = linked.get_heading() ? dir2angle(linked.get_heading()) : 0
|
||||
data["autopilot"] = autopilot
|
||||
data["manual_control"] = manual_control
|
||||
|
||||
var/list/locations[0]
|
||||
for (var/datum/data/record/R in known_sectors)
|
||||
var/list/rdata[0]
|
||||
rdata["name"] = R.fields["name"]
|
||||
rdata["x"] = R.fields["x"]
|
||||
rdata["y"] = R.fields["y"]
|
||||
rdata["reference"] = "\ref[R]"
|
||||
locations.Add(list(rdata))
|
||||
|
||||
data["locations"] = locations
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "helm.tmpl", "[linked.name] Helm Control", 380, 530)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
/obj/machinery/computer/helm/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if (!linked)
|
||||
return
|
||||
|
||||
if (href_list["add"])
|
||||
var/datum/data/record/R = new()
|
||||
var/sec_name = input("Input naviation entry name", "New navigation entry", "Sector #[known_sectors.len]") as text
|
||||
if(!sec_name)
|
||||
sec_name = "Sector #[known_sectors.len]"
|
||||
R.fields["name"] = sec_name
|
||||
switch(href_list["add"])
|
||||
if("current")
|
||||
R.fields["x"] = linked.x
|
||||
R.fields["y"] = linked.y
|
||||
if("new")
|
||||
var/newx = input("Input new entry x coordinate", "Coordinate input", linked.x) as num
|
||||
R.fields["x"] = Clamp(newx, 1, world.maxx)
|
||||
var/newy = input("Input new entry y coordinate", "Coordinate input", linked.y) as num
|
||||
R.fields["y"] = Clamp(newy, 1, world.maxy)
|
||||
known_sectors += R
|
||||
|
||||
if (href_list["remove"])
|
||||
var/datum/data/record/R = locate(href_list["remove"])
|
||||
known_sectors.Remove(R)
|
||||
|
||||
if (href_list["setx"])
|
||||
var/newx = input("Input new destiniation x coordinate", "Coordinate input", dx) as num|null
|
||||
if (newx)
|
||||
dx = Clamp(newx, 1, world.maxx)
|
||||
|
||||
if (href_list["sety"])
|
||||
var/newy = input("Input new destiniation y coordinate", "Coordinate input", dy) as num|null
|
||||
if (newy)
|
||||
dy = Clamp(newy, 1, world.maxy)
|
||||
|
||||
if (href_list["x"] && href_list["y"])
|
||||
dx = text2num(href_list["x"])
|
||||
dy = text2num(href_list["y"])
|
||||
|
||||
if (href_list["reset"])
|
||||
dx = 0
|
||||
dy = 0
|
||||
|
||||
if (href_list["move"])
|
||||
var/ndir = text2num(href_list["move"])
|
||||
linked.relaymove(usr, ndir)
|
||||
|
||||
if (href_list["brake"])
|
||||
linked.decelerate()
|
||||
|
||||
if (href_list["apilot"])
|
||||
autopilot = !autopilot
|
||||
|
||||
if (href_list["manual"])
|
||||
manual_control = !manual_control
|
||||
|
||||
if (href_list["state"])
|
||||
state = href_list["state"]
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
|
||||
139
code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm
Normal file
139
code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm
Normal file
@@ -0,0 +1,139 @@
|
||||
//Shuttle controller computer for shuttles going between sectors
|
||||
/datum/shuttle/ferry/var/range = 0 //how many overmap tiles can shuttle go, for picking destinatiosn and returning.
|
||||
/obj/machinery/computer/shuttle_control/explore
|
||||
name = "exploration shuttle console"
|
||||
shuttle_tag = "Exploration"
|
||||
req_access = list()
|
||||
var/landing_type //area for shuttle ship-side
|
||||
var/obj/effect/map/destination //current destination
|
||||
var/obj/effect/map/home //current destination
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/initialize()
|
||||
..()
|
||||
home = map_sectors["[z]"]
|
||||
shuttle_tag = "[shuttle_tag]-[z]"
|
||||
if(!shuttle_controller.shuttles[shuttle_tag])
|
||||
var/datum/shuttle/ferry/shuttle = new()
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_station = locate(landing_type)
|
||||
shuttle.area_offsite = shuttle.area_station
|
||||
shuttle_controller.shuttles[shuttle_tag] = shuttle
|
||||
shuttle_controller.process_shuttles += shuttle
|
||||
testing("Exploration shuttle '[shuttle_tag]' at zlevel [z] successfully added.")
|
||||
|
||||
//Sets destination to new sector. Can be null.
|
||||
/obj/machinery/computer/shuttle_control/explore/proc/update_destination(var/obj/effect/map/D)
|
||||
destination = D
|
||||
if(destination && shuttle_controller.shuttles[shuttle_tag])
|
||||
var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
|
||||
shuttle.area_offsite = destination.shuttle_landing
|
||||
testing("Shuttle controller [shuttle_tag] now sends shuttle to [destination]")
|
||||
shuttle_controller.shuttles[shuttle_tag] = shuttle
|
||||
|
||||
//Gets all sectors with landing zones in shuttle's range
|
||||
/obj/machinery/computer/shuttle_control/explore/proc/get_possible_destinations()
|
||||
var/list/res = list()
|
||||
var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
|
||||
for (var/obj/effect/map/S in orange(shuttle.range, home))
|
||||
if(S.shuttle_landing)
|
||||
res += S
|
||||
return res
|
||||
|
||||
//Checks if current destination is still reachable
|
||||
/obj/machinery/computer/shuttle_control/explore/proc/check_destination()
|
||||
var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
|
||||
return shuttle && destination && get_dist(home, destination) <= shuttle.range
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null)
|
||||
var/data[0]
|
||||
var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
|
||||
if (!istype(shuttle))
|
||||
return
|
||||
|
||||
//If we are already there, or can't reach place anymore, reset destination
|
||||
if(!shuttle.location && !check_destination())
|
||||
destination = null
|
||||
|
||||
//check if shuttle can fly at all
|
||||
var/can_go = !isnull(destination)
|
||||
var/current_destination = destination ? destination.name : "None"
|
||||
//shuttle doesn't need destination set to return home, as long as it's in range.
|
||||
if(shuttle.location)
|
||||
current_destination = "Return"
|
||||
var/area/offsite = shuttle.area_offsite
|
||||
var/obj/effect/map/cur_loc = map_sectors["[offsite.z]"]
|
||||
can_go = (get_dist(home,cur_loc) <= shuttle.range)
|
||||
|
||||
//disable picking locations if there are none, or shuttle is already off-site
|
||||
var/list/possible_d = get_possible_destinations()
|
||||
var/can_pick = !shuttle.location && possible_d.len
|
||||
|
||||
var/shuttle_state
|
||||
switch(shuttle.moving_status)
|
||||
if(SHUTTLE_IDLE) shuttle_state = "idle"
|
||||
if(SHUTTLE_WARMUP) shuttle_state = "warmup"
|
||||
if(SHUTTLE_INTRANSIT) shuttle_state = "in_transit"
|
||||
|
||||
var/shuttle_status
|
||||
switch (shuttle.process_state)
|
||||
if(IDLE_STATE)
|
||||
if (shuttle.in_use)
|
||||
shuttle_status = "Busy."
|
||||
else if (!shuttle.location)
|
||||
shuttle_status = "Standing-by at station."
|
||||
else
|
||||
shuttle_status = "Standing-by at offsite location."
|
||||
if(WAIT_LAUNCH)
|
||||
shuttle_status = "Shuttle has recieved command and will depart shortly."
|
||||
if(WAIT_ARRIVE)
|
||||
shuttle_status = "Proceeding to destination."
|
||||
if(WAIT_FINISH)
|
||||
shuttle_status = "Arriving at destination now."
|
||||
|
||||
data = list(
|
||||
"destination_name" = current_destination,
|
||||
"can_pick" = can_pick,
|
||||
"shuttle_status" = shuttle_status,
|
||||
"shuttle_state" = shuttle_state,
|
||||
"has_docking" = shuttle.docking_controller? 1 : 0,
|
||||
"docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null,
|
||||
"docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null,
|
||||
"can_launch" = can_go && shuttle.can_launch(),
|
||||
"can_cancel" = can_go && shuttle.can_cancel(),
|
||||
"can_force" = can_go && shuttle.can_force(),
|
||||
)
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
|
||||
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "shuttle_control_console_exploration.tmpl", "[shuttle_tag] Shuttle Control", 470, 310)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
/obj/machinery/computer/shuttle_control/explore/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag]
|
||||
if (!istype(shuttle))
|
||||
return
|
||||
|
||||
if(href_list["pick"])
|
||||
var/obj/effect/map/self = map_sectors["[z]"]
|
||||
if(self)
|
||||
var/list/possible_d = get_possible_destinations()
|
||||
var/obj/effect/map/D
|
||||
if(possible_d.len)
|
||||
D = input("Choose shuttle destination", "Shuttle Destination") as null|anything in possible_d
|
||||
update_destination(D)
|
||||
|
||||
if(href_list["move"])
|
||||
shuttle.launch(src)
|
||||
if(href_list["force"])
|
||||
shuttle.force_launch(src)
|
||||
else if(href_list["cancel"])
|
||||
shuttle.cancel_launch(src)
|
||||
60
code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm
Normal file
60
code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm
Normal file
@@ -0,0 +1,60 @@
|
||||
//Engine component object
|
||||
|
||||
var/list/ship_engines = list()
|
||||
/datum/ship_engine
|
||||
var/name = "ship engine"
|
||||
var/obj/machinery/engine //actual engine object
|
||||
var/zlevel = 0
|
||||
|
||||
/datum/ship_engine/New(var/obj/machinery/holder)
|
||||
engine = holder
|
||||
zlevel = holder.z
|
||||
for(var/obj/machinery/computer/engines/E in machines)
|
||||
if (E.z == zlevel && !(src in E.engines))
|
||||
E.engines += src
|
||||
break
|
||||
|
||||
//Tries to fire the engine. If successfull, returns 1
|
||||
/datum/ship_engine/proc/burn()
|
||||
if(!engine)
|
||||
die()
|
||||
return 1
|
||||
|
||||
//Returns status string for this engine
|
||||
/datum/ship_engine/proc/get_status()
|
||||
if(!engine)
|
||||
die()
|
||||
return "All systems nominal"
|
||||
|
||||
/datum/ship_engine/proc/get_thrust()
|
||||
if(!engine)
|
||||
die()
|
||||
return 100
|
||||
|
||||
//Sets thrust limiter, a number between 0 and 1
|
||||
/datum/ship_engine/proc/set_thrust_limit(var/new_limit)
|
||||
if(!engine)
|
||||
die()
|
||||
return 1
|
||||
|
||||
/datum/ship_engine/proc/get_thrust_limit()
|
||||
if(!engine)
|
||||
die()
|
||||
return 1
|
||||
|
||||
/datum/ship_engine/proc/is_on()
|
||||
if(!engine)
|
||||
die()
|
||||
return 1
|
||||
|
||||
/datum/ship_engine/proc/toggle()
|
||||
if(!engine)
|
||||
die()
|
||||
return 1
|
||||
|
||||
/datum/ship_engine/proc/die()
|
||||
for(var/obj/machinery/computer/engines/E in machines)
|
||||
if (E.z == zlevel)
|
||||
E.engines -= src
|
||||
break
|
||||
del(src)
|
||||
99
code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm
Normal file
99
code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm
Normal file
@@ -0,0 +1,99 @@
|
||||
//Thermal nozzle engine
|
||||
/datum/ship_engine/thermal
|
||||
name = "thermal engine"
|
||||
|
||||
/datum/ship_engine/thermal/get_status()
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
return "Fuel pressure: [E.air_contents.return_pressure()]"
|
||||
|
||||
/datum/ship_engine/thermal/get_thrust()
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
if(!is_on())
|
||||
return 0
|
||||
var/pressurized_coef = E.air_contents.return_pressure()/E.effective_pressure
|
||||
return round(E.thrust_limit * E.nominal_thrust * pressurized_coef)
|
||||
|
||||
/datum/ship_engine/thermal/burn()
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
return E.burn()
|
||||
|
||||
/datum/ship_engine/thermal/set_thrust_limit(var/new_limit)
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
E.thrust_limit = new_limit
|
||||
|
||||
/datum/ship_engine/thermal/get_thrust_limit()
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
return E.thrust_limit
|
||||
|
||||
/datum/ship_engine/thermal/is_on()
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
return E.on
|
||||
|
||||
/datum/ship_engine/thermal/toggle()
|
||||
..()
|
||||
var/obj/machinery/atmospherics/unary/engine/E = engine
|
||||
E.on = !E.on
|
||||
|
||||
//Actual thermal nozzle engine object
|
||||
|
||||
/obj/machinery/atmospherics/unary/engine
|
||||
name = "engine nozzle"
|
||||
desc = "Simple thermal nozzle, uses heated gast to propell the ship."
|
||||
icon = 'icons/obj/ship_engine.dmi'
|
||||
icon_state = "nozzle"
|
||||
var/on = 1
|
||||
var/thrust_limit = 1 //Value between 1 and 0 to limit the resulting thrust
|
||||
var/nominal_thrust = 3000
|
||||
var/effective_pressure = 3000
|
||||
var/datum/ship_engine/thermal/controller
|
||||
|
||||
/obj/machinery/atmospherics/unary/engine/initialize()
|
||||
..()
|
||||
controller = new(src)
|
||||
|
||||
/obj/machinery/atmospherics/unary/engine/Del()
|
||||
..()
|
||||
controller.die()
|
||||
|
||||
/obj/machinery/atmospherics/unary/engine/proc/burn()
|
||||
if (!on)
|
||||
return
|
||||
if(air_contents.temperature > 0)
|
||||
var/transfer_moles = 100 * air_contents.volume/max(air_contents.temperature * R_IDEAL_GAS_EQUATION, 0,01)
|
||||
transfer_moles = round(thrust_limit * transfer_moles, 0.01)
|
||||
if(transfer_moles > air_contents.total_moles)
|
||||
on = !on
|
||||
return 0
|
||||
|
||||
var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
|
||||
|
||||
loc.assume_air(removed)
|
||||
if(air_contents.temperature > PHORON_MINIMUM_BURN_TEMPERATURE)
|
||||
var/exhaust_dir = reverse_direction(dir)
|
||||
var/turf/T = get_step(src,exhaust_dir)
|
||||
if(T)
|
||||
new/obj/effect/engine_exhaust(T,exhaust_dir,air_contents.temperature)
|
||||
return 1
|
||||
|
||||
//Exhaust effect
|
||||
/obj/effect/engine_exhaust
|
||||
name = "engine exhaust"
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
icon_state = "exhaust"
|
||||
anchored = 1
|
||||
|
||||
New(var/turf/nloc, var/ndir, var/temp)
|
||||
dir = ndir
|
||||
..(nloc)
|
||||
|
||||
if(nloc)
|
||||
nloc.hotspot_expose(temp,125)
|
||||
|
||||
spawn(20)
|
||||
loc = null
|
||||
105
code/WorkInProgress/Chinsky/overmap/ships/ship.dm
Normal file
105
code/WorkInProgress/Chinsky/overmap/ships/ship.dm
Normal file
@@ -0,0 +1,105 @@
|
||||
/obj/effect/map/ship
|
||||
name = "generic ship"
|
||||
desc = "Space faring vessel."
|
||||
icon_state = "sheet-sandstone"
|
||||
var/vessel_mass = 9000 //tonnes, random number
|
||||
var/default_delay = 60
|
||||
var/list/speed = list(0,0)
|
||||
var/last_burn = 0
|
||||
var/list/last_movement = list(0,0)
|
||||
var/fore_dir = NORTH
|
||||
|
||||
var/obj/effect/map/current_sector
|
||||
var/obj/machinery/computer/helm/nav_control
|
||||
var/obj/machinery/computer/engines/eng_control
|
||||
|
||||
/obj/effect/map/ship/initialize()
|
||||
for(var/obj/machinery/computer/engines/E in machines)
|
||||
if (E.z == map_z)
|
||||
eng_control = E
|
||||
break
|
||||
for(var/obj/machinery/computer/helm/H in machines)
|
||||
if (H.z == map_z)
|
||||
nav_control = H
|
||||
break
|
||||
processing_objects.Add(src)
|
||||
|
||||
/obj/effect/map/ship/relaymove(mob/user, direction)
|
||||
accelerate(direction)
|
||||
|
||||
/obj/effect/map/ship/proc/is_still()
|
||||
return !(speed[1] || speed[2])
|
||||
|
||||
/obj/effect/map/ship/proc/get_acceleration()
|
||||
return eng_control.get_total_thrust()/vessel_mass
|
||||
|
||||
/obj/effect/map/ship/proc/get_speed()
|
||||
return round(sqrt(speed[1]*speed[1] + speed[2]*speed[2]))
|
||||
|
||||
/obj/effect/map/ship/proc/get_heading()
|
||||
var/res = 0
|
||||
if(speed[1])
|
||||
if(speed[1] > 0)
|
||||
res |= EAST
|
||||
else
|
||||
res |= WEST
|
||||
if(speed[2])
|
||||
if(speed[2] > 0)
|
||||
res |= NORTH
|
||||
else
|
||||
res |= SOUTH
|
||||
return res
|
||||
|
||||
/obj/effect/map/ship/proc/adjust_speed(n_x, n_y)
|
||||
speed[1] = Clamp(speed[1] + n_x, -default_delay, default_delay)
|
||||
speed[2] = Clamp(speed[2] + n_y, -default_delay, default_delay)
|
||||
if(is_still())
|
||||
toggle_move_stars(map_z)
|
||||
else
|
||||
toggle_move_stars(map_z, fore_dir)
|
||||
|
||||
/obj/effect/map/ship/proc/can_burn()
|
||||
if (!eng_control)
|
||||
return 0
|
||||
if (world.time < last_burn + 10)
|
||||
return 0
|
||||
if (!eng_control.burn())
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/effect/map/ship/proc/get_brake_path()
|
||||
if(!get_acceleration())
|
||||
return INFINITY
|
||||
return max(abs(speed[1]),abs(speed[2]))/get_acceleration()
|
||||
|
||||
/obj/effect/map/ship/proc/decelerate()
|
||||
if(!is_still() && can_burn())
|
||||
if (speed[1])
|
||||
adjust_speed(-SIGN(speed[1]) * min(get_acceleration(),speed[1]), 0)
|
||||
if (speed[2])
|
||||
adjust_speed(0, -SIGN(speed[2]) * min(get_acceleration(),speed[2]))
|
||||
last_burn = world.time
|
||||
|
||||
/obj/effect/map/ship/proc/accelerate(direction)
|
||||
if(can_burn())
|
||||
last_burn = world.time
|
||||
|
||||
if(direction & EAST)
|
||||
adjust_speed(get_acceleration(), 0)
|
||||
if(direction & WEST)
|
||||
adjust_speed(-get_acceleration(), 0)
|
||||
if(direction & NORTH)
|
||||
adjust_speed(0, get_acceleration())
|
||||
if(direction & SOUTH)
|
||||
adjust_speed(0, -get_acceleration())
|
||||
|
||||
/obj/effect/map/ship/process()
|
||||
if(!is_still())
|
||||
var/list/deltas = list(0,0)
|
||||
for(var/i=1, i<=2, i++)
|
||||
if(speed[i] && world.time > last_movement[i] + default_delay - speed[i])
|
||||
deltas[i] = speed[i] > 0 ? 1 : -1
|
||||
last_movement[i] = world.time
|
||||
var/turf/newloc = locate(x + deltas[1], y + deltas[2], z)
|
||||
if(newloc)
|
||||
Move(newloc)
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 194 KiB |
BIN
icons/obj/ship_engine.dmi
Normal file
BIN
icons/obj/ship_engine.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 817 B |
@@ -105,6 +105,11 @@
|
||||
icon_state = "tcomsatcham"
|
||||
music = list('sound/ambience/signal.ogg')
|
||||
|
||||
/area/ship/scrap/shuttle/
|
||||
requires_power = 0
|
||||
luminosity = 1
|
||||
lighting_use_dynamic = 0
|
||||
|
||||
/area/ship/scrap/shuttle/ingoing
|
||||
name = "\improper Docking Bay #1"
|
||||
icon_state = "tcomsatcham"
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
"ai" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/bluegrid,/area/ship/scrap/command)
|
||||
"aj" = (/obj/effect/mapinfo/ship/bearcat,/turf/space,/area)
|
||||
"ak" = (/obj/structure/table,/obj/machinery/light,/obj/item/device/radio,/obj/item/device/radio/intercom{pixel_y = -32},/turf/simulated/floor{tag = "icon-gcircuit (SOUTHEAST)"; icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command)
|
||||
"al" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (NORTH)"; icon_state = "comfychair_teal"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"; dir = 2},/area/ship/scrap/command)
|
||||
"al" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (NORTH)"; icon_state = "comfychair_teal"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor{tag = "icon-gcircuitoff"; icon_state = "gcircuitoff"; dir = 2},/area/ship/scrap/command)
|
||||
"am" = (/obj/structure/table,/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/door_control{id = "scraplock"; name = "External Lockdown"},/turf/simulated/floor{tag = "icon-gcircuit (SOUTHEAST)"; icon_state = "gcircuit"; dir = 6},/area/ship/scrap/command)
|
||||
"an" = (/turf/simulated/wall/r_wall,/area/ship/scrap/command)
|
||||
"ao" = (/obj/machinery/door/airlock/hatch,/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1; tag = "icon-intact"},/turf/simulated/floor,/area/ship/scrap/command)
|
||||
"ap" = (/turf/simulated/wall/r_wall,/area/ship/scrap/comms)
|
||||
"aq" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/comms)
|
||||
"ar" = (/obj/machinery/atmospherics/pipe/simple{dir = 2; icon_state = "intact"; level = 1; tag = "icon-intact"},/obj/machinery/light_switch{pixel_x = 28},/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command)
|
||||
"ar" = (/obj/machinery/light_switch{pixel_x = 28},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command)
|
||||
"as" = (/turf/simulated/wall/r_wall,/area/ship/scrap/command/captain)
|
||||
"at" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor{icon_state = "white"},/area/ship/scrap/command/captain)
|
||||
"au" = (/obj/machinery/account_database,/turf/simulated/floor/bluegrid,/area/ship/scrap/comms)
|
||||
@@ -29,7 +29,7 @@
|
||||
"aC" = (/obj/machinery/telecomms/allinone,/turf/simulated/floor/bluegrid,/area/ship/scrap/comms)
|
||||
"aD" = (/obj/machinery/door/window/westleft,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; level = 2; on = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ship/scrap/comms)
|
||||
"aE" = (/obj/machinery/door/airlock/hatch,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8; level = 1},/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/comms)
|
||||
"aF" = (/obj/structure/cable{tag = "icon-2-8"; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold4w{level = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command)
|
||||
"aF" = (/obj/structure/cable{tag = "icon-2-8"; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command)
|
||||
"aG" = (/obj/machinery/door/airlock/hatch,/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{tag = "icon-neutralfull (EAST)"; icon_state = "neutralfull"; dir = 4},/area/ship/scrap/command/captain)
|
||||
"aH" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8; level = 1},/obj/structure/cable{tag = "icon-6-8"; icon_state = "6-8"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain)
|
||||
"aI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; level = 1; on = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/ship/scrap/command/captain)
|
||||
@@ -339,7 +339,7 @@
|
||||
"gA" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/ship/scrap/maintenance/atmos)
|
||||
"gB" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/atmos)
|
||||
"gC" = (/obj/machinery/pipedispenser,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/atmos)
|
||||
"gD" = (/obj/machinery/power/apc{dir = 1; name = "Maintenance APC"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance)
|
||||
"gD" = (/obj/machinery/power/apc{dir = 1; name = "Maintenance APC"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/obj/machinery/computer/engines,/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance)
|
||||
"gE" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm{pixel_y = 32},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance)
|
||||
"gF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/toolcloset,/turf/simulated/floor{tag = "icon-bot"; icon_state = "bot"; dir = 2},/area/ship/scrap/maintenance)
|
||||
"gG" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact"; icon_state = "intact"; dir = 2; level = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance)
|
||||
@@ -381,17 +381,27 @@
|
||||
"hq" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/ship/scrap/maintenance/atmos)
|
||||
"hr" = (/obj/structure/cable{tag = "icon-5-6"; icon_state = "5-6"},/obj/machinery/door/airlock/maintenance_hatch{name = "Hatch"; normalspeed = 0},/turf/simulated/floor{tag = "icon-floorgrime (SOUTHEAST)"; icon_state = "floorgrime"; dir = 6},/area/ship/scrap/maintenance/engine)
|
||||
"hs" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{tag = "icon-pipe-t (NORTH)"; icon_state = "pipe-t"; dir = 1},/turf/space,/area)
|
||||
"ht" = (/turf/simulated/floor{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/ship/scrap/maintenance/engine)
|
||||
"hu" = (/obj/structure/cable{tag = "icon-4-9"; icon_state = "4-9"},/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hv" = (/obj/machinery/power/apc{dir = 1; name = "Engine APC"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hw" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hx" = (/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hy" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/ship/scrap/maintenance/engine)
|
||||
"hz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/sign{tag = "icon-radiation"; icon_state = "radiation"},/turf/simulated/wall,/area/ship/scrap/maintenance/engine)
|
||||
"hA" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{tag = "icon-wall_thermite"; icon_state = "wall_thermite"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hB" = (/turf/space,/area/ship/scrap/maintenance/engine)
|
||||
"hC" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/turf/space,/area/ship/scrap/maintenance/engine)
|
||||
"hD" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/space,/area/ship/scrap/maintenance/engine)
|
||||
"ht" = (/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hu" = (/obj/structure/cable{tag = "icon-4-9"; icon_state = "4-9"},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hv" = (/obj/machinery/power/apc{dir = 1; name = "Engine APC"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hw" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hx" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hy" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hz" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/tank/phoron{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hA" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hB" = (/obj/machinery/atmospherics/tvalve{tag = "icon-tvalve0 (WEST)"; icon_state = "tvalve0"; dir = 8},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hC" = (/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers,/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hD" = (/obj/machinery/atmospherics/pipe/tank/oxygen{tag = "icon-intact (WEST)"; icon_state = "intact"; dir = 8},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hE" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{tag = "icon-freezer_0 (EAST)"; icon_state = "freezer_0"; dir = 4},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hF" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hG" = (/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{tag = "icon-manifold (NORTH)"; icon_state = "manifold"; dir = 1},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hH" = (/obj/machinery/atmospherics/valve/open{tag = "icon-valve1 (EAST)"; icon_state = "valve1"; dir = 4},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hI" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor/plating,/area/ship/scrap/maintenance/engine)
|
||||
"hJ" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hK" = (/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{tag = "icon-manifold (NORTH)"; icon_state = "manifold"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers,/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hM" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-warnplate"; icon_state = "warnplate"; dir = 2},/area/ship/scrap/maintenance/engine)
|
||||
"hN" = (/obj/machinery/atmospherics/unary/engine{tag = "icon-nozzle (NORTH)"; icon_state = "nozzle"; dir = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/ship/scrap/maintenance/engine)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -441,14 +451,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafAgsgsgsgsgtgugvgvgwgvgxgvgygzgzgzgz
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagsgAgBgCgtgDgEgFgGgHgIgJgygKgLgMgzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagNgOgPgQgRgSgTgUgVgWgWgXgYgZhahbhcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagshdhdhehfhghhhihjhkhlhmgzhnhohpgzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagsgsgNhqdwhreedwdwdwdwdweFgzhcgzgzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahseFhthuhvhwhxhxhyeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeFhzevevevevevhAeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahBdxeGeGeGeGeGdwhBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahBhChDhDhDhDhDhChBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahBhChBhBhBhBhBhChBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagsgsgNhqdwhrdwdwdwdwdwdweFgzhcgzgzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahseFhthuhvhwhxhyhzeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeFhthththAhBhChDeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeFeFhEhFhGhHhIeFeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeFhJhKhLhKhMeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxhNhNhNhNhNdwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXaaaaaaaaaaeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXaaaaaaaaaaeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
@@ -260,22 +260,21 @@
|
||||
"eZ" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fa" = (/obj/item/weapon/cell,/turf/simulated/floor,/area/tcommsat/entrance)
|
||||
"fb" = (/obj/structure/closet/malf/suits,/turf/simulated/floor,/area/tcommsat/entrance)
|
||||
"fc" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/space,/area/shuttle/escape_pod1/centcom)
|
||||
"fd" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fe" = (/obj/machinery/camera/xray{c_tag = "External Airlock"; network = list("Tcomsat")},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "telecoms_pump"; tag_exterior_door = "telecoms_outer"; frequency = 1381; id_tag = "telecoms_airlock"; tag_interior_door = "telecoms_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "telecoms_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"ff" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fg" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fh" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor,/area/tcommsat/entrance)
|
||||
"fi" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance)
|
||||
"fj" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fk" = (/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/tcommsat/entrance)
|
||||
"fl" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/machinery/camera{c_tag = "Entrance South"; dir = 1; network = list("Tcomsat")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fm" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fn" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fo" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fp" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fq" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fr" = (/obj/effect/mapinfo/sector{icon = 'icons/obj/stock_parts.dmi'; icon_state = "treatment_disk"; landing_area = /area/shuttle/escape_pod1/centcom; mapx = 7; mapy = 3; name = "Communications Relay"},/turf/space,/area)
|
||||
"fc" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "10;13"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -7; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fd" = (/obj/machinery/camera/xray{c_tag = "External Airlock"; network = list("Tcomsat")},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "telecoms_pump"; tag_exterior_door = "telecoms_outer"; frequency = 1381; id_tag = "telecoms_airlock"; tag_interior_door = "telecoms_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "telecoms_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fe" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"ff" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fg" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor,/area/tcommsat/entrance)
|
||||
"fh" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance)
|
||||
"fi" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fj" = (/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/tcommsat/entrance)
|
||||
"fk" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/machinery/camera{c_tag = "Entrance South"; dir = 1; network = list("Tcomsat")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fl" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fm" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/tcommsat/entrance)
|
||||
"fn" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fo" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fp" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/tcommsat/entrance)
|
||||
"fq" = (/obj/effect/mapinfo/sector{icon = 'icons/obj/stock_parts.dmi'; icon_state = "treatment_disk"; landing_area = /area/shuttle/escape_pod1/centcom; mapx = 7; mapy = 3; name = "Communications Relay"},/turf/space,/area)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -315,10 +314,10 @@ aaaaaaaaaaaaaaaaababadadadadadadadadadadadeoeNeOePeoadadadadadadadadadadadababaa
|
||||
aaaaaaaaaaaaaaaaaaabababababababababababeoeoeQeReSeoeoabababababababababababaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTababeoeoeUeVeWeHeXeoeoababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTeoeoeYeZfaezezezezfbeoabaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTfcfdfefffgezezfhezezfieoabaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTeMeoeofjfkezezezezfbeoababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTababeoeoflfmfmfmfneoeoababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTabababeoeofofpfqeoeoabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTfcfdfeffezezfgezezfheoabaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTeMeoeofifjezezezezfbeoababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTababeoeofkflflflfmeoeoababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaeTeTeTeTabababeoeofnfofpeoeoabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababeoeoeoeoeoababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaabababacabababaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -326,6 +325,6 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
fraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
fqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
"}
|
||||
|
||||
@@ -1,171 +1,180 @@
|
||||
"aa" = (/turf/space,/area)
|
||||
"ab" = (/obj/effect/mapinfo/sector{icon = 'icons/obj/mining.dmi'; icon_state = "ore2"; landing_area = /area/shuttle/escape_pod2/centcom; name = "Abandoned Outpost"},/turf/space,/area)
|
||||
"ac" = (/turf/space,/area/shuttle/escape_pod2/centcom)
|
||||
"ad" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"ae" = (/turf/simulated/floor,/area/mine/abandoned)
|
||||
"af" = (/obj/structure/lattice,/turf/space,/area)
|
||||
"ag" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"ah" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"ai" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"ak" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"al" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"am" = (/turf/simulated/mineral,/area/mine/unexplored)
|
||||
"an" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"ao" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"ap" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aq" = (/turf/simulated/mineral/random,/area/mine/unexplored)
|
||||
"ar" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"as" = (/turf/simulated/wall,/area/mine/abandoned)
|
||||
"at" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"au" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"av" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aw" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area)
|
||||
"ax" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"ay" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"az" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"aA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aD" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aE" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aF" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area)
|
||||
"aG" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aH" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aJ" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"aK" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"aL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aM" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"aN" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aO" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aP" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aQ" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aR" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"aS" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"aT" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"aU" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"aV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aW" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"aX" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aY" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area)
|
||||
"aZ" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"ba" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bb" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bc" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"be" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bf" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned)
|
||||
"bg" = (/obj/structure/lattice,/turf/space,/area/mine/abandoned)
|
||||
"bh" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bi" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bj" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bk" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bn" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned)
|
||||
"bo" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bp" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bq" = (/turf/simulated/floor/airless,/area/mine/abandoned)
|
||||
"br" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bs" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bt" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bu" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned)
|
||||
"bv" = (/obj/structure/rack,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bw" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bx" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"by" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bz" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bA" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bB" = (/obj/structure/table,/turf/simulated/floor/airless,/area/mine/abandoned)
|
||||
"bC" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bD" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bE" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned)
|
||||
"bF" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bG" = (/obj/machinery/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned)
|
||||
"bH" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bO" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bP" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bQ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bR" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bS" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bT" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bU" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned)
|
||||
"bV" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bW" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bX" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bY" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned)
|
||||
"bZ" = (/obj/effect/alien/resin,/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/mine/abandoned)
|
||||
"ca" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"cb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"cc" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"cd" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"ce" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"cf" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"ch" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"ci" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"cj" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"ck" = (/obj/structure/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cl" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
|
||||
"cm" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cn" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"co" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"cp" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"cr" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
|
||||
"cs" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
|
||||
"ct" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"cu" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored)
|
||||
"cv" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored)
|
||||
"cw" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored)
|
||||
"cx" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored)
|
||||
"ab" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"},/area/shuttle/overmap_examples/outpost)
|
||||
"ac" = (/obj/structure/shuttle/window{tag = "icon-3"; icon_state = "3"},/turf/simulated/shuttle/floor,/area/shuttle/overmap_examples/outpost)
|
||||
"ad" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"},/area/shuttle/overmap_examples/outpost)
|
||||
"ae" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"},/area/shuttle/overmap_examples/outpost)
|
||||
"af" = (/obj/machinery/computer/shuttle_control/explore{landing_type = /area/shuttle/overmap_examples/outpost},/turf/simulated/shuttle/floor,/area/shuttle/overmap_examples/outpost)
|
||||
"ag" = (/obj/effect/mapinfo/sector{icon = 'icons/obj/mining.dmi'; icon_state = "ore2"; landing_area = /area/shuttle/escape_pod2/centcom; name = "Abandoned Outpost"},/turf/space,/area)
|
||||
"ah" = (/turf/simulated/shuttle/floor,/area/shuttle/overmap_examples/outpost)
|
||||
"ai" = (/turf/space,/area/shuttle/escape_pod2/centcom)
|
||||
"aj" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"},/area/shuttle/overmap_examples/outpost)
|
||||
"ak" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/overmap_examples/outpost)
|
||||
"al" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"},/area/shuttle/overmap_examples/outpost)
|
||||
"am" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"an" = (/turf/simulated/floor,/area/mine/abandoned)
|
||||
"ao" = (/obj/structure/lattice,/turf/space,/area)
|
||||
"ap" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aq" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"ar" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"as" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"at" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"au" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"av" = (/turf/simulated/mineral,/area/mine/unexplored)
|
||||
"aw" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"ax" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"ay" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"az" = (/turf/simulated/mineral/random,/area/mine/unexplored)
|
||||
"aA" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"aB" = (/turf/simulated/wall,/area/mine/abandoned)
|
||||
"aC" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aD" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"aE" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aF" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area)
|
||||
"aG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aH" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aI" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"aJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aM" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aN" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"aO" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area)
|
||||
"aP" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aQ" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aS" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"aT" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"aU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aV" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"aW" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aX" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"aY" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"aZ" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"ba" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bb" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bc" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bd" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"be" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bf" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bg" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bh" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area)
|
||||
"bi" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bj" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bk" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bl" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bn" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bo" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned)
|
||||
"bp" = (/obj/structure/lattice,/turf/space,/area/mine/abandoned)
|
||||
"bq" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"br" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bs" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bt" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bw" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned)
|
||||
"bx" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"by" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bz" = (/turf/simulated/floor/airless,/area/mine/abandoned)
|
||||
"bA" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bB" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bC" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bD" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned)
|
||||
"bE" = (/obj/structure/rack,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bF" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bG" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bH" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"bI" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bJ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"bK" = (/obj/structure/table,/turf/simulated/floor/airless,/area/mine/abandoned)
|
||||
"bL" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"bM" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bN" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned)
|
||||
"bO" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"bP" = (/obj/machinery/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned)
|
||||
"bQ" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
"bR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"bX" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"bY" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"bZ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"ca" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned)
|
||||
"cb" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"cc" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"cd" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned)
|
||||
"ce" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"cf" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"cg" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
|
||||
"ch" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned)
|
||||
"ci" = (/obj/effect/alien/resin,/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/mine/abandoned)
|
||||
"cj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"ck" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"cl" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned)
|
||||
"cm" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned)
|
||||
"cn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"co" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"cq" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned)
|
||||
"cr" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned)
|
||||
"cs" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"ct" = (/obj/structure/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cu" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
|
||||
"cv" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cw" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"cx" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"cy" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned)
|
||||
"cz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned)
|
||||
"cA" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
|
||||
"cB" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
|
||||
"cC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
|
||||
"cD" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored)
|
||||
"cE" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored)
|
||||
"cF" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored)
|
||||
"cG" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored)
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaadaeadafaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaagahaiajafaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaakaladafaaaaamamamaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaanaoapafafaqaqamamaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaralasaqaqaqaqaqaqaqaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafatauavasaqaqaqaqaqaqaqaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafawaxayazasaqaqaqaqaqaqaqaqaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafaAaBaCasaDaEasasasasaqaqaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaFaGaHaIaJaKaLaoaMasaNaOasaqaqaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaafaPaQaGaRaSaTaUaVaMaWaOaXaNasaqaqaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaYaPaZaPaHaHaDbaaSasazbbasaObcasaqaqaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaafafbdbeaHbfbgaHavbhaTbibjbkasasasasasasaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaafafblbmbnaHbgboaRbpaSbqasbrbsasbtaMbubvasaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaafafafaqaqasaKbwbxbybnbzbAaTbBaLaobCasbtazaMbvasaqaqaqaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaafasasasasasasaJaSbDbwaSbhbEbBbBaVaMbrasbtavbFbvasaqaqaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaafasbGaoaTbHasbIbJbKasbiasbLbMbNasaobOaebPavayaeasaqaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaqasbGavaoaRbibObwbQbwbRaoaobSaMaoavavasaebTavaoasaqaqaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaqaqasbGbUavavbiavbFaDavbVbRbFbCbWavbXazasbwaebOaoasaqaqaqaaaaaaaaaaaa
|
||||
aaaaaaaaaqaqaqasbGbYaRaJasbZascacbasaTascacbasaSbOasbSccaebrasaqaqaqaaaaaaaaaaaa
|
||||
aaaaaaaqaqaqaqasasasasasasbZascdaMaTbrazaSbzaSbkaRascacecfcgasaqaqaqaqaaaaaaaaaa
|
||||
aaaaaaaqaqaqaqaqaqaqaqaqasbZasaMbrchbhalaRaMasaSazascicjcjckasclaqaqaqaaaaaaaaaa
|
||||
aaaaaaaqaqaqaqaqaqaqaqaqasbZasbraobkaMaSazbkasbZasasbtaecjcmcnclclaqaqaaaaaaaaaa
|
||||
aaaaaqaqaqaqaqaqaqaqaqaqasbZasasasasasasasasasbZasbtaebuaeckcoclclaqaqaaaaaaaaaa
|
||||
aaaaaqaqaqaqaqaqaqaqaqaqasbZbZbZbZbZbZbZbZbZbZbZasbtbubububvasclclclaqaaaaaaaaaa
|
||||
aaaaaqaqaqaqaqaqaqaqaqaqasasasasasasasasasasasasasascgcpcqasasclclclclaaaaaaaaaa
|
||||
aaaaaaaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqclclclascjcjbuasclclclclaaaaaaaaaaaa
|
||||
aaaaaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqclclclascrcscrasclclclclclaaaaaaaaaa
|
||||
aaaaaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqclclasctcpcgasclclclclaaaaaaaaaaaa
|
||||
aaaaaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqclclclcucvcwclclclclaqaaaaaaaaaaaa
|
||||
aaaaaaaaaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqclclclclclcxclclclclaqaaaaaaaaaaaa
|
||||
aaaaaaaaaaaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqclclclclclclclcxclclaqaqaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaqaqaqaqaqaqaqaqaaaaaaaaaaaaclclclclcxclclclclaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaqaqaqaaaaaaaaaaaaaaaaclclclclclclaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaqaqaaaaaaaaaaaaaaaaaaaaclclclaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeafaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeahaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaaaaajakalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaaaaamanamaoaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaaaaapaqarasaoaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaaaaaaatauamaoaaaaavavavaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaaaaaaawaxayaoaoazazavavaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaaaaaaaAauaBazazazazazazazaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaCaDaEaBazazazazazazazaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaFaGaHaIaBazazazazazazazazaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaJaKaLaBaMaNaBaBaBaBazazazazazazaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaOaPaQaRaSaTaUaxaVaBaWaXaBazazazazazazaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaYaZaPbabbbcbdbeaVbfaXbgaWaBazazazazazazaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaabhaYbiaYaQaQaMbjbbaBaIbkaBaXblaBazazazazazazaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaoaobmbnaQbobpaQaEbqbcbrbsbtaBaBaBaBaBaBazazazazaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaoaobubvbwaQbpbxbabybbbzaBbAbBaBbCaVbDbEaBazazazazaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaoaoaoazazaBaTbFbGbHbwbIbJbcbKaUaxbLaBbCaIaVbEaBazazazaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaoaBaBaBaBaBaBaSbbbMbFbbbqbNbKbKbeaVbAaBbCaEbObEaBazazaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaoaBbPaxbcbQaBbRbSbTaBbraBbUbVbWaBaxbXanbYaEaHanaBazaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaazaBbPaEaxbabrbXbFbZbFcaaxaxcbaVaxaEaEaBanccaEaxaBazazaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaazazaBbPcdaEaEbraEbOaMaEcecabObLcfaEcgaIaBbFanbXaxaBazazazaaaaaaaaaaaa
|
||||
aaaaaaaaazazazaBbPchbaaSaBciaBcjckaBbcaBcjckaBbbbXaBcbclanbAaBazazazaaaaaaaaaaaa
|
||||
aaaaaaazazazazaBaBaBaBaBaBciaBcmaVbcbAaIbbbIbbbtbaaBcjcncocpaBazazazazaaaaaaaaaa
|
||||
aaaaaaazazazazazazazazazaBciaBaVbAcqbqaubaaVaBbbaIaBcrcscsctaBcuazazazaaaaaaaaaa
|
||||
aaaaaaazazazazazazazazazaBciaBbAaxbtaVbbaIbtaBciaBaBbCancscvcwcucuazazaaaaaaaaaa
|
||||
aaaaazazazazazazazazazazaBciaBaBaBaBaBaBaBaBaBciaBbCanbDanctcxcucuazazaaaaaaaaaa
|
||||
aaaaazazazazazazazazazazaBciciciciciciciciciciciaBbCbDbDbDbEaBcucucuazaaaaaaaaaa
|
||||
aaaaazazazazazazazazazazaBaBaBaBaBaBaBaBaBaBaBaBaBaBcpcyczaBaBcucucucuaaaaaaaaaa
|
||||
aaaaaaazazazazazazazazazazazazazazazazazazazcucucuaBcscsbDaBcucucucuaaaaaaaaaaaa
|
||||
aaaaazazazazazazazazazazazazazazazazazazazazcucucuaBcAcBcAaBcucucucucuaaaaaaaaaa
|
||||
aaaaazazazazazazazazazazazazazazazazazazazazazcucuaBcCcycpaBcucucucuaaaaaaaaaaaa
|
||||
aaaaazazazazazazazazazazazazazazazazazazazazazcucucucDcEcFcucucucuazaaaaaaaaaaaa
|
||||
aaaaaaaaazazazazazazazazazazazazazazazazazazazcucucucucucGcucucucuazaaaaaaaaaaaa
|
||||
aaaaaaaaaaazazazazazazazazazazazazazazazazazcucucucucucucucGcucuazazaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaazazazazazazazazaaaaaaaaaaaacucucucucGcucucucuaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaazazazaaaaaaaaaaaaaaaacucucucucucuaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaazazaaaaaaaaaaaaaaaaaaaacucucuaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
"}
|
||||
|
||||
3
maps/overmap/examples.dm
Normal file
3
maps/overmap/examples.dm
Normal file
@@ -0,0 +1,3 @@
|
||||
/area/shuttle/overmap_examples/outpost
|
||||
name = "abandoned outpost shuttle"
|
||||
icon_state = "shuttle2"
|
||||
84
nano/templates/engines_control.tmpl
Normal file
84
nano/templates/engines_control.tmpl
Normal file
@@ -0,0 +1,84 @@
|
||||
<div class="item">
|
||||
{{:~link('Overall status', 'note', {'state' :'status'}, null, state == 'status' ? 'selected' : null)}}
|
||||
{{:~link('Details', 'note', {'state' : 'engines'}, null, state == 'engines' ? 'selected' : null)}}
|
||||
</div>
|
||||
|
||||
{{if state == "engines"}}
|
||||
{{if engines_info}}
|
||||
{{for engines_info}}
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='white'>Engine #{{:#index + 1}}:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
{{:~link(eng_on ? 'Shutdown' : 'Power up', 'power', { 'toggle' : 1, 'engine' : eng_reference }, null, eng_on ? 'selected' : null)}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='statusDisplay'>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Type:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
<span class='white'>{{:eng_type}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Status:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
<span class='{{:eng_on ? 'good' : 'bad'}}'>{{:eng_on ? 'Online' : 'Offline'}}</span><br>
|
||||
<span class='white'>{{:eng_status}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Current thrust:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
<span class='white'>{{:eng_thrust}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Thrust limit:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
{{:~link('', 'circle-plus', { 'limit' : 0.1, 'engine' : eng_reference }, null, null)}}
|
||||
{{:~link(eng_thrust_limiter+'%', null, { 'set_limit' : 1, 'engine' : eng_reference }, null, null)}}
|
||||
{{:~link('', 'circle-minus', { 'limit' : -0.1, 'engine' : eng_reference }, null, null)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/for}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{if state == "status"}}
|
||||
{{if engines_info}}
|
||||
{{for engines_info}}
|
||||
<div class='block'>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='white'>Engine #{{:#index + 1}}:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
{{:~link(eng_on ? 'Shutdown' : 'Power up', 'power', { 'toggle' : 1, 'engine' : eng_reference }, null, eng_on ? 'selected' : null)}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Thrust:</span>
|
||||
<br>
|
||||
<span class='average'>Thrust limit:</span>
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
<span class='white'>{{:eng_thrust}}</span>
|
||||
<br>
|
||||
<span class='white'>{{:eng_thrust_limiter}}%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/for}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
119
nano/templates/helm.tmpl
Normal file
119
nano/templates/helm.tmpl
Normal file
@@ -0,0 +1,119 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div style="float:left;width:50%">
|
||||
<h3>Sector information</h3>
|
||||
<div class='block'>
|
||||
{{:sector}}
|
||||
<br>
|
||||
<span class='average'>Coordinates:</span> {{:s_x}} : {{:s_y}}
|
||||
<br>
|
||||
<span class='average'>Additional information:</span> {{:s_x}} : {{:s_y}}
|
||||
{{:sector_info}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="float:right;width:50%">
|
||||
<h3>Flight data</h3>
|
||||
<div class='block'>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Speed:</span>
|
||||
</div>
|
||||
<div style="float:right">
|
||||
{{:speed}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Acceleration:</span>
|
||||
</div>
|
||||
<div style="float:right">
|
||||
{{:accel}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<span class='average'>Heading:</span>
|
||||
</div>
|
||||
<div style="float:right">
|
||||
{{:heading}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<h3>Manual control</h3>
|
||||
<div class='block'>
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<div class='item'>
|
||||
{{:~link('', 'triangle-1-nw', { 'move' : 9 }, null, null)}}
|
||||
{{:~link('', 'triangle-1-n', { 'move' : 1 }, null, null)}}
|
||||
{{:~link('', 'triangle-1-ne', { 'move' : 5 }, null, null)}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{:~link('', 'triangle-1-w', { 'move' : 8 }, null, null)}}
|
||||
{{:~link('', 'circle-close', { 'brake' : 1 }, null, null)}}
|
||||
{{:~link('', 'triangle-1-e', { 'move' : 4 }, null, null)}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{:~link('', 'triangle-1-sw', { 'move' : 10 }, null, null)}}
|
||||
{{:~link('', 'triangle-1-s', { 'move' : 2 }, null, null)}}
|
||||
{{:~link('', 'triangle-1-se', { 'move' : 6 }, null, null)}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="itemContent">
|
||||
<div class='item'>
|
||||
<span class='white'>Direct control</span>
|
||||
{{:~link(manual_control ? 'Engaged' : 'Disengaged', 'shuffle', { 'manual' : 1 }, manual_control ? 'selected' : null, null)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='item'>
|
||||
<div class="itemLabel">
|
||||
<h3>Autopilot</h3>
|
||||
</div>
|
||||
<div class="itemContent" style="padding-top: 10px;">
|
||||
{{:~link(autopilot? 'Engaged' : 'Disengaged', 'gear', { 'apilot' : 1 }, dest ? null : 'disabled' , autopilot ? 'selected' : null)}}
|
||||
</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div style="float:left;width:45%">
|
||||
<span class='white'>Target coordinates</span>
|
||||
</div>
|
||||
<div style="float:left;width:20%">
|
||||
{{if dest}}
|
||||
{{:~link(d_x, null, { 'setx' : 1 }, null, null)}} {{:~link(d_y, null, { 'sety' : 1 }, null, null)}}
|
||||
{{else}}
|
||||
{{:~link('None', null, { 'sety' : 1, 'setx' : 1 }, null, null)}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Navigation data</h3>
|
||||
<div class='item'>
|
||||
{{:~link('Save current position', 'disk', { 'add' : 'current' }, null)}}
|
||||
{{:~link('Add new entry', 'document', { 'add' : 'new' }, null)}}
|
||||
</div>
|
||||
|
||||
<div class='statusDisplay'>
|
||||
{{if locations}}
|
||||
{{for locations}}
|
||||
<div class='item'>
|
||||
<span class='average'>{{:name}}:</span>
|
||||
<span class='white'>{{:x}} : {{:y}}</span>
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{:~link('Plot course', 'arrowreturnthick-1-e', { 'x' : x, 'y' : y }, null, null)}}
|
||||
{{:~link('Remove entry', 'close', { 'remove' : reference }, null, null)}}
|
||||
</div>
|
||||
{{/for}}
|
||||
{{/if}}
|
||||
</div>
|
||||
74
nano/templates/shuttle_control_console_exploration.tmpl
Normal file
74
nano/templates/shuttle_control_console_exploration.tmpl
Normal file
@@ -0,0 +1,74 @@
|
||||
<h3>Shuttle Status</h3>
|
||||
<div class="item" style="padding-top: 10px">
|
||||
<div class="item">
|
||||
{{:shuttle_status}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" style="padding-top: 10px">
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Drive:
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
{{if shuttle_state == "idle"}}
|
||||
<span class="idle">IDLE</span>
|
||||
{{else shuttle_state == "warmup"}}
|
||||
<span style="font-weight: bold;color: #336699">SPINNING UP</span>
|
||||
{{else shuttle_state == "in_transit"}}
|
||||
<span style="font-weight: bold;color: #336699">ENGAGED</span>
|
||||
{{else}}
|
||||
<span class="bad">ERROR</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{if has_docking}}
|
||||
<div class="item" style="padding-top: 10px">
|
||||
<div class="item">
|
||||
<div class="itemLabel">
|
||||
Docking Status:
|
||||
</div>
|
||||
<div class="itemContent">
|
||||
{{if docking_status == "docked"}}
|
||||
<span class="good">DOCKED</span>
|
||||
{{else docking_status == "docking"}}
|
||||
{{if !docking_override}}
|
||||
<span class="average">DOCKING</span>
|
||||
{{else}}
|
||||
<span class="average">DOCKING-MANUAL</span>
|
||||
{{/if}}
|
||||
{{else docking_status == "undocking"}}
|
||||
{{if !docking_override}}
|
||||
<span class="average">UNDOCKING</span>
|
||||
{{else}}
|
||||
<span class="average">UNDOCKING-MANUAL</span>
|
||||
{{/if}}
|
||||
{{else docking_status == "undocked"}}
|
||||
<span class="idle">UNDOCKED</span>
|
||||
{{else}}
|
||||
<span class="bad">ERROR</span>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="item" style="padding-top: 10px">
|
||||
<div class="itemLabel">
|
||||
Current Destination:
|
||||
</div>
|
||||
<span class="average">{{:destination_name}}</span>
|
||||
<div class="item">
|
||||
{{:~link('Choose Destination', 'arrowreturn-1-s', {'pick' : '1'}, can_pick? null : 'disabled' , null)}}
|
||||
</div>
|
||||
</div>
|
||||
<h3>Shuttle Control</h3>
|
||||
<div class="item" style="padding-top: 10px">
|
||||
<div class="item">
|
||||
<div class="itemContent" style="padding-top: 2px; width: 100%">
|
||||
{{:~link('Launch Shuttle', 'arrowthickstop-1-e', {'move' : '1'}, can_launch? null : 'disabled' , null)}}
|
||||
{{:~link('Cancel Launch', 'cancel', {'cancel' : '1'}, can_cancel? null : 'disabled' , null)}}
|
||||
{{:~link('Force Launch', 'alert', {'force' : '1'}, can_force? null : 'disabled' , can_force? 'redBackground' : null)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user