Assault Dropship, NDV Daedalus, and more!

- Adds an adminbus archeotech military dropship
- Renames the cruiser to the NDV Daedalus
- Removes the Daedalus' Vault, replaces with a engine room consisting of four nuclear reactors. 800 kw safe output
- Replaces the hull material of the Daedalus with something destructable
- Thickens the frontal hull of the Daedalus
- Combines shelter_atoms.dm and shelter_atoms_vr.dm into shelter_atoms_vr.dm (Polaris never ported Shelter capsules from us)
- Moves shelters.dm to shelters_vr.dm
- Fixes scanner readout of the Escape Pod
This commit is contained in:
Unknown
2020-04-19 15:01:40 -04:00
parent a51657162e
commit c322941953
10 changed files with 2910 additions and 1474 deletions

View File

@@ -1,318 +0,0 @@
GLOBAL_LIST_EMPTY(unique_deployable)
/*****************************Survival Pod********************************/
/area/survivalpod
name = "\improper Emergency Shelter"
icon_state = "away"
dynamic_lighting = TRUE
requires_power = FALSE
has_gravity = TRUE
//Survival Capsule
/obj/item/device/survivalcapsule
name = "surfluid shelter capsule"
desc = "An emergency shelter programmed into construction nanomachines. It has a license for use printed on the bottom."
icon_state = "houseball"
icon = 'icons/obj/device_alt.dmi'
w_class = ITEMSIZE_TINY
var/template_id = "shelter_alpha"
var/datum/map_template/shelter/template
var/used = FALSE
var/unique_id = null
/obj/item/device/survivalcapsule/proc/get_template()
if(template)
return
template = SSmapping.shelter_templates[template_id]
if(!template)
throw EXCEPTION("Shelter template ([template_id]) not found!")
qdel(src)
/obj/item/device/survivalcapsule/Destroy()
template = null // without this, capsules would be one use. per round.
. = ..()
/obj/item/device/survivalcapsule/examine(mob/user)
. = ..()
get_template()
to_chat(user, "This capsule has the [template.name] stored.")
to_chat(user, template.description)
/obj/item/device/survivalcapsule/attack_self()
//Can't grab when capsule is New() because templates aren't loaded then
get_template()
if(!used)
loc.visible_message("<span class='warning'>\The [src] begins to shake. Stand back!</span>")
used = TRUE
sleep(5 SECONDS)
var/turf/deploy_location = get_turf(src)
var/status = template.check_deploy(deploy_location)
var/turf/above_location = GetAbove(deploy_location)
switch(status)
//Not allowed due to /area technical reasons
if(SHELTER_DEPLOY_BAD_AREA)
src.loc.visible_message("<span class='warning'>\The [src] will not function in this area.</span>")
//Anchored objects or no space
if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS)
var/width = template.width
var/height = template.height
src.loc.visible_message("<span class='warning'>\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!</span>")
if(status != SHELTER_DEPLOY_ALLOWED)
used = FALSE
return
if(unique_id)
if(unique_id in GLOB.unique_deployable)
loc.visible_message("<span class='warning'>There can only be one [src] deployed at a time.</span>")
used = FALSE
return
GLOB.unique_deployable += unique_id
var/turf/T = deploy_location
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
smoke.attach(T)
smoke.set_up(10, 0, T)
smoke.start()
sleep(4 SECONDS)
playsound(get_turf(src), 'sound/effects/phasein.ogg', 100, 1)
log_and_message_admins("[key_name_admin(usr)] activated a bluespace capsule at [get_area(T)]!")
if(above_location)
template.add_roof(above_location)
template.annihilate_plants(deploy_location)
template.load(deploy_location, centered = TRUE)
template.update_lighting(deploy_location)
qdel(src)
/obj/item/device/survivalcapsule/luxury
name = "luxury surfluid shelter capsule"
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. There's a license for use printed on the bottom."
template_id = "shelter_beta"
/obj/item/device/survivalcapsule/luxurybar
name = "luxury surfluid bar capsule"
desc = "A luxury bar in a capsule. Bartender required and not included. There's a license for use printed on the bottom."
template_id = "shelter_gamma"
/obj/item/device/survivalcapsule/military
name = "military surfluid shelter capsule"
desc = "A prefabricated firebase in a capsule. Contains basic weapons, building materials, and combat suits. There's a license for use printed on the bottom."
template_id = "shelter_delta"
/obj/item/device/survivalcapsule/escapepod
name = "escape surfluid shelter capsule"
desc = "A prefabricated escape pod in a capsule. Contains a basic escape pod for survival purposes. There's a license for use printed on the bottom."
template_id = "shelter_epsilon"
unique_id = "shelter_5"
//Custom Shelter Capsules
/obj/item/device/survivalcapsule/tabiranth
name = "silver-trimmed surfluid shelter capsule"
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. This one is a particularly rare and expensive model. There's a license for use printed on the bottom."
template_id = "shelter_phi"
unique_id = "shelter_a"
//Pod objects
//Walls
/turf/simulated/shuttle/wall/voidcraft/survival
name = "survival shelter"
stripe_color = "#efbc3b"
/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner
hard_corner = 1
//Doors
/obj/machinery/door/airlock/voidcraft/survival_pod
name = "survival airlock"
block_air_zones = 1
//Door access setter button
/obj/machinery/button/remote/airlock/survival_pod
name = "shelter privacy control"
desc = "You can secure yourself inside the shelter here."
specialfunctions = 4 // 4 is bolts
id = "placeholder_id_do_not_use" //This has to be this way, otherwise it will control ALL doors if left blank.
var/obj/machinery/door/airlock/voidcraft/survival_pod/door
/obj/machinery/button/remote/airlock/survival_pod/attack_hand(obj/item/weapon/W, mob/user as mob)
if(..()) return 1 //1 is failure on machines (for whatever reason)
if(!door)
var/turf/dT = get_step(src,dir)
door = locate() in dT
if(door)
door.glass = !door.glass
door.opacity = !door.opacity
//Windows
/obj/structure/window/reinforced/survival_pod
name = "pod window"
icon = 'icons/obj/survival_pod.dmi'
icon_state = "pwindow"
basestate = "pwindow"
//The windows have diagonal versions, and will never be a full window
/obj/structure/window/reinforced/survival_pod/is_fulltile()
return FALSE
/obj/structure/window/reinforced/survival_pod/update_icon()
icon_state = basestate
//Windoor
/obj/machinery/door/window/survival_pod
icon = 'icons/obj/survival_pod.dmi'
icon_state = "windoor"
base_state = "windoor"
//Table
/obj/structure/table/survival_pod
name = "table"
icon = 'icons/obj/survival_pod.dmi'
icon_state = "table"
can_reinforce = FALSE
can_plate = FALSE
/obj/structure/table/survival_pod/update_icon()
icon_state = "table"
/obj/structure/table/survival_pod/New()
material = get_material_by_name(DEFAULT_WALL_MATERIAL)
verbs -= /obj/structure/table/verb/do_flip
verbs -= /obj/structure/table/proc/do_put
..()
/obj/structure/table/survival_pod/dismantle(obj/item/weapon/wrench/W, mob/user)
to_chat(user, "<span class='warning'>You cannot dismantle \the [src].</span>")
return
//Sleeper
/obj/machinery/sleeper/survival_pod
desc = "A limited functionality sleeper, all it can do is put patients into stasis. It lacks the medication and configuration of the larger units."
icon = 'icons/obj/survival_pod.dmi'
icon_state = "sleeper"
stasis_level = 100 //Just one setting
/obj/machinery/sleeper/survival_pod/update_icon()
if(occupant)
add_overlay("sleeper_cover")
else
cut_overlays()
//Computer
/obj/item/device/gps/computer
name = "pod computer"
icon_state = "pod_computer"
icon = 'icons/obj/survival_pod_comp.dmi'
anchored = TRUE
density = TRUE
pixel_y = -32
/obj/item/device/gps/computer/attackby(obj/item/I, mob/living/user)
if(I.is_wrench())
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
if(do_after(user,4 SECONDS,src))
new /obj/item/device/gps(loc)
qdel(src)
return TRUE
return FALSE
/obj/item/device/gps/computer/attack_hand(mob/user)
attack_self(user)
//Bed
/obj/structure/bed/pod
icon = 'icons/obj/survival_pod.dmi'
icon_state = "bed"
/obj/structure/bed/pod/New(var/newloc)
..(newloc,DEFAULT_WALL_MATERIAL,"cotton")
//Survival Storage Unit
/obj/machinery/smartfridge/survival_pod
name = "survival pod storage"
desc = "A heated storage unit."
icon_state = "donkvendor"
icon_base = "donkvendor"
icon_contents = null
icon = 'icons/obj/survival_pod_vend.dmi'
light_range = 5
light_power = 1.2
light_color = "#DDFFD3"
pixel_y = -4
max_n_of_items = 100
/obj/machinery/smartfridge/survival_pod/Initialize()
. = ..()
for(var/obj/item/O in loc)
if(accept_check(O))
stock(O)
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
return isitem(O)
/obj/machinery/smartfridge/survival_pod/empty
name = "dusty survival pod storage"
desc = "A heated storage unit. This one's seen better days."
//Fans
/obj/structure/fans
icon = 'icons/obj/survival_pod.dmi'
icon_state = "fans"
name = "environmental regulation system"
desc = "A large machine releasing a constant gust of air."
anchored = TRUE
density = TRUE
can_atmos_pass = ATMOS_PASS_NO
var/buildstacktype = /obj/item/stack/material/steel
var/buildstackamount = 5
/obj/structure/fans/proc/deconstruct()
new buildstacktype(loc,buildstackamount)
qdel(src)
/obj/structure/fans/attackby(obj/item/I, mob/living/user)
if(I.is_wrench())
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
if(do_after(user,4 SECONDS,src))
deconstruct()
return TRUE
return TRUE
/obj/structure/fans/tiny
name = "tiny fan"
desc = "A tiny fan, releasing a thin gust of air."
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
density = FALSE
icon_state = "fan_tiny"
buildstackamount = 2
//Signs
/obj/structure/sign/mining
name = "nanotrasen mining corps sign"
desc = "A sign of relief for weary miners, and a warning for would-be competitors to Nanotrasen's mining claims."
icon = 'icons/obj/survival_pod.dmi'
icon_state = "ntpod"
/obj/structure/sign/mining/survival
name = "shelter sign"
desc = "A high visibility sign designating a safe shelter."
icon = 'icons/obj/survival_pod.dmi'
icon_state = "survival"
//Fluff
/obj/structure/tubes
icon_state = "tubes"
icon = 'icons/obj/survival_pod.dmi'
name = "tubes"
anchored = TRUE
layer = BELOW_MOB_LAYER
density = FALSE

View File

@@ -1,3 +1,307 @@
GLOBAL_LIST_EMPTY(unique_deployable)
/*****************************Survival Pod********************************/
/area/survivalpod
name = "\improper Emergency Shelter"
icon_state = "away"
dynamic_lighting = TRUE
requires_power = FALSE
has_gravity = TRUE
//Survival Capsule
/obj/item/device/survivalcapsule
name = "surfluid shelter capsule"
desc = "An emergency shelter programmed into construction nanomachines. It has a license for use printed on the bottom."
icon_state = "houseball"
icon = 'icons/obj/device_alt.dmi'
w_class = ITEMSIZE_TINY
var/template_id = "shelter_alpha"
var/datum/map_template/shelter/template
var/used = FALSE
var/unique_id = null
/obj/item/device/survivalcapsule/proc/get_template()
if(template)
return
template = SSmapping.shelter_templates[template_id]
if(!template)
throw EXCEPTION("Shelter template ([template_id]) not found!")
qdel(src)
/obj/item/device/survivalcapsule/Destroy()
template = null // without this, capsules would be one use. per round.
. = ..()
/obj/item/device/survivalcapsule/examine(mob/user)
. = ..()
get_template()
to_chat(user, "This capsule has the [template.name] stored.")
to_chat(user, template.description)
/obj/item/device/survivalcapsule/attack_self()
//Can't grab when capsule is New() because templates aren't loaded then
get_template()
if(!used)
loc.visible_message("<span class='warning'>\The [src] begins to shake. Stand back!</span>")
used = TRUE
sleep(5 SECONDS)
var/turf/deploy_location = get_turf(src)
var/status = template.check_deploy(deploy_location)
var/turf/above_location = GetAbove(deploy_location)
switch(status)
//Not allowed due to /area technical reasons
if(SHELTER_DEPLOY_BAD_AREA)
src.loc.visible_message("<span class='warning'>\The [src] will not function in this area.</span>")
//Anchored objects or no space
if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS)
var/width = template.width
var/height = template.height
src.loc.visible_message("<span class='warning'>\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!</span>")
if(status != SHELTER_DEPLOY_ALLOWED)
used = FALSE
return
if(unique_id)
if(unique_id in GLOB.unique_deployable)
loc.visible_message("<span class='warning'>There can only be one [src] deployed at a time.</span>")
used = FALSE
return
GLOB.unique_deployable += unique_id
var/turf/T = deploy_location
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
smoke.attach(T)
smoke.set_up(10, 0, T)
smoke.start()
sleep(4 SECONDS)
playsound(get_turf(src), 'sound/effects/phasein.ogg', 100, 1)
log_and_message_admins("[key_name_admin(usr)] activated a bluespace capsule at [get_area(T)]!")
if(above_location)
template.add_roof(above_location)
template.annihilate_plants(deploy_location)
template.load(deploy_location, centered = TRUE)
template.update_lighting(deploy_location)
qdel(src)
/obj/item/device/survivalcapsule/luxury
name = "luxury surfluid shelter capsule"
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. There's a license for use printed on the bottom."
template_id = "shelter_beta"
/obj/item/device/survivalcapsule/luxurybar
name = "luxury surfluid bar capsule"
desc = "A luxury bar in a capsule. Bartender required and not included. There's a license for use printed on the bottom."
template_id = "shelter_gamma"
/obj/item/device/survivalcapsule/military
name = "military surfluid shelter capsule"
desc = "A prefabricated firebase in a capsule. Contains basic weapons, building materials, and combat suits. There's a license for use printed on the bottom."
template_id = "shelter_delta"
/obj/item/device/survivalcapsule/escapepod
name = "escape surfluid shelter capsule"
desc = "A prefabricated escape pod in a capsule. Contains a basic escape pod for survival purposes. There's a license for use printed on the bottom."
template_id = "shelter_epsilon"
unique_id = "shelter_5"
/obj/item/device/survivalcapsule/dropship
name = "dropship surfluid shelter capsule"
desc = "A military dropship in a capsule. Contains everything an assault squad would need, minus the squad itself. This capsule is significantly larger than most. There's a license for use printed on the bottom."
template_id = "shelter_zeta"
unique_id = "shelter_6"
w_class = ITEMSIZE_SMALL
//Custom Shelter Capsules
/obj/item/device/survivalcapsule/tabiranth
name = "silver-trimmed surfluid shelter capsule"
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. This one is a particularly rare and expensive model. There's a license for use printed on the bottom."
template_id = "shelter_phi"
unique_id = "shelter_a"
//Pod objects
//Walls
/turf/simulated/shuttle/wall/voidcraft/survival
name = "survival shelter"
stripe_color = "#efbc3b"
/turf/simulated/shuttle/wall/voidcraft/survival/hard_corner
hard_corner = 1
//Doors
/obj/machinery/door/airlock/voidcraft/survival_pod
name = "survival airlock"
block_air_zones = 1
//Door access setter button
/obj/machinery/button/remote/airlock/survival_pod
name = "shelter privacy control"
desc = "You can secure yourself inside the shelter here."
specialfunctions = 4 // 4 is bolts
id = "placeholder_id_do_not_use" //This has to be this way, otherwise it will control ALL doors if left blank.
var/obj/machinery/door/airlock/voidcraft/survival_pod/door
/obj/machinery/button/remote/airlock/survival_pod/attack_hand(obj/item/weapon/W, mob/user as mob)
if(..()) return 1 //1 is failure on machines (for whatever reason)
if(!door)
var/turf/dT = get_step(src,dir)
door = locate() in dT
if(door)
door.glass = !door.glass
door.opacity = !door.opacity
//Windows
/obj/structure/window/reinforced/survival_pod
name = "pod window"
icon = 'icons/obj/survival_pod.dmi'
icon_state = "pwindow"
basestate = "pwindow"
//The windows have diagonal versions, and will never be a full window
/obj/structure/window/reinforced/survival_pod/is_fulltile()
return FALSE
/obj/structure/window/reinforced/survival_pod/update_icon()
icon_state = basestate
//Windoor
/obj/machinery/door/window/survival_pod
icon = 'icons/obj/survival_pod.dmi'
icon_state = "windoor"
base_state = "windoor"
//Table
/obj/structure/table/survival_pod
name = "table"
icon = 'icons/obj/survival_pod.dmi'
icon_state = "table"
can_reinforce = FALSE
can_plate = FALSE
/obj/structure/table/survival_pod/update_icon()
icon_state = "table"
/obj/structure/table/survival_pod/New()
material = get_material_by_name(DEFAULT_WALL_MATERIAL)
verbs -= /obj/structure/table/verb/do_flip
verbs -= /obj/structure/table/proc/do_put
..()
/obj/structure/table/survival_pod/dismantle(obj/item/weapon/wrench/W, mob/user)
to_chat(user, "<span class='warning'>You cannot dismantle \the [src].</span>")
return
//Sleeper
/obj/machinery/sleeper/survival_pod
desc = "A limited functionality sleeper, all it can do is put patients into stasis. It lacks the medication and configuration of the larger units."
icon = 'icons/obj/survival_pod.dmi'
icon_state = "sleeper"
stasis_level = 100 //Just one setting
/obj/machinery/sleeper/survival_pod/update_icon()
if(occupant)
add_overlay("sleeper_cover")
else
cut_overlays()
//Computer
/obj/item/device/gps/computer
name = "pod computer"
icon_state = "pod_computer"
icon = 'icons/obj/survival_pod_comp.dmi'
anchored = TRUE
density = TRUE
pixel_y = -32
/obj/item/device/gps/computer/attackby(obj/item/I, mob/living/user)
if(I.is_wrench())
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
if(do_after(user,4 SECONDS,src))
new /obj/item/device/gps(loc)
qdel(src)
return TRUE
return FALSE
/obj/item/device/gps/computer/attack_hand(mob/user)
attack_self(user)
//Bed
/obj/structure/bed/pod
icon = 'icons/obj/survival_pod.dmi'
icon_state = "bed"
/obj/structure/bed/pod/New(var/newloc)
..(newloc,DEFAULT_WALL_MATERIAL,"cotton")
//Survival Storage Unit
/obj/machinery/smartfridge/survival_pod
name = "survival pod storage"
desc = "A heated storage unit."
icon_state = "donkvendor"
icon_base = "donkvendor"
icon_contents = null
icon = 'icons/obj/survival_pod_vend.dmi'
light_range = 5
light_power = 1.2
light_color = "#DDFFD3"
pixel_y = -4
max_n_of_items = 100
/obj/machinery/smartfridge/survival_pod/Initialize()
. = ..()
for(var/obj/item/O in loc)
if(accept_check(O))
stock(O)
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
return isitem(O)
/obj/machinery/smartfridge/survival_pod/empty
name = "dusty survival pod storage"
desc = "A heated storage unit. This one's seen better days."
//Fans
/obj/structure/fans
icon = 'icons/obj/survival_pod.dmi'
icon_state = "fans"
name = "environmental regulation system"
desc = "A large machine releasing a constant gust of air."
anchored = TRUE
density = TRUE
can_atmos_pass = ATMOS_PASS_NO
var/buildstacktype = /obj/item/stack/material/steel
var/buildstackamount = 5
/obj/structure/fans/proc/deconstruct()
new buildstacktype(loc,buildstackamount)
qdel(src)
/obj/structure/fans/attackby(obj/item/I, mob/living/user)
if(I.is_wrench())
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
if(do_after(user,4 SECONDS,src))
deconstruct()
return TRUE
return TRUE
/obj/structure/fans/tiny
name = "tiny fan"
desc = "A tiny fan, releasing a thin gust of air."
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
density = FALSE
icon_state = "fan_tiny"
buildstackamount = 2
/obj/structure/fans/hardlight
name = "hardlight shield"
desc = "Retains air, allows passage."
@@ -10,4 +314,26 @@
light_range = 3
light_power = 1
light_color = "#FFFFFF"
light_color = "#FFFFFF"
//Signs
/obj/structure/sign/mining
name = "nanotrasen mining corps sign"
desc = "A sign of relief for weary miners, and a warning for would-be competitors to Nanotrasen's mining claims."
icon = 'icons/obj/survival_pod.dmi'
icon_state = "ntpod"
/obj/structure/sign/mining/survival
name = "shelter sign"
desc = "A high visibility sign designating a safe shelter."
icon = 'icons/obj/survival_pod.dmi'
icon_state = "survival"
//Fluff
/obj/structure/tubes
icon_state = "tubes"
icon = 'icons/obj/survival_pod.dmi'
name = "tubes"
anchored = TRUE
layer = BELOW_MOB_LAYER
density = FALSE

View File

@@ -93,6 +93,16 @@
for escaping a dying ship as soon as possible."
mappath = "maps/tether/submaps/om_ships/shelter_5.dmm"
/datum/map_template/shelter/zeta
name = "Shelter Zeta"
shelter_id = "shelter_zeta"
description = "An small dropship with a massive number of equipment, \
weapons, and supplies. Contains exterior weapons, point defense, \
a shield generator, and extremely advanced technology. It is \
unknown who manufactued a vessel like this, as it is beyond the \
technology level of most contemporary powers."
mappath = "maps/tether/submaps/om_ships/shelter_6.dmm"
/datum/map_template/shelter/phi
name = "Shelter Phi"
shelter_id = "shelter_phi"

View File

@@ -496,8 +496,9 @@
#include "om_ships/mercship.dm"
//////////////////////////////////////////////////////////////////////////////
//Shelter Capsules
//Capsule deployed ships
#include "om_ships/shelter_5.dm"
#include "om_ships/shelter_6.dm"
//////////////////////////////////////////////////////////////////////////////
//Offmap Spawn Locations

View File

@@ -8,128 +8,128 @@
requires_power = 1
flags = RAD_SHIELDED
base_turf = /turf/space
icon_state = "blue-red2"
icon_state = "blue2"
/area/mothership/breakroom
name = "Warship - Breakroom"
name = "Daedalus - Breakroom"
/area/mothership/hydroponics
name = "Warship - Hydroponics"
name = "Daedalus - Hydroponics"
/area/mothership/kitchen
name = "Warship - Kitchen"
name = "Daedalus - Kitchen"
/area/mothership/eva
name = "Warship - EVA"
name = "Daedalus - EVA"
/area/mothership/bathroom1
name = "Warship - Bathroom 1"
name = "Daedalus - Bathroom 1"
/area/mothership/bathroom2
name = "Warship - Bathroom 2"
name = "Daedalus - Bathroom 2"
/area/mothership/dorm1
name = "Warship - Dorm 1"
name = "Daedalus - Dorm 1"
/area/mothership/dorm2
name = "Warship - Dorm 2"
name = "Daedalus - Dorm 2"
/area/mothership/dorm3
name = "Warship - Dorm 3"
name = "Daedalus - Dorm 3"
/area/mothership/dorm4
name = "Warship - Dorm 4"
name = "Daedalus - Dorm 4"
/area/mothership/dorm5
name = "Warship - Dorm 5"
name = "Daedalus - Dorm 5"
/area/mothership/dorm6
name = "Warship - Dorm 6"
name = "Daedalus - Dorm 6"
/area/mothership/chemistry
name = "Warship - Chemistry"
name = "Daedalus - Chemistry"
/area/mothership/surgery
name = "Warship - Surgery"
name = "Daedalus - Surgery"
/area/mothership/vault
name = "Warship - Vault"
name = "Daedalus - Vault"
flags = RAD_SHIELDED | BLUE_SHIELDED
/area/mothership/teleporter
name = "Warship - Teleporter Room"
name = "Daedalus - Teleporter Room"
/area/mothership/security
name = "Warship - Security Equipment"
name = "Daedalus - Security Equipment"
/area/mothership/treatment
name = "Warship - Treatment Center"
name = "Daedalus - Treatment Center"
/area/mothership/medical
name = "Warship - Medical Equipment"
name = "Daedalus - Medical Equipment"
/area/mothership/resleeving
name = "Warship - Resleeving"
name = "Daedalus - Resleeving"
/area/mothership/morgue
name = "Warship - Morgue"
name = "Daedalus - Morgue"
/area/mothership/rnd
name = "Warship - Research"
name = "Daedalus - Research"
/area/mothership/robotics
name = "Warship - Robotics"
name = "Daedalus - Robotics"
/area/mothership/sechallway
name = "Warship - Security Hallway"
name = "Daedalus - Security Hallway"
/area/mothership/processing
name = "Warship - Processing"
name = "Daedalus - Processing"
/area/mothership/warden
name = "Warship - Warden"
name = "Daedalus - Warden"
/area/mothership/armory
name = "Warship - Armory"
name = "Daedalus - Armory"
flags = RAD_SHIELDED | BLUE_SHIELDED
/area/mothership/bridge
name = "Warship - Bridge"
name = "Daedalus - Bridge"
/area/mothership/holodeck
name = "Warship - Holodeck Controls"
name = "Daedalus - Holodeck Controls"
/area/mothership/holodeck/holo
name = "Warship - Holodeck"
name = "Daedalus - Holodeck"
icon_state = "dk_yellow"
/area/mothership/cryotube
name = "Warship - Cryo chamber"
name = "Daedalus - Cryo chamber"
/area/mothership/engineering
name = "Warship - Engineering"
name = "Daedalus - Engineering"
/area/mothership/hallway
name = "Warship - Main Hallway"
name = "Daedalus - Main Hallway"
/area/mothership/telecomms1
name = "Warship - Hangar 1"
name = "Daedalus - Hangar 1"
has_gravity = 0
/area/mothership/telecomms2
name = "Warship - Hangar 2"
name = "Daedalus - Hangar 2"
has_gravity = 0
/datum/map_template/om_ships/cruiser
name = "OM Ship - NDV Tabiranth (New Z)"
name = "OM Ship - Daedalus (New Z)"
desc = "A large NT cruiser."
mappath = 'cruiser.dmm'
/obj/effect/overmap/visitable/ship/cruiser
name = "spacecraft"
desc = "Spacefaring vessel. NanoTrasen IFF detected."
scanner_name = "NDV Tabiranth"
scanner_desc = @{"[i]Registration[/i]: NDV Tabiranth
[i]Class[/i]: Cruiser
scanner_name = "NDV Daedalus"
scanner_desc = @{"[i]Registration[/i]: NDV Daedalus
[i]Class[/i]: Light Cruiser
[i]Transponder[/i]: Transmitting (MIL), NanoTrasen IFF
[b]Notice[/b]: Military vessel, do not approach"}
color = "#0033ff" //Bluey

File diff suppressed because it is too large Load Diff

View File

@@ -40,9 +40,11 @@
// The 'ship'
/obj/effect/overmap/visitable/ship/landable/escapepod
name = "Escape Pod"
desc = "An Escape Pod for escaping exploding ships."
color = "#00aaff" //Bluey
vessel_mass = 1000
vessel_size = SHIP_SIZE_SMALL
shuttle = "Escape Pod"
scanner_name = "Escape Pod"
scanner_desc = @{"[i]Registration[/i]: NOT AVAILABLE
[i]Class[/i]: Escape Pod
[i]Transponder[/i]: Transmitting (CIV), non-hostile
[b]Notice[/b]: Emergency Transponder Active"}
vessel_mass = 500
vessel_size = SHIP_SIZE_TINY
shuttle = "Escape Pod"

View File

@@ -0,0 +1,53 @@
// Compile in the map for CI testing if we're testing compileability of all the maps
#if MAP_TEST
#include "shelter_6.dmm"
#endif
// Map template for spawning the shuttle
/datum/map_template/om_ships/tabiranth
name = "OM Ship - Tabiranth"
desc = "A prototype deployable assault shuttle."
mappath = 'shelter_6.dmm'
annihilate = TRUE
// The shuttle's area(s)
/area/shuttle/tabiranth
name = "\improper Tabiranth"
icon_state = "blue-red2"
flags = RAD_SHIELDED | BLUE_SHIELDED
requires_power = 1
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/tabiranth
name = "short jump console"
shuttle_tag = "XN-29 Prototype Shuttle"
req_one_access = list(access_cent_general)
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/tabiranth
name = "Origin - Tabiranth"
base_area = /area/space
base_turf = /turf/space
landmark_tag = "omship_spawn_tabiranth"
shuttle_type = /datum/shuttle/autodock/overmap/tabiranth
// The 'shuttle'
/datum/shuttle/autodock/overmap/tabiranth
name = "NDV Tabiranth"
current_location = "omship_spawn_tabiranth"
docking_controller_tag = "tabiranth_docker"
shuttle_area = /area/shuttle/tabiranth
fuel_consumption = 0
defer_initialisation = TRUE //We're not loaded until an admin does it
// The 'ship'
/obj/effect/overmap/visitable/ship/landable/tabiranth
scanner_name = "Experimental Dropship"
scanner_desc = @{"[i]Registration[/i]: UNKNOWN
[i]Class[/i]: Assault Dropship
[i]Transponder[/i]: Transmitting (MIL), NanoTrasen
[b]Notice[/b]: Experimental vessel"}
color = "#00ffcc" //Bluegreen
vessel_mass = 4500
vessel_size = SHIP_SIZE_SMALL
shuttle = "NDV Tabiranth"

File diff suppressed because it is too large Load Diff

View File

@@ -2252,9 +2252,8 @@
#include "code\modules\mining\ore_box.dm"
#include "code\modules\mining\ore_datum.dm"
#include "code\modules\mining\resonator_vr.dm"
#include "code\modules\mining\shelter_atoms.dm"
#include "code\modules\mining\shelter_atoms_vr.dm"
#include "code\modules\mining\shelters.dm"
#include "code\modules\mining\shelters_vr.dm"
#include "code\modules\mining\drilling\drill.dm"
#include "code\modules\mining\drilling\scanner.dm"
#include "code\modules\mining\ore_redemption_machine\construction.dm"