Merge remote-tracking branch 'upstream/release'

This commit is contained in:
Hawk_v3
2019-09-14 17:10:36 +01:00
124 changed files with 23695 additions and 16233 deletions

View File

@@ -38,7 +38,7 @@
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/weapon/pickaxe/silver, 1200),
// new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffelbag/mining_conscript, 1000),
new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c100, 1000),
new /datum/data/mining_equipment("Hardsuit - Control Module", /obj/item/weapon/rig/industrial, 2000),
new /datum/data/mining_equipment("Hardsuit - Control Module", /obj/item/weapon/rig/industrial/vendor, 2000),
new /datum/data/mining_equipment("Hardsuit - Plasma Cutter", /obj/item/rig_module/device/plasmacutter, 800),
new /datum/data/mining_equipment("Hardsuit - Drill", /obj/item/rig_module/device/drill, 5000),
new /datum/data/mining_equipment("Hardsuit - Ore Scanner", /obj/item/rig_module/device/orescanner, 1000),

View File

@@ -15,14 +15,12 @@
w_class = ITEMSIZE_TINY
var/template_id = "shelter_alpha"
var/datum/map_template/shelter/template
var/datum/map_template/shelter/template_roof
var/used = FALSE
/obj/item/device/survivalcapsule/proc/get_template()
if(template)
return
template = SSmapping.shelter_templates[template_id]
template_roof = SSmapping.shelter_templates[template.roof]
if(!template)
throw EXCEPTION("Shelter template ([template_id]) not found!")
qdel(src)
@@ -49,8 +47,6 @@
var/turf/deploy_location = get_turf(src)
var/status = template.check_deploy(deploy_location)
var/turf/above_location = GetAbove(deploy_location)
if(above_location && status == SHELTER_DEPLOY_ALLOWED)
status = template.check_deploy(above_location)
switch(status)
//Not allowed due to /area technical reasons
@@ -77,8 +73,9 @@
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_roof)
template_roof.load(above_location, centered = TRUE)
if(above_location)
template.add_roof(above_location)
template.annihilate_plants(deploy_location)
template.load(deploy_location, centered = TRUE)
qdel(src)
@@ -87,10 +84,21 @@
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"
//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_gamma"
template_id = "shelter_phi"
//Pod objects
//Walls
@@ -98,6 +106,9 @@
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"

View File

@@ -5,12 +5,11 @@
var/whitelisted_turfs
var/banned_areas
var/banned_objects
var/roof
/datum/map_template/shelter/New()
. = ..()
blacklisted_turfs = typecacheof(/turf/unsimulated)
whitelisted_turfs = list()
blacklisted_turfs = typecacheof(list(/turf/unsimulated, /turf/simulated/wall, /turf/simulated/floor/tiled, /turf/simulated/mineral))
whitelisted_turfs = typecacheof(/turf/simulated/mineral/floor)
banned_areas = typecacheof(/area/shuttle)
banned_objects = list()
@@ -23,14 +22,30 @@
var/banned = is_type_in_typecache(T, blacklisted_turfs)
var/permitted = is_type_in_typecache(T, whitelisted_turfs)
if(banned && !permitted)
return SHELTER_DEPLOY_BAD_TURFS
if(banned)
if(!permitted)
return SHELTER_DEPLOY_BAD_TURFS
for(var/obj/O in T)
if((O.density && O.anchored) || is_type_in_typecache(O, banned_objects))
return SHELTER_DEPLOY_ANCHORED_OBJECTS
return SHELTER_DEPLOY_ALLOWED
/datum/map_template/shelter/proc/add_roof(turf/deploy_location)
var/affected = get_affected_turfs(deploy_location, centered=TRUE)
for(var/turf/T in affected)
if(isopenspace(T))
T.ChangeTurf(/turf/simulated/shuttle/floor/voidcraft)
/datum/map_template/shelter/proc/annihilate_plants(turf/deploy_location)
var/deleted_atoms = 0
var/affected = get_affected_turfs(deploy_location, centered=TRUE)
for(var/turf/T in affected)
for(var/obj/structure/flora/AM in T)
++deleted_atoms
qdel(AM)
admin_notice("<span class='danger'>Annihilated [deleted_atoms] plants.</span>", R_DEBUG)
/datum/map_template/shelter/alpha
name = "Shelter Alpha"
shelter_id = "shelter_alpha"
@@ -39,16 +54,6 @@
sleeping area! Order now, and we'll throw in a TINY FAN, \
absolutely free!"
mappath = "maps/submaps/shelters/shelter_1.dmm"
roof = "roof_alpha"
/datum/map_template/shelter/alpha_roof
shelter_id = "roof_alpha"
mappath = "maps/submaps/shelters/shelter_1_roof.dmm"
/datum/map_template/shelter/alpha/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/simulated/mineral)
banned_objects = list()
/datum/map_template/shelter/beta
name = "Shelter Beta"
@@ -59,29 +64,33 @@
and a deluxe companion to keep you from getting lonely during \
an ash storm."
mappath = "maps/submaps/shelters/shelter_2.dmm"
roof = "roof_beta"
/datum/map_template/shelter/beta_roof
shelter_id = "roof_beta"
mappath = "maps/submaps/shelters/shelter_2_roof.dmm"
/datum/map_template/shelter/beta/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/simulated/mineral)
banned_objects = list()
/datum/map_template/shelter/gamma
name = "Shelter Gamma"
shelter_id = "shelter_gamma"
description = "A luxury elite bar which holds an entire bar \
along with two vending machines, tables, and a restroom that \
also has a sink. This isn't a survival capsule and so you can \
expect that this won't save you if you're bleeding out to \
death."
mappath = "maps/submaps/shelters/shelter_3.dmm"
/datum/map_template/shelter/delta
name = "Shelter Delta"
shelter_id = "shelter_delta"
description = "A small firebase that contains equipment and supplies \
for roughly a squad of military troops. Large quantities of \
supplies allow it to hold out for an extended period of time\
and a built in medical facility allows field treatment to be \
possible."
mappath = "maps/submaps/shelters/shelter_4.dmm"
/datum/map_template/shelter/phi
name = "Shelter Phi"
shelter_id = "shelter_phi"
description = "An heavily modified variant of the luxury shelter, \
this particular model has extra food, drinks, and other supplies. \
Originally designed for use by colonists on worlds with little to \
to no contact, the expense of these shelters have prevented them \
from seeing common use."
mappath = "maps/submaps/shelters/shelter_3.dmm"
roof = "roof_beta"
/datum/map_template/shelter/gamma/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/simulated/mineral)
banned_objects = list()
mappath = "maps/submaps/shelters/shelter_a.dmm"