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("
Mineral Value List:
[get_ore_values()]
") var/datum/browser/popup = new(user, "console_stacking_machine", "Ore Redemption Machine", 400, 500) @@ -242,37 +253,24 @@ else to_chat(usr, "Required access not found.") - if(href_list["plasteel"]) + if(href_list["alloytype1"] && href_list["alloytype2"] && href_list["alloytypeout"]) + var/alloytype1 = text2path(href_list["alloytype1"]) + var/alloytype2 = text2path(href_list["alloytype2"]) + var/alloytypeout = text2path(href_list["alloytypeout"]) if(check_access(inserted_id) || allowed(usr)) - if(!(/obj/item/stack/sheet/metal in stack_list)) return - if(!(/obj/item/stack/sheet/mineral/plasma in stack_list)) return - 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(!(alloytype1 in stack_list)) + return + if(!(alloytype2 in stack_list)) + return + var/obj/item/stack/sheet/stack1 = stack_list[alloytype1] + var/obj/item/stack/sheet/stack2 = stack_list[alloytype2] var/desired = input("How much?", "How much would you like to smelt?", 1) as num - var/obj/item/stack/sheet/plasteel/plasteelout = new - plasteelout.amount = round(min(desired,50,metalstack.amount,plasmastack.amount)) - if(plasteelout.amount >= 1) - metalstack.amount -= plasteelout.amount - plasmastack.amount -= plasteelout.amount - unload_mineral(plasteelout) - else - to_chat(usr, "Required access not found.") - - if(href_list["plasglass"]) - if(check_access(inserted_id) || allowed(usr)) - if(!(/obj/item/stack/sheet/glass in stack_list)) return - if(!(/obj/item/stack/sheet/mineral/plasma in stack_list)) return - 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] - - var/desired = input("How much?", "How much would you like to smelt?", 1) as num - var/obj/item/stack/sheet/plasmaglass/plasglassout = new - plasglassout.amount = round(min(desired, 50, glassstack.amount, plasmastack.amount)) - if(plasglassout.amount >= 1) - glassstack.amount -= plasglassout.amount - plasmastack.amount -= plasglassout.amount - unload_mineral(plasglassout) + var/obj/item/stack/sheet/alloyout = new alloytypeout + alloyout.amount = round(min(desired,50,stack1.amount,stack2.amount)) + if(alloyout.amount >= 1) + stack1.amount -= alloyout.amount + stack2.amount -= alloyout.amount + unload_mineral(alloyout) else to_chat(usr, "Required access not found.") updateUsrDialog() diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 212e8488ac8..4fe8edbe7f6 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -25,93 +25,102 @@ if(machine.ore_iron || machine.ore_glass || machine.ore_plasma || machine.ore_uranium || machine.ore_gold || machine.ore_silver || machine.ore_diamond || machine.ore_clown || machine.ore_mime || machine.ore_adamantine) if(machine.ore_iron) if(machine.selected_iron==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Iron: [machine.ore_iron]
") + dat += "Not smelting " + dat += "Iron: [machine.ore_iron]
" else machine.selected_iron = 0 //sand - glass if(machine.ore_glass) if(machine.selected_glass==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Sand: [machine.ore_glass]
") + dat += "Not smelting " + dat += "Sand: [machine.ore_glass]
" else machine.selected_glass = 0 //plasma if(machine.ore_plasma) if(machine.selected_plasma==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Plasma: [machine.ore_plasma]
") + dat += "Not smelting " + dat += "Plasma: [machine.ore_plasma]
" else machine.selected_plasma = 0 //uranium if(machine.ore_uranium) if(machine.selected_uranium==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Uranium: [machine.ore_uranium]
") + dat += "Not smelting " + dat += "Uranium: [machine.ore_uranium]
" else machine.selected_uranium = 0 //gold if(machine.ore_gold) if(machine.selected_gold==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Gold: [machine.ore_gold]
") + dat += "Not smelting " + dat += "Gold: [machine.ore_gold]
" else machine.selected_gold = 0 //silver if(machine.ore_silver) if(machine.selected_silver==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Silver: [machine.ore_silver]
") + dat += "Not smelting " + dat += "Silver: [machine.ore_silver]
" else machine.selected_silver = 0 //diamond if(machine.ore_diamond) if(machine.selected_diamond==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Diamond: [machine.ore_diamond]
") + dat += "Not smelting " + dat += "Diamond: [machine.ore_diamond]
" else machine.selected_diamond = 0 //bananium if(machine.ore_clown) if(machine.selected_clown==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Bananium: [machine.ore_clown]
") + dat += "Not smelting " + dat += "Bananium: [machine.ore_clown]
" else machine.selected_clown = 0 //tranquillite if(machine.ore_mime) if(machine.selected_mime==1) - dat += text("Smelting ") + dat += "Smelting " else - dat += text("Not smelting ") - dat += text("Tranquillite: [machine.ore_mime]
") + dat += "Not smelting " + dat += "Tranquillite: [machine.ore_mime]
" else machine.selected_mime = 0 + //titanium + if(machine.ore_titanium) + if (machine.selected_titanium==1) + dat += "Smelting " + else + dat += "Not smelting " + dat += "Titanium: [machine.ore_titanium]
" + else + machine.selected_titanium = 0 //On or off dat += text("Machine is currently ") @@ -175,6 +184,11 @@ machine.selected_mime = 1 else machine.selected_mime = 0 + if(href_list["sel_titanium"]) + if (href_list["sel_titanium"] == "yes") + machine.selected_titanium = 1 + else + machine.selected_titanium = 0 if(href_list["set_on"]) if(href_list["set_on"] == "on") machine.on = 1 @@ -203,6 +217,7 @@ var/ore_clown = 0 var/ore_mime = 0 var/ore_adamantine = 0 + var/ore_titanium = 0 var/selected_gold = 0 var/selected_silver = 0 var/selected_diamond = 0 @@ -212,92 +227,106 @@ var/selected_iron = 0 var/selected_clown = 0 var/selected_mime = 0 + var/selected_titanium = 0 var/on = 0 //0 = off, 1 =... oh you know! /obj/machinery/mineral/processing_unit/process() - var/i - for(i = 0; i < 10; i++) + for(var/i in 1 to 10) if(on) - if(selected_glass == 1 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0) + if(selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_glass > 0) - ore_glass--; + ore_glass-- generate_mineral(/obj/item/stack/sheet/glass) else on = 0 continue - if(selected_glass == 1 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0 && selected_mime == 0) + if(selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_mime) if(ore_glass > 0 && ore_iron > 0) - ore_glass--; - ore_iron--; + ore_glass-- + ore_iron-- generate_mineral(/obj/item/stack/sheet/rglass) else on = 0 continue - if(selected_glass == 0 && selected_gold == 1 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_gold > 0) - ore_gold--; + ore_gold-- generate_mineral(/obj/item/stack/sheet/mineral/gold) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 1 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && !selected_gold && selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_silver > 0) - ore_silver--; + ore_silver-- generate_mineral(/obj/item/stack/sheet/mineral/silver) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 1 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && !selected_gold && !selected_silver && selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_diamond > 0) - ore_diamond--; + ore_diamond-- generate_mineral(/obj/item/stack/sheet/mineral/diamond) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_plasma > 0) - ore_plasma--; + ore_plasma-- generate_mineral(/obj/item/stack/sheet/mineral/plasma) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 1 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && selected_uranium && !selected_iron && !selected_clown && !selected_mime) if(ore_uranium > 0) - ore_uranium--; + ore_uranium-- generate_mineral(/obj/item/stack/sheet/mineral/uranium) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_mime) if(ore_iron > 0) - ore_iron--; + ore_iron-- generate_mineral(/obj/item/stack/sheet/metal) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0 && selected_mime == 0) + if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_mime) if(ore_iron > 0 && ore_plasma > 0) - ore_iron--; - ore_plasma--; + ore_iron-- + ore_plasma-- generate_mineral(/obj/item/stack/sheet/plasteel) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 1 && selected_mime == 0) + if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && selected_clown && !selected_mime) if(ore_clown > 0) - ore_clown--; + ore_clown-- generate_mineral(/obj/item/stack/sheet/mineral/bananium) else on = 0 continue - if(selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 1) + if(!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && selected_mime) if(ore_mime > 0) - ore_mime--; + ore_mime-- generate_mineral(/obj/item/stack/sheet/mineral/tranquillite) else on = 0 continue - + if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime && selected_titanium) + if (ore_titanium > 0) + ore_titanium-- + generate_mineral(/obj/item/stack/sheet/mineral/titanium) + else + on = 0 + continue + if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_mime && selected_titanium) + if (ore_titanium > 0) + ore_titanium-- + ore_plasma-- + generate_mineral(/obj/item/stack/sheet/mineral/plastitanium) + else + on = 0 + continue //if a non valid combination is selected @@ -333,6 +362,9 @@ if(selected_mime == 1) if(ore_mime <= 0) b = 0 + if(selected_titanium == 1) + if(ore_titanium <= 0) + b = 0 if(b) //if they are, deduct one from each, produce slag and shut the machine off if(selected_gold == 1) @@ -351,6 +383,8 @@ ore_clown-- if(selected_mime == 1) ore_mime-- + if(selected_titanium == 1) + ore_titanium-- generate_mineral(/obj/item/weapon/ore/slag) on = 0 else @@ -402,6 +436,10 @@ ore_mime++ O.loc = null continue + if(istype(O,/obj/item/weapon/ore/titanium)) + ore_titanium++ + O.loc = null + continue unload_mineral(O) /obj/machinery/mineral/processing_unit/proc/generate_mineral(var/P) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index bf671764197..7b7f4a4fd48 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -362,15 +362,6 @@ icon_regular_floor = "podfloor" floor_tile = /obj/item/stack/tile/pod -//Walls -/turf/simulated/wall/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/survival, /obj/machinery/door/airlock/survival_pod) - //Door /obj/machinery/door/airlock/survival_pod icon = 'icons/obj/doors/airlocks/survival/survival.dmi' diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index d57f509e13e..d2f8e2c8bc1 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -110,8 +110,7 @@ var/global/list/rockTurfEdgeCache = list( "Uranium" = 5, "Diamond" = 1, "Gold" = 10, "Silver" = 12, "Plasma" = 20, "Iron" = 40, "Gibtonite" = 4, "Cave" = 2, "BScrystal" = 1, - /*, "Adamantine" =5*/) - //Currently, Adamantine won't spawn as it has no uses. -Durandan + "Titanium" = 11) var/mineralChance = 13 /turf/simulated/mineral/random/New() @@ -142,6 +141,8 @@ var/global/list/rockTurfEdgeCache = list( M = new/turf/simulated/mineral/clown(src) if("Tranquillite") M = new/turf/simulated/mineral/mime(src) + if("Titanium") + M = new/turf/simulated/mineral/titanium(src) if("BScrystal") M = new/turf/simulated/mineral/bscrystal(src) if(M) @@ -155,9 +156,9 @@ var/global/list/rockTurfEdgeCache = list( icon_state = "rock_highchance" mineralChance = 25 mineralSpawnChanceList = list( - "Uranium" = 35, "Diamond" = 30, - "Gold" = 45, "Silver" = 50, "Plasma" = 50, - "BScrystal" = 20) + "Uranium" = 35, "Diamond" = 30, "Gold" = 45, + "Silver" = 50, "Plasma" = 50, "BScrystal" = 20, + "Titanium" = 45) /turf/simulated/mineral/random/high_chance_clown @@ -177,7 +178,7 @@ var/global/list/rockTurfEdgeCache = list( mineralSpawnChanceList = list( "Uranium" = 2, "Diamond" = 1, "Gold" = 4, "Silver" = 6, "Plasma" = 15, "Iron" = 40, - "Gibtonite" = 2, "BScrystal" = 1) + "Gibtonite" = 2, "BScrystal" = 1, "Titanium" = 4) /turf/simulated/mineral/random/low_chance/New() icon_state = "rock" @@ -228,6 +229,14 @@ var/global/list/rockTurfEdgeCache = list( hidden = 1 scan_state = "rock_Silver" +/turf/simulated/mineral/titanium + name = "titanium deposit" + mineralType = /obj/item/weapon/ore/titanium + spreadChance = 5 + spread = 1 + hidden = 1 + scan_state = "rock_Titanium" + /turf/simulated/mineral/plasma name = "plasma deposit" icon_state = "rock_Plasma" diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index fbf14349a53..a9cdbffed7d 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -37,7 +37,8 @@ speak_emote = list("states") wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver, /obj/item/weapon/ore/plasma, /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/iron, - /obj/item/weapon/ore/bananium, /obj/item/weapon/ore/tranquillite, /obj/item/weapon/ore/glass) + /obj/item/weapon/ore/bananium, /obj/item/weapon/ore/tranquillite, /obj/item/weapon/ore/glass, + /obj/item/weapon/ore/titanium) healable = 0 var/mode = MINEDRONE_COLLECT var/light_on = 0 diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index cf987c654bc..3158b1b524a 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -142,6 +142,13 @@ refined_type = /obj/item/stack/sheet/mineral/tranquillite materials = list(MAT_TRANQUILLITE=MINERAL_MATERIAL_AMOUNT) +/obj/item/weapon/ore/titanium + name = "titanium ore" + icon_state = "Titanium ore" + points = 50 + materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) + refined_type = /obj/item/stack/sheet/mineral/titanium + /obj/item/weapon/ore/slag name = "slag" desc = "Completely useless" diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index 5cf24a394ee..5f21412f3b8 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -33,6 +33,7 @@ var/amt_iron = 0 var/amt_plasma = 0 var/amt_uranium = 0 + var/amt_titanium = 0 var/amt_clown = 0 var/amt_mime = 0 var/amt_bluespace = 0 @@ -56,6 +57,8 @@ amt_clown++ if(istype(C,/obj/item/weapon/ore/tranquillite)) amt_mime++ + if(istype(C, /obj/item/weapon/ore/titanium)) + amt_titanium++ if(istype(C,/obj/item/weapon/ore/bluespace_crystal)) amt_bluespace++ @@ -74,6 +77,8 @@ dat += text("Plasma ore: [amt_plasma]
") if(amt_uranium) dat += text("Uranium ore: [amt_uranium]
") + if(amt_titanium) + dat += text("Titanium ore: [amt_titanium]
") if(amt_clown) dat += text("Bananium ore: [amt_clown]
") if(amt_mime) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 62313ddbccb..0914cdc8d32 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -467,8 +467,6 @@ obj/structure/cable/proc/cableColor(var/colorC) // Definitions //////////////////////////////// -#define MAXCOIL 30 - var/global/list/datum/stack_recipe/cable_coil_recipes = list( new /datum/stack_recipe/cable_restraints("cable restraints", /obj/item/weapon/restraints/handcuffs/cable, 15), ) diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 6054fd1f859..697b3e3abaf 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -318,7 +318,7 @@ id = "gygax_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_armour - materials = list(MAT_METAL=25000,MAT_DIAMOND=10000) + materials = list(MAT_METAL=15000,MAT_DIAMOND=10000,MAT_TITANIUM=10000) construction_time = 600 category = list("Gygax") @@ -391,7 +391,7 @@ id = "durand_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_armor - materials = list(MAT_METAL=50000,MAT_URANIUM=30000) + materials = list(MAT_METAL=30000,MAT_URANIUM=25000,MAT_TITANIUM=20000) construction_time = 600 category = list("Durand") @@ -592,7 +592,7 @@ id = "phazon_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_armor - materials = list(MAT_METAL=45000,MAT_PLASMA=30000) + materials = list(MAT_METAL=25000,MAT_PLASMA=20000,MAT_TITANIUM=20000) construction_time = 300 category = list("Phazon") diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index f1b361a4b5b..88fac1905da 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -52,7 +52,7 @@ id = "bluespace_cell" req_tech = list("powerstorage" = 6, "materials" = 5, "engineering" = 5, "bluespace" = 5) build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 800, MAT_GOLD = 300, MAT_SILVER = 300, MAT_GLASS = 160, MAT_DIAMOND = 160) + materials = list(MAT_METAL = 800, MAT_GOLD = 120, MAT_SILVER = 150, MAT_GLASS = 160, MAT_DIAMOND = 160, MAT_TITANIUM = 300) construction_time=100 build_path = /obj/item/weapon/stock_parts/cell/bluespace category = list("Misc","Power") diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index eb79a54b219..9c68127d0e1 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -203,7 +203,7 @@ id = "femto_mani" req_tech = list("materials" = 7, "programming" = 5, "engineering" = 5, "bluespace" = 5) build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_DIAMOND = 60) + materials = list(MAT_METAL = 200, MAT_DIAMOND = 30, MAT_TITANIUM = 30) build_path = /obj/item/weapon/stock_parts/manipulator/femto category = list("Stock Parts") lathe_time_factor = 0.2 diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 1384e193f8b..0c880fb8484 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -8,7 +8,7 @@ id = "nuclear_gun" req_tech = list("combat" = 5, "magnets" = 5, "powerstorage" = 5) build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 4000) + materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 3000, MAT_TITANIUM = 1000) build_path = /obj/item/weapon/gun/energy/gun/nuclear locked = 1 category = list("Weapons") @@ -116,7 +116,7 @@ id = "tele_shield" req_tech = list("combat" = 4, "materials" = 3, "engineering" = 4) build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 5000, MAT_SILVER = 300) + materials = list(MAT_METAL = 4000, MAT_GLASS = 4000, MAT_SILVER = 300, MAT_TITANIUM = 200) build_path = /obj/item/weapon/shield/riot/tele category = list("Weapons") @@ -242,7 +242,7 @@ id = "xray" req_tech = list("combat" = 7, "magnets" = 5, "biotech" = 5, "powerstorage" = 4) build_type = PROTOLATHE - materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000, MAT_METAL = 5000) + materials = list(MAT_GOLD = 5000,MAT_URANIUM = 8000, MAT_METAL = 5000, MAT_TITANIUM = 2000) build_path = /obj/item/weapon/gun/energy/xray locked = 1 category = list("Weapons") diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index ad90dcce9f6..46355f144da 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -42,7 +42,7 @@ Note: Must be placed west/left of and R&D console to function. component_parts += new /obj/item/weapon/stock_parts/manipulator(null) component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null) component_parts += new /obj/item/weapon/reagent_containers/glass/beaker/large(null) - materials = new(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(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() reagents.my_atom = src diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 790819bd49b..ee499b8eac3 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -98,6 +98,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, return_name = "Bananium" if("mime") return_name = "Tranquillite" + if("titanium") + return_name = "Titanium" return return_name else for(var/R in subtypesof(/datum/reagent)) @@ -808,6 +810,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, materials_list[++materials_list.len] = list("name" = "Diamond", "id" = MAT_DIAMOND, "amount" = linked_lathe.materials.amount(MAT_DIAMOND)) materials_list[++materials_list.len] = list("name" = "Bananium", "id" = MAT_BANANIUM, "amount" = linked_lathe.materials.amount(MAT_BANANIUM)) materials_list[++materials_list.len] = list("name" = "Tranquillite", "id" = MAT_TRANQUILLITE, "amount" = linked_lathe.materials.amount(MAT_TRANQUILLITE)) + materials_list[++materials_list.len] = list("name" = "Titanium", "id" = MAT_TITANIUM, "amount" = linked_lathe.materials.amount(MAT_TITANIUM)) if(submenu == 3) var/list/loaded_chemicals = list() data["loaded_chemicals"] = loaded_chemicals diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index abf090ef440..50bcd5f3f75 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/machines/research.dmi b/icons/obj/machines/research.dmi index 75211829f2f..b21738f2fed 100644 Binary files a/icons/obj/machines/research.dmi and b/icons/obj/machines/research.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 1fabc78bdd0..29196e625ae 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/robotics.dmi b/icons/obj/robotics.dmi index 2e896133851..08d8675ff06 100644 Binary files a/icons/obj/robotics.dmi and b/icons/obj/robotics.dmi differ diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi index 67cc9682cf8..4d5fe2d875d 100644 Binary files a/icons/obj/tiles.dmi and b/icons/obj/tiles.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index a7adf552d91..634b24d3eb5 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/icons/turf/mining.dmi b/icons/turf/mining.dmi index fb5d8fd62aa..d36db34304b 100644 Binary files a/icons/turf/mining.dmi and b/icons/turf/mining.dmi differ diff --git a/icons/turf/walls/plastitanium_wall.dmi b/icons/turf/walls/plastitanium_wall.dmi new file mode 100644 index 00000000000..3cd7332b6a7 Binary files /dev/null and b/icons/turf/walls/plastitanium_wall.dmi differ diff --git a/icons/turf/walls/shuttle_wall.dmi b/icons/turf/walls/shuttle_wall.dmi new file mode 100644 index 00000000000..d5546e6bb78 Binary files /dev/null and b/icons/turf/walls/shuttle_wall.dmi differ