diff --git a/_maps/map_files/templates/shelter_1.dmm b/_maps/map_files/templates/shelter_1.dmm
index b260f0558a4..76276379e5b 100644
--- a/_maps/map_files/templates/shelter_1.dmm
+++ b/_maps/map_files/templates/shelter_1.dmm
@@ -1,18 +1,18 @@
-"a" = (/turf/simulated/wall/survival,/area/survivalpod)
-"b" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/simulated/wall/survival,/area/survivalpod)
+"a" = (/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
+"b" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"c" = (/obj/structure/fans,/turf/simulated/floor/pod,/area/survivalpod)
"d" = (/obj/machinery/smartfridge/survival_pod/loaded,/turf/simulated/floor/pod,/area/survivalpod)
"e" = (/obj/item/device/gps/computer,/turf/simulated/floor/pod,/area/survivalpod)
-"f" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/wall/survival,/area/survivalpod)
+"f" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"g" = (/obj/machinery/sleeper/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
"h" = (/turf/simulated/floor/pod,/area/survivalpod)
"i" = (/obj/structure/stool/bed/pod,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/pod,/area/survivalpod)
-"j" = (/obj/structure/sign/mining/survival{tag = "icon-survival (EAST)"; icon_state = "survival"; dir = 4},/turf/simulated/wall/survival,/area/survivalpod)
+"j" = (/obj/structure/sign/mining/survival{tag = "icon-survival (EAST)"; icon_state = "survival"; dir = 4},/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"k" = (/obj/structure/table/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
"l" = (/obj/structure/tubes,/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/pod,/area/survivalpod)
-"m" = (/obj/structure/sign/mining/survival,/turf/simulated/wall/survival,/area/survivalpod)
+"m" = (/obj/structure/sign/mining/survival,/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"n" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/survival_pod/glass,/turf/simulated/floor/pod,/area/survivalpod)
-"o" = (/obj/structure/sign/mining,/turf/simulated/wall/survival,/area/survivalpod)
+"o" = (/obj/structure/sign/mining,/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
(1,1,1) = {"
aabaa
diff --git a/_maps/map_files/templates/shelter_2.dmm b/_maps/map_files/templates/shelter_2.dmm
index b61f4f62a44..99fba63fcc4 100644
--- a/_maps/map_files/templates/shelter_2.dmm
+++ b/_maps/map_files/templates/shelter_2.dmm
@@ -1,16 +1,16 @@
-"a" = (/turf/simulated/wall/survival,/area/survivalpod)
-"b" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/wall/survival,/area/survivalpod)
+"a" = (/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
+"b" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"c" = (/obj/machinery/smartfridge/survival_pod/loaded,/turf/simulated/floor/pod,/area/survivalpod)
"d" = (/turf/simulated/floor/pod,/area/survivalpod)
"e" = (/obj/machinery/door/window/survival_pod{dir = 1},/turf/simulated/floor/carpet/black,/area/survivalpod)
"f" = (/obj/machinery/light,/turf/simulated/floor/carpet/black,/area/survivalpod)
-"g" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/simulated/wall/survival,/area/survivalpod)
+"g" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"h" = (/obj/structure/fans,/turf/simulated/floor/pod,/area/survivalpod)
"i" = (/obj/machinery/sleeper/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
"j" = (/obj/structure/table/survival_pod,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/brute{pixel_x = 4; pixel_y = -2},/turf/simulated/floor/pod,/area/survivalpod)
"k" = (/obj/structure/table/wood/fancy/black{pixel_y = -9},/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/machinery/microwave,/turf/simulated/floor/carpet/black,/area/survivalpod)
"l" = (/obj/structure/sink/kitchen{dir = 4; pixel_x = -11},/turf/simulated/floor/carpet/black,/area/survivalpod)
-"m" = (/obj/structure/sign/mining/survival,/turf/simulated/wall/survival,/area/survivalpod)
+"m" = (/obj/structure/sign/mining/survival,/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"n" = (/obj/structure/curtain/black,/obj/machinery/shower{pixel_y = 20},/turf/simulated/floor/pod{pixel_y = 0},/area/survivalpod)
"o" = (/obj/structure/window/reinforced/survival_pod{dir = 8},/obj/machinery/door/window/survival_pod{dir = 1},/turf/simulated/floor/carpet/black,/area/survivalpod)
"p" = (/obj/structure/window/reinforced/survival_pod{dir = 8},/turf/simulated/floor/carpet/black,/area/survivalpod)
@@ -21,13 +21,13 @@
"u" = (/obj/structure/tubes,/obj/item/weapon/twohanded/required/kirbyplants,/turf/simulated/floor/pod,/area/survivalpod)
"v" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/structure/displaycase{desc = "A display case containing an expensive forgery, probably."; locked = 1; pixel_y = -4; req_access_txt = "48"; start_showpiece_type = /obj/item/fakeartefact},/turf/simulated/floor/carpet/black{dir = 1},/area/survivalpod)
"w" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/survival_pod/glass,/turf/simulated/floor/pod,/area/survivalpod)
-"x" = (/obj/structure/sign/mining/survival{tag = "icon-survival (EAST)"; icon_state = "survival"; dir = 4},/turf/simulated/wall/survival,/area/survivalpod)
+"x" = (/obj/structure/sign/mining/survival{tag = "icon-survival (EAST)"; icon_state = "survival"; dir = 4},/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
"y" = (/obj/structure/toilet/secret{pixel_y = 12},/turf/simulated/floor/pod,/area/survivalpod)
"z" = (/obj/structure/window/reinforced/survival_pod{dir = 1},/obj/item/cardboard_cutout{desc = "A cardboard cutout of a xenomorph maid."; icon_state = "cutout_lusty"; name = "lusty xenomorph maid"}, /turf/simulated/floor/carpet/black,/area/survivalpod)
"A" = (/obj/structure/table/wood/fancy/black,/obj/machinery/light{dir = 4},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor/carpet/black,/area/survivalpod)
"B" = (/obj/structure/table/wood/fancy/black,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = -4; pixel_y = 1},/obj/effect/spawner/lootdrop/three_course_meal,/turf/simulated/floor/carpet/black,/area/survivalpod)
"C" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/carpet/black,/area/survivalpod)
-"D" = (/obj/structure/sign/mining,/turf/simulated/wall/survival,/area/survivalpod)
+"D" = (/obj/structure/sign/mining,/turf/simulated/wall/mineral/titanium/survival,/area/survivalpod)
(1,1,1) = {"
agagaga
diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm
index eda6c6d2699..fc7fc98e25f 100644
--- a/code/__DEFINES/construction.dm
+++ b/code/__DEFINES/construction.dm
@@ -26,3 +26,22 @@
//plastic flaps construction states
#define PLASTIC_FLAPS_NORMAL 0
#define PLASTIC_FLAPS_DETACHED 1
+
+//Material defines, for determining how much of a given material an item contains
+#define MAT_METAL "$metal"
+#define MAT_GLASS "$glass"
+#define MAT_SILVER "$silver"
+#define MAT_GOLD "$gold"
+#define MAT_DIAMOND "$diamond"
+#define MAT_URANIUM "$uranium"
+#define MAT_PLASMA "$plasma"
+#define MAT_BANANIUM "$bananium"
+#define MAT_TRANQUILLITE "$tranquillite"
+#define MAT_TITANIUM "$titanium"
+#define MAT_BIOMASS "$biomass"
+//The amount of materials you get from a sheet of mineral like iron/diamond/glass etc
+#define MINERAL_MATERIAL_AMOUNT 2000
+//The maximum size of a stack object.
+#define MAX_STACK_SIZE 50
+//maximum amount of cable in a coil
+#define MAXCOIL 30
diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm
index b46427979fb..146d3bf27f0 100644
--- a/code/__DEFINES/machines.dm
+++ b/code/__DEFINES/machines.dm
@@ -15,8 +15,6 @@
#define FILE_DRM 16 // Some files want to not be copied/moved. This is them complaining that you tried.
#define NETWORK_FAILURE 32
-#define MINERAL_MATERIAL_AMOUNT 2000 //The amount of materials you get from a sheet of mineral like iron/diamond/glass etc
-
#define IMPRINTER 1 //For circuits. Uses glass/chemicals.
#define PROTOLATHE 2 //New stuff. Uses glass/metal/chemicals
#define AUTOLATHE 4 //Uses glass/metal only.
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 867421d428c..f6cb33eb527 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -162,20 +162,6 @@
#define MIN_SUPPLIED_LAW_NUMBER 15
#define MAX_SUPPLIED_LAW_NUMBER 50
-//Material defines
-#define MAT_METAL "$metal"
-#define MAT_GLASS "$glass"
-#define MAT_SILVER "$silver"
-#define MAT_GOLD "$gold"
-#define MAT_DIAMOND "$diamond"
-#define MAT_URANIUM "$uranium"
-#define MAT_PLASMA "$plasma"
-#define MAT_BANANIUM "$bananium"
-#define MAT_TRANQUILLITE "$tranquillite"
-#define MAT_BIOMASS "$biomass"
-
-#define MAX_STACK_SIZE 50
-
//check_target_facings() return defines
#define FACING_FAILED 0
#define FACING_SAME_DIR 1
diff --git a/code/datums/cargoprofile.dm b/code/datums/cargoprofile.dm
index 4636495489f..310593d0d6b 100644
--- a/code/datums/cargoprofile.dm
+++ b/code/datums/cargoprofile.dm
@@ -1,4 +1,3 @@
-#define MAXCOIL 30
/datum/cargoprofile
var/name = "All Items"
var/id = "all" // unique ID for the UI
@@ -787,4 +786,3 @@
var/punches = punch(M,remaining / PUNCH_WORK)
if(punches>1)master.sleep++
return punches * PUNCH_WORK
-#undef MAXCOIL
diff --git a/code/datums/material_container.dm b/code/datums/material_container.dm
index 2ae6da75863..8e31e8ae033 100644
--- a/code/datums/material_container.dm
+++ b/code/datums/material_container.dm
@@ -40,6 +40,8 @@
materials[MAT_BANANIUM] = new /datum/material/bananium()
if(mat_list[MAT_TRANQUILLITE])
materials[MAT_TRANQUILLITE] = new /datum/material/tranquillite()
+ if(mat_list[MAT_TITANIUM])
+ materials[MAT_TITANIUM] = new /datum/material/titanium()
/datum/material_container/Destroy()
QDEL_LIST_ASSOC_VAL(materials)
@@ -276,6 +278,13 @@
material_type = MAT_TRANQUILLITE
sheet_type = /obj/item/stack/sheet/mineral/tranquillite
+/datum/material/titanium
+
+/datum/material/titanium/New()
+ ..()
+ material_type = MAT_TITANIUM
+ sheet_type = /obj/item/stack/sheet/mineral/titanium
+
/datum/material/biomass
/datum/material/biomass/New()
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 01d4e0ed3a7..ea796011e96 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -264,7 +264,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
if(!location)
return 0
- if(istype(location, /turf/simulated/shuttle/floor4)) // Fails traitors if they are in the shuttle brig -- Polymorph
+ if(istype(location, /turf/simulated/shuttle/floor4) || istype(location, /turf/simulated/floor/mineral/plastitanium/brig)) // Fails traitors if they are in the shuttle brig -- Polymorph
return 0
if(location.onCentcom() || location.onSyndieBase())
diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm
index 6c1ebccca14..ed7e7955abf 100644
--- a/code/game/machinery/doors/airlock_types.dm
+++ b/code/game/machinery/doors/airlock_types.dm
@@ -234,6 +234,16 @@
opacity = 0
glass = TRUE
+/obj/machinery/door/airlock/titanium
+ name = "shuttle airlock"
+ assemblytype = /obj/structure/door_assembly/door_assembly_titanium
+ icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi'
+ overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi'
+
+/obj/machinery/door/airlock/titanium/glass
+ opacity = 0
+ glass = TRUE
+
//////////////////////////////////
/*
Station2 Airlocks
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 9cf58846feb..43fda1c6e00 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -24,7 +24,7 @@ var/const/SAFETY_COOLDOWN = 100
component_parts += new /obj/item/weapon/circuitboard/recycler(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
- materials = new /datum/material_container(src, list(MAT_METAL=1, MAT_GLASS=1, MAT_SILVER=1, MAT_GOLD=1, MAT_DIAMOND=1, MAT_PLASMA=1, MAT_URANIUM=1, MAT_BANANIUM=1, MAT_TRANQUILLITE=1))
+ materials = new /datum/material_container(src, list(MAT_METAL=1, MAT_GLASS=1, MAT_SILVER=1, MAT_GOLD=1, MAT_DIAMOND=1, MAT_PLASMA=1, MAT_URANIUM=1, MAT_BANANIUM=1, MAT_TRANQUILLITE=1, MAT_TITANIUM=1))
RefreshParts()
update_icon()
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 1cf769624e9..21f22866eb5 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -19,7 +19,8 @@
MAT_GOLD=0,
MAT_PLASMA=0,
MAT_SILVER=0,
- MAT_URANIUM=0
+ MAT_URANIUM=0,
+ MAT_TITANIUM=0
)
var/res_max_amount = 200000
var/datum/research/files
@@ -435,6 +436,8 @@
type = /obj/item/stack/sheet/mineral/bananium
if(MAT_TRANQUILLITE)
type = /obj/item/stack/sheet/mineral/tranquillite
+ if(MAT_TITANIUM)
+ type = /obj/item/stack/sheet/mineral/titanium
else
return 0
var/result = 0
@@ -492,6 +495,8 @@
material = MAT_TRANQUILLITE
if(/obj/item/stack/sheet/mineral/uranium)
material = MAT_URANIUM
+ if(/obj/item/stack/sheet/mineral/titanium)
+ material = MAT_TITANIUM
else
return ..()
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index bc46eb54239..3757faffba9 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -103,9 +103,8 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
)
/obj/item/stack/sheet/mineral
- force = 5.0
+ force = 5
throwforce = 5
- w_class = WEIGHT_CLASS_NORMAL
throw_speed = 3
/obj/item/stack/sheet/mineral/New()
@@ -226,6 +225,56 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
..()
recipes = tranquillite_recipes
+/*
+ * Titanium
+ */
+/obj/item/stack/sheet/mineral/titanium
+ name = "titanium"
+ icon_state = "sheet-titanium"
+ singular_name = "titanium sheet"
+ force = 5
+ throwforce = 5
+ w_class = WEIGHT_CLASS_NORMAL
+ throw_speed = 1
+ throw_range = 3
+ sheettype = "titanium"
+ materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT)
+
+var/global/list/datum/stack_recipe/titanium_recipes = list (
+ new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20),
+ )
+
+/obj/item/stack/sheet/mineral/titanium/New(loc, amount=null)
+ recipes = titanium_recipes
+ ..()
+
+/obj/item/stack/sheet/mineral/titanium/fifty
+ amount = 50
+
+
+/*
+ * Plastitanium
+ */
+/obj/item/stack/sheet/mineral/plastitanium
+ name = "plastitanium"
+ icon_state = "sheet-plastitanium"
+ singular_name = "plastitanium sheet"
+ force = 5
+ throwforce = 5
+ w_class = WEIGHT_CLASS_NORMAL
+ throw_speed = 1
+ throw_range = 3
+ sheettype = "plastitanium"
+ materials = list(MAT_TITANIUM=2000, MAT_PLASMA=2000)
+
+var/global/list/datum/stack_recipe/plastitanium_recipes = list (
+ new/datum/stack_recipe("plas-titanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20),
+ )
+
+/obj/item/stack/sheet/mineral/plastitanium/New(loc, amount=null)
+ recipes = plastitanium_recipes
+ ..()
+
/obj/item/stack/sheet/mineral/enruranium
name = "enriched uranium"
icon_state = "sheet-enruranium"
diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm
index 8e830f27407..86590026f53 100644
--- a/code/game/objects/items/stacks/tiles/tile_mineral.dm
+++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm
@@ -111,4 +111,22 @@ var/global/list/datum/stack_recipe/silverfancy_tile_recipes = list ( \
icon_state = "tile_abductor"
origin_tech = "materials=6;abductor=1"
turf_type = /turf/simulated/floor/mineral/abductor
- mineralType = "abductor"
\ No newline at end of file
+ mineralType = "abductor"
+
+/obj/item/stack/tile/mineral/titanium
+ name = "titanium tile"
+ singular_name = "titanium floor tile"
+ desc = "A tile made of titanium, used for shuttles."
+ icon_state = "tile_shuttle"
+ turf_type = /turf/simulated/floor/mineral/titanium
+ mineralType = "titanium"
+ materials = list(MAT_TITANIUM=500)
+
+/obj/item/stack/tile/mineral/plastitanium
+ name = "plas-titanium tile"
+ singular_name = "plas-titanium floor tile"
+ desc = "A tile made of plas-titanium, used for very evil shuttles."
+ icon_state = "tile_darkshuttle"
+ turf_type = /turf/simulated/floor/mineral/plastitanium
+ mineralType = "plastitanium"
+ materials = list(MAT_TITANIUM=250, MAT_PLASMA=250)
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
index 5b26b46eacd..b93ad13c98c 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -100,6 +100,14 @@
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max))
+ //Titanium (rare ore)
+ if(pickednum >= 40)
+ new /obj/item/stack/sheet/mineral/titanium(src, rand(rare_min, rare_max))
+
+ //Plastitanium (rare ore)
+ if(pickednum >= 40)
+ new /obj/item/stack/sheet/mineral/plastitanium(src, rand(rare_min, rare_max))
+
//Diamond (rare HONK)
if(pickednum >= 45)
new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max))
@@ -122,6 +130,8 @@
/obj/item/stack/sheet/mineral/uranium,
/obj/item/stack/sheet/mineral/diamond,
/obj/item/stack/sheet/mineral/bananium,
+ /obj/item/stack/sheet/mineral/titanium,
+ /obj/item/stack/sheet/mineral/plastitanium,
/obj/item/stack/sheet/plasteel,
/obj/item/stack/rods
)
diff --git a/code/game/objects/structures/door_assembly_types.dm b/code/game/objects/structures/door_assembly_types.dm
index d0aacb78d53..2475e9e1b4d 100644
--- a/code/game/objects/structures/door_assembly_types.dm
+++ b/code/game/objects/structures/door_assembly_types.dm
@@ -246,6 +246,15 @@
mineral = "sandstone"
glass_type = /obj/machinery/door/airlock/sandstone/glass
+/obj/structure/door_assembly/door_assembly_titanium
+ name = "titanium airlock assembly"
+ icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi'
+ base_name = "shuttle airlock"
+ overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi'
+ glass_type = /obj/machinery/door/airlock/titanium/glass
+ airlock_type = /obj/machinery/door/airlock/titanium
+ mineral = "titanium"
+
/obj/structure/door_assembly/door_assembly_wood
name = "wooden airlock assembly"
icon = 'icons/obj/doors/airlocks/station/wood.dmi'
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index aa661e57aa8..e318dd6f289 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -80,9 +80,9 @@
/obj/structure/falsewall/update_icon()
if(density)
+ icon_state = initial(icon_state)
smooth = SMOOTH_TRUE
smooth_icon(src)
- icon_state = ""
else
icon_state = "fwall_open"
@@ -304,4 +304,22 @@
icon_state = "abductor"
mineral = "abductor"
walltype = "abductor"
- canSmoothWith = list(/obj/structure/falsewall/abductor, /turf/simulated/wall/mineral/abductor)
\ No newline at end of file
+ canSmoothWith = list(/obj/structure/falsewall/abductor, /turf/simulated/wall/mineral/abductor)
+
+/obj/structure/falsewall/titanium
+ desc = "A light-weight titanium wall used in shuttles."
+ icon = 'icons/turf/walls/shuttle_wall.dmi'
+ icon_state = "shuttle"
+ mineral = /obj/item/stack/sheet/mineral/titanium
+ walltype = /turf/simulated/wall/mineral/titanium
+ smooth = SMOOTH_MORE
+ canSmoothWith = list(/turf/simulated/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater)
+
+/obj/structure/falsewall/plastitanium
+ desc = "An evil wall of plasma and titanium."
+ icon = 'icons/turf/walls/plastitanium_wall.dmi'
+ icon_state = "shuttle"
+ mineral = /obj/item/stack/sheet/mineral/plastitanium
+ walltype = /turf/simulated/wall/mineral/plastitanium
+ smooth = SMOOTH_MORE
+ canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater)
\ No newline at end of file
diff --git a/code/game/objects/structures/fullwindow.dm b/code/game/objects/structures/fullwindow.dm
index f9e8adbf9aa..f2663063dea 100644
--- a/code/game/objects/structures/fullwindow.dm
+++ b/code/game/objects/structures/fullwindow.dm
@@ -94,6 +94,7 @@
basestate = "window"
health = 160
reinf = 1
+ explosion_block = 3
/obj/structure/window/full/shuttle/New()
..()
diff --git a/code/game/turfs/simulated/floor/mineral.dm b/code/game/turfs/simulated/floor/mineral.dm
index e66d4383407..218599f9e9d 100644
--- a/code/game/turfs/simulated/floor/mineral.dm
+++ b/code/game/turfs/simulated/floor/mineral.dm
@@ -6,6 +6,7 @@
* Bananium floor
* Diamond floor
* Uranium floor
+ * Shuttle floor (Titanium)
*/
/turf/simulated/floor/mineral
@@ -76,6 +77,61 @@
floor_tile = /obj/item/stack/tile/mineral/silver/fancy
icons = list("silverfancy","silverfancy_dam")
+//TITANIUM (shuttle)
+
+/turf/simulated/floor/mineral/titanium/blue
+ icon_state = "shuttlefloor"
+ icons = list("shuttlefloor","shuttlefloor_dam")
+
+/turf/simulated/floor/mineral/titanium/blue/airless
+ oxygen = 0.01
+ nitrogen = 0.01
+ temperature = TCMB
+
+/turf/simulated/floor/mineral/titanium/yellow
+ icon_state = "shuttlefloor2"
+ icons = list("shuttlefloor2","shuttlefloor2_dam")
+
+/turf/simulated/floor/mineral/titanium/yellow/airless
+ oxygen = 0.01
+ nitrogen = 0.01
+ temperature = TCMB
+
+/turf/simulated/floor/mineral/titanium
+ name = "shuttle floor"
+ icon_state = "shuttlefloor3"
+ floor_tile = /obj/item/stack/tile/mineral/titanium
+ icons = list("shuttlefloor3","shuttlefloor3_dam")
+
+/turf/simulated/floor/mineral/titanium/airless
+ oxygen = 0.01
+ nitrogen = 0.01
+ temperature = TCMB
+
+/turf/simulated/floor/mineral/titanium/purple
+ icon_state = "shuttlefloor5"
+ icons = list("shuttlefloor5","shuttlefloor5_dam")
+
+/turf/simulated/floor/mineral/titanium/purple/airless
+ oxygen = 0.01
+ nitrogen = 0.01
+ temperature = TCMB
+
+//PLASTITANIUM (syndieshuttle)
+/turf/simulated/floor/mineral/plastitanium
+ name = "shuttle floor"
+ icon_state = "shuttlefloor4"
+ floor_tile = /obj/item/stack/tile/mineral/plastitanium
+ icons = list("shuttlefloor4","shuttlefloor4_dam")
+
+/turf/simulated/floor/mineral/plastitanium/airless
+ oxygen = 0.01
+ nitrogen = 0.01
+ temperature = TCMB
+
+/turf/simulated/floor/mineral/plastitanium/brig
+ name = "brig floor"
+
//BANANIUM
/turf/simulated/floor/mineral/bananium
name = "bananium floor"
diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm
index d2db056e824..80ce5f842be 100644
--- a/code/game/turfs/simulated/walls_mineral.dm
+++ b/code/game/turfs/simulated/walls_mineral.dm
@@ -156,4 +156,111 @@
smooth = SMOOTH_TRUE|SMOOTH_DIAGONAL
sheet_type = /obj/item/stack/sheet/mineral/abductor
explosion_block = 3
- canSmoothWith = list(/turf/simulated/wall/mineral/abductor, /obj/structure/falsewall/abductor)
\ No newline at end of file
+ canSmoothWith = list(/turf/simulated/wall/mineral/abductor, /obj/structure/falsewall/abductor)
+
+/////////////////////Titanium walls/////////////////////
+
+/turf/simulated/wall/mineral/titanium //has to use this path due to how building walls works
+ name = "wall"
+ desc = "A light-weight titanium wall used in shuttles."
+ icon = 'icons/turf/walls/shuttle_wall.dmi'
+ icon_state = "map-shuttle"
+ explosion_block = 3
+ sheet_type = /obj/item/stack/sheet/mineral/titanium
+ smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
+ canSmoothWith = list(/turf/simulated/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
+
+/turf/simulated/wall/mineral/titanium/nodiagonal
+ smooth = SMOOTH_MORE
+ icon_state = "map-shuttle_nd"
+
+/turf/simulated/wall/mineral/titanium/nosmooth
+ icon = 'icons/turf/shuttle.dmi'
+ icon_state = "wall"
+ smooth = SMOOTH_FALSE
+
+/turf/simulated/wall/mineral/titanium/overspace
+ icon_state = "map-overspace"
+ fixed_underlay = list("space"=1)
+
+//sub-type to be used for interior shuttle walls
+//won't get an underlay of the destination turf on shuttle move
+/turf/simulated/wall/mineral/titanium/interior/copyTurf(turf/T)
+ if(T.type != type)
+ T.ChangeTurf(type)
+ if(underlays.len)
+ T.underlays = underlays
+ if(T.icon_state != icon_state)
+ T.icon_state = icon_state
+ if(T.icon != icon)
+ T.icon = icon
+ if(T.color != color)
+ T.color = color
+ if(T.dir != dir)
+ T.dir = dir
+ T.transform = transform
+ return T
+
+/turf/simulated/wall/mineral/titanium/copyTurf(turf/T)
+ . = ..()
+ T.transform = transform
+
+/turf/simulated/wall/mineral/titanium/survival
+ name = "pod wall"
+ desc = "An easily-compressable wall used for temporary shelter."
+ icon = 'icons/turf/walls/survival_pod_walls.dmi'
+ icon_state = "smooth"
+ smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
+ canSmoothWith = list(/turf/simulated/wall/mineral/titanium/survival, /obj/machinery/door/airlock, /obj/structure/window/full, /obj/structure/window/full/reinforced, /obj/structure/window/full/reinforced/tinted, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine)
+
+/turf/simulated/wall/mineral/titanium/survival/nodiagonal
+ smooth = SMOOTH_MORE
+
+/turf/simulated/wall/mineral/titanium/survival/pod
+ canSmoothWith = list(/turf/simulated/wall/mineral/titanium/survival, /obj/machinery/door/airlock/survival_pod)
+
+/////////////////////Plastitanium walls/////////////////////
+
+/turf/simulated/wall/mineral/plastitanium
+ name = "wall"
+ desc = "An evil wall of plasma and titanium."
+ icon = 'icons/turf/walls/plastitanium_wall.dmi'
+ icon_state = "map-shuttle"
+ explosion_block = 4
+ sheet_type = /obj/item/stack/sheet/mineral/plastitanium
+ smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
+ canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/shuttle/engine, /obj/structure/falsewall/plastitanium)
+
+/turf/simulated/wall/mineral/plastitanium/nodiagonal
+ smooth = SMOOTH_MORE
+ icon_state = "map-shuttle_nd"
+
+/turf/simulated/wall/mineral/plastitanium/nosmooth
+ icon = 'icons/turf/shuttle.dmi'
+ icon_state = "wall"
+ smooth = SMOOTH_FALSE
+
+/turf/simulated/wall/mineral/plastitanium/overspace
+ icon_state = "map-overspace"
+ fixed_underlay = list("space"=1)
+
+//have to copypaste this code
+/turf/simulated/wall/mineral/plastitanium/interior/copyTurf(turf/T)
+ if(T.type != type)
+ T.ChangeTurf(type)
+ if(underlays.len)
+ T.underlays = underlays
+ if(T.icon_state != icon_state)
+ T.icon_state = icon_state
+ if(T.icon != icon)
+ T.icon = icon
+ if(T.color != color)
+ T.color = color
+ if(T.dir != dir)
+ T.dir = dir
+ T.transform = transform
+ return T
+
+/turf/simulated/wall/mineral/plastitanium/copyTurf(turf/T)
+ . = ..()
+ T.transform = transform
\ No newline at end of file
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 700803792e2..3d3ce0aa613 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -19,7 +19,7 @@
var/ore_pickup_rate = 15
var/sheet_per_ore = 1
var/point_upgrade = 1
- var/list/ore_values = list(("sand" = 1), ("iron" = 1), ("plasma" = 15), ("silver" = 16), ("gold" = 18), ("uranium" = 30), ("diamond" = 50), ("bluespace crystal" = 50), ("bananium" = 60), ("tranquillite" = 60))
+ var/list/ore_values = list(("sand" = 1), ("iron" = 1), ("plasma" = 15), ("silver" = 16), ("gold" = 18), ("titanium" = 30), ("uranium" = 30), ("diamond" = 50), ("bluespace crystal" = 50), ("bananium" = 60), ("tranquillite" = 60))
var/list/supply_consoles = list("Science", "Robotics", "Research Director's Desk", "Mechanic", "Engineering" = list("metal", "glass", "plasma"), "Chief Engineer's Desk" = list("metal", "glass", "plasma"), "Atmospherics" = list("metal", "glass", "plasma"), "Bar" = list("uranium", "plasma"), "Virology" = list("plasma", "uranium", "gold"))
speed_process = 1
@@ -175,17 +175,28 @@
dat += "
" //just looks nicer
dat += text("[capitalize(s.name)]: [s.amount] Release
")
- if((/obj/item/stack/sheet/metal in stack_list) && (/obj/item/stack/sheet/mineral/plasma in stack_list))
- var/obj/item/stack/sheet/metalstack = stack_list[/obj/item/stack/sheet/metal]
- var/obj/item/stack/sheet/plasmastack = stack_list[/obj/item/stack/sheet/mineral/plasma]
- if(min(metalstack.amount, plasmastack.amount))
- dat += text("Plasteel Alloy (Metal + Plasma): Smelt
")
- if((/obj/item/stack/sheet/glass in stack_list) && (/obj/item/stack/sheet/mineral/plasma in stack_list))
- var/obj/item/stack/sheet/glassstack = stack_list[/obj/item/stack/sheet/glass]
- var/obj/item/stack/sheet/plasmastack = stack_list[/obj/item/stack/sheet/mineral/plasma]
- if(min(glassstack.amount, plasmastack.amount))
- dat += "Plasma Glass (Glass + Plasma): Smelt
"
+ var/obj/item/stack/sheet/metalstack
+ if(/obj/item/stack/sheet/metal in stack_list)
+ metalstack = stack_list[/obj/item/stack/sheet/metal]
+ var/obj/item/stack/sheet/glass/glassstack
+ if(/obj/item/stack/sheet/glass in stack_list)
+ glassstack = stack_list[/obj/item/stack/sheet/glass]
+
+ var/obj/item/stack/sheet/plasmastack
+ if((/obj/item/stack/sheet/mineral/plasma in stack_list))
+ plasmastack = stack_list[/obj/item/stack/sheet/mineral/plasma]
+
+ var/obj/item/stack/sheet/mineral/titaniumstack
+ if((/obj/item/stack/sheet/mineral/titanium in stack_list))
+ titaniumstack = stack_list[/obj/item/stack/sheet/mineral/titanium]
+
+ if(metalstack && plasmastack && min(metalstack.amount, plasmastack.amount))
+ dat += text("Plasteel Alloy (Metal + Plasma): Smelt
")
+ if(titaniumstack && plasmastack && min(titaniumstack.amount, plasmastack.amount))
+ dat += text("Plastitanium Alloy (Titanium + Plasma): Smelt
")
+ if(glassstack && plasmastack && min(glassstack.amount, plasmastack.amount))
+ dat += text("Plasma Glass (Glass + Plasma): Smelt
")
dat += text("