mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge remote-tracking branch 'upstream/release'
This commit is contained in:
@@ -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),
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user