diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index cd73f2b1f8..9a43607709 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -195,7 +195,9 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list( /obj/item/stack/sheet/glass, /obj/item/stack/sheet/rglass, /obj/item/stack/sheet/plasmaglass, - /obj/item/stack/sheet/plasmarglass))) + /obj/item/stack/sheet/plasmarglass, + /obj/item/stack/sheet/titaniumglass, + /obj/item/stack/sheet/plastitaniumglass))) #define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types)) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 5a672c212e..d93f5dd5fd 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -181,6 +181,41 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ recipes = GLOB.prglass_recipes return ..() +GLOBAL_LIST_INIT(titaniumglass_recipes, list( + new/datum/stack_recipe("shuttle window", /obj/structure/window/shuttle/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) + )) + +/obj/item/stack/sheet/titaniumglass + name = "titanium glass" + desc = "A glass sheet made out of a titanium-silicate alloy." + singular_name = "titanium glass sheet" + icon_state = "sheet-titaniumglass" + materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) + resistance_flags = ACID_PROOF + merge_type = /obj/item/stack/sheet/titaniumglass + +/obj/item/stack/sheet/titaniumglass/Initialize(mapload, new_amount, merge = TRUE) + recipes = GLOB.titaniumglass_recipes + return ..() + +GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( + new/datum/stack_recipe("plastitanium window", /obj/structure/window/plastitanium/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) + )) + +/obj/item/stack/sheet/plastitaniumglass + name = "plastitanium glass" + desc = "A glass sheet made out of a plasma-titanium-silicate alloy." + singular_name = "plastitanium glass sheet" + icon_state = "sheet-plastitaniumglass" + materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) + resistance_flags = ACID_PROOF + merge_type = /obj/item/stack/sheet/plastitaniumglass + +/obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge = TRUE) + recipes = GLOB.plastitaniumglass_recipes + return ..() /obj/item/shard name = "shard" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index f2151ad9f5..7e280724d4 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -292,7 +292,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ throw_speed = 1 throw_range = 3 sheettype = "plastitanium" - materials = list(MAT_TITANIUM=2000, MAT_PLASMA=2000) + materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) GLOBAL_LIST_INIT(plastitanium_recipes, list ( \ new/datum/stack_recipe("plas-titanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20), \ diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index a7bfb92c45..270223f9a8 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -183,6 +183,10 @@ WD = new/obj/structure/window/plasma/fulltile(drop_location()) //plasma window else if(istype(W, /obj/item/stack/sheet/rglass)) WD = new/obj/structure/window/reinforced/fulltile(drop_location()) //reinforced window + else if(istype(W, /obj/item/stack/sheet/titaniumglass)) + WD = new/obj/structure/window/shuttle(drop_location()) + else if(istype(W, /obj/item/stack/sheet/plastitaniumglass)) + WD = new/obj/structure/window/plastitanium(drop_location()) else WD = new/obj/structure/window/fulltile(drop_location()) //normal window WD.setDir(dir_to_set) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index add789c0b8..e7cd1f4eab 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -560,7 +560,7 @@ canSmoothWith = null explosion_block = 3 level = 3 - glass_type = /obj/item/stack/sheet/rglass + glass_type = /obj/item/stack/sheet/titaniumglass glass_amount = 2 /obj/structure/window/shuttle/narsie_act() @@ -569,6 +569,9 @@ /obj/structure/window/shuttle/tinted opacity = TRUE +/obj/structure/window/shuttle/unanchored + anchored = FALSE + /obj/structure/window/plastitanium name = "plastitanium window" desc = "An evil looking window of plasma and titanium." @@ -586,9 +589,12 @@ canSmoothWith = null explosion_block = 3 level = 3 - glass_type = /obj/item/stack/sheet/rglass + glass_type = /obj/item/stack/sheet/plastitaniumglass glass_amount = 2 +/obj/structure/window/plastitanium/unanchored + anchored = FALSE + /obj/structure/window/reinforced/clockwork name = "brass window" desc = "A paper-thin pane of translucent yet reinforced brass." diff --git a/code/modules/research/designs/smelting_designs.dm b/code/modules/research/designs/smelting_designs.dm index 0a2fdbd83e..821e6cee38 100644 --- a/code/modules/research/designs/smelting_designs.dm +++ b/code/modules/research/designs/smelting_designs.dm @@ -25,6 +25,22 @@ build_path = /obj/item/stack/sheet/plasmaglass category = list("initial") +/datum/design/titaniumglass_alloy + name = "Titanium + Glass alloy" + id = "titaniumglass" + build_type = SMELTER + materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + build_path = /obj/item/stack/sheet/titaniumglass + category = list("initial") + +/datum/design/plastitaniumglass_alloy + name = "Plasma + Titanium + Glass alloy" + id = "plastitaniumglass" + build_type = SMELTER + materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + build_path = /obj/item/stack/sheet/plastitaniumglass + category = list("initial") + /datum/design/alienalloy name = "Alien Alloy" desc = "A sheet of reverse-engineered alien alloy." diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 5add73597e..8b686d67db 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index f21c6c7579..e844d9c7a6 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ