diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index a7011f92e4a..2f782d2fc3e 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -262,6 +262,7 @@
#define MAT_URANIUM "$uranium"
#define MAT_PLASMA "$plasma"
#define MAT_BANANIUM "$bananium"
+#define MAT_TITANIUM "$titanium"
//check_target_facings() return defines
diff --git a/code/datums/material_container.dm b/code/datums/material_container.dm
index 4dfbd4a886d..e299c42ab48 100644
--- a/code/datums/material_container.dm
+++ b/code/datums/material_container.dm
@@ -26,7 +26,6 @@
for(var/mat_type in subtypesof(/datum/material))
var/datum/material/MT = mat_type
possible_mats[initial(MT.id)] = mat_type
-
for(var/id in mat_list)
if(possible_mats[id])
var/mat_path = possible_mats[id]
@@ -264,3 +263,8 @@
id = MAT_BANANIUM
sheet_type = /obj/item/stack/sheet/mineral/bananium
coin_type = /obj/item/weapon/coin/clown
+
+/datum/material/titanium
+ name = "Titanium"
+ id = MAT_TITANIUM
+ sheet_type = /obj/item/stack/sheet/mineral/titanium
\ No newline at end of file
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index c5206dd8ebc..a8b26f151c1 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -20,7 +20,7 @@ var/const/SAFETY_COOLDOWN = 100
/obj/machinery/recycler/New()
..()
- materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM))
+ materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM))
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/recycler(null)
B.apply_default_parts(src)
update_icon()
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index bbfb0fe0140..ba41b294f60 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -10,6 +10,8 @@ Mineral Sheets
- Gold
- Silver
- Clown
+ - Titanium
+ - Plastitanium
Others:
- Adamantine
- Mythril
@@ -237,6 +239,60 @@ var/global/list/datum/stack_recipe/clown_recipes = list ( \
pixel_y = rand(0,4)-4
..()
+/*
+ * Titanium
+ */
+/obj/item/stack/sheet/mineral/titanium
+ name = "titanium"
+ icon_state = "sheet-titanium"
+ singular_name = "titanium sheet"
+ force = 5
+ throwforce = 5
+ w_class = 3
+ throw_speed = 1
+ throw_range = 3
+ origin_tech = "materials=4"
+ 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(var/loc, var/amount=null)
+ recipes = titanium_recipes
+ pixel_x = rand(0,4)-4
+ pixel_y = rand(0,4)-4
+ ..()
+
+
+/*
+ * Plastitanium
+ */
+/obj/item/stack/sheet/mineral/plastitanium
+ name = "plastitanium"
+ icon_state = "sheet-plastitanium"
+ singular_name = "plastitanium sheet"
+ force = 5
+ throwforce = 5
+ w_class = 3
+ throw_speed = 1
+ throw_range = 3
+ origin_tech = "materials=4"
+ sheettype = "plastitanium"
+ materials = list(MAT_TITANIUM=6000, MAT_PLASMA=6000)
+
+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(var/loc, var/amount=null)
+ recipes = plastitanium_recipes
+ pixel_x = rand(0,4)-4
+ pixel_y = rand(0,4)-4
+ ..()
+
+
/*
* Snow
*/
diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm
index 759952b9f3a..e9b4a0385d1 100644
--- a/code/game/objects/items/stacks/tiles/tile_mineral.dm
+++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm
@@ -63,3 +63,23 @@
origin_tech = "materials=6;abductor=1"
turf_type = /turf/open/floor/mineral/abductor
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"
+ origin_tech = "materials=2"
+ turf_type = /turf/open/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"
+ origin_tech = "materials=2"
+ turf_type = /turf/open/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 6eb521f1eb3..637df32ab18 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -78,6 +78,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))
@@ -104,6 +112,8 @@
/obj/item/stack/sheet/mineral/diamond,
/obj/item/stack/sheet/mineral/bananium,
/obj/item/stack/sheet/plasteel,
+ /obj/item/stack/sheet/mineral/titanium,
+ /obj/item/stack/sheet/mineral/plastitanium,
/obj/item/stack/rods
)
diff --git a/code/game/turfs/simulated/floor/mineral_floor.dm b/code/game/turfs/simulated/floor/mineral_floor.dm
index ca63f210d1f..772b2dc0fa7 100644
--- a/code/game/turfs/simulated/floor/mineral_floor.dm
+++ b/code/game/turfs/simulated/floor/mineral_floor.dm
@@ -6,6 +6,7 @@
* Bananium floor
* Diamond floor
* Uranium floor
+ * Shuttle floor (Titanium)
*/
/turf/open/floor/mineral
@@ -71,6 +72,21 @@
floor_tile = /obj/item/stack/tile/mineral/silver
icons = list("silver","silver_dam")
+//TITANIUM (shuttle)
+
+/turf/open/floor/mineral/titanium
+ name = "shuttle floor"
+ icon_state = "shuttlefloor3"
+ floor_tile = /obj/item/stack/tile/mineral/titanium
+ icons = list("shuttlefloor3","shuttle_dam")
+
+//PLASTITANIUM (syndieshuttle)
+/turf/open/floor/mineral/plastitanium
+ name = "shuttle floor"
+ icon_state = "shuttlefloor4"
+ floor_tile = /obj/item/stack/tile/mineral/plastitanium
+ icons = list("shuttlefloor4","shuttle_dam")
+
//BANANIUM
/turf/open/floor/mineral/bananium
diff --git a/code/game/turfs/simulated/floor/plasteel_floor.dm b/code/game/turfs/simulated/floor/plasteel_floor.dm
index 7385865445e..2ed73c70404 100644
--- a/code/game/turfs/simulated/floor/plasteel_floor.dm
+++ b/code/game/turfs/simulated/floor/plasteel_floor.dm
@@ -290,9 +290,11 @@
/turf/open/floor/plasteel/shuttle
icon_state = "shuttlefloor"
+ floor_tile = /obj/item/stack/tile/mineral/titanium //old shuttle floors so i don't have to change the map paths in this pr
/turf/open/floor/plasteel/shuttle/red
name = "Brig floor"
icon_state = "shuttlefloor4"
+ floor_tile = /obj/item/stack/tile/mineral/plastitanium
/turf/open/floor/plasteel/shuttle/yellow
icon_state = "shuttlefloor2"
/turf/open/floor/plasteel/shuttle/white
diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm
index 276964e52a5..5e59d4fcdfa 100644
--- a/code/game/turfs/simulated/walls_mineral.dm
+++ b/code/game/turfs/simulated/walls_mineral.dm
@@ -188,3 +188,58 @@
slicing_duration = 200 //alien wall takes twice as much time to slice
explosion_block = 3
canSmoothWith = list(/turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor)
+
+/turf/closed/wall/shuttle //nosmoothing shuttle walls
+ name = "wall"
+ icon = 'icons/turf/shuttle.dmi'
+ icon_state = "wall"
+ walltype = "shuttle"
+ sheet_type = /obj/item/stack/sheet/mineral/titanium
+ smooth = SMOOTH_FALSE
+
+/turf/closed/wall/mineral/titanium //has to use this path due to how building walls works
+ name = "wall"
+ icon = 'icons/turf/walls/shuttle_wall.dmi'
+ icon_state = "shuttle"
+ walltype = "shuttle"
+ sheet_type = /obj/item/stack/sheet/mineral/titanium
+ smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
+ canSmoothWith = list(/turf/closed/wall/mineral/titanium, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine)
+
+/turf/closed/wall/mineral/titanium/nodiagonal
+ smooth = SMOOTH_MORE
+ icon_state = "shuttle_nd"
+
+/turf/closed/wall/mineral/titanium/overspace
+ icon_state = "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/closed/wall/shuttle/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/closed/wall/shuttle/copyTurf(turf/T)
+ . = ..()
+ T.transform = transform
+
+/turf/closed/wall/mineral/plastitanium
+ name = "wall"
+ walltype = "syndieshuttle"
+ icon = 'icons/turf/shuttle.dmi'
+ icon_state = "wall3"
+ sheet_type = /obj/item/stack/sheet/mineral/plastitanium
+ smooth = SMOOTH_FALSE
\ No newline at end of file
diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm
index bba9283402b..773d781ddaa 100644
--- a/code/game/turfs/simulated/walls_misc.dm
+++ b/code/game/turfs/simulated/walls_misc.dm
@@ -160,11 +160,17 @@
walltype = "shuttle"
smooth = SMOOTH_FALSE
+/turf/closed/wall/shuttle/syndie
+ icon_state = "wall3"
+ walltype = "syndieshuttle"
+ sheet_type = /obj/item/stack/sheet/mineral/plastitanium
+
/turf/closed/wall/shuttle/smooth
name = "wall"
icon = 'icons/turf/walls/shuttle_wall.dmi'
icon_state = "shuttle"
walltype = "shuttle"
+ sheet_type = /obj/item/stack/sheet/mineral/titanium
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
canSmoothWith = list(/turf/closed/wall/shuttle/smooth, /obj/structure/window/shuttle, /obj/structure/shuttle, /obj/machinery/door/airlock/glass, /obj/machinery/door/airlock/shuttle)
@@ -198,11 +204,3 @@
. = ..()
T.transform = transform
-
-//why don't shuttle walls habe smoothwall? now i gotta do rotation the dirty way <- DOUBLE GOOFBALL FOR NOT CALLING PARENT
-/turf/closed/wall/shuttle/shuttleRotate(rotation)
- if(smooth)
- return ..()
- var/matrix/M = transform
- M.Turn(rotation)
- transform = M
diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm
index 444ee09f3d3..ad1f6a01d9b 100644
--- a/code/modules/cargo/exports/materials.dm
+++ b/code/modules/cargo/exports/materials.dm
@@ -73,6 +73,12 @@
material_id = MAT_SILVER
message = "cm3 of silver"
+// Titanium.
+/datum/export/material/titanium
+ cost = 250
+ material_id = MAT_TITANIUM
+ message = "cm3 of titanium"
+
// Metal. Common building material.
/datum/export/material/metal
message = "cm3 of metal"
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index 43e0b8cac4d..d2357687489 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -26,83 +26,93 @@
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_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
+ //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 ")
@@ -163,6 +173,11 @@
machine.selected_clown = 1
else
machine.selected_clown = 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
@@ -190,6 +205,7 @@
var/ore_iron = 0;
var/ore_clown = 0;
var/ore_adamantine = 0;
+ var/ore_titanium = 0;
var/selected_gold = 0
var/selected_silver = 0
var/selected_diamond = 0
@@ -198,86 +214,102 @@
var/selected_uranium = 0
var/selected_iron = 0
var/selected_clown = 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)
+ if (selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_titanium)
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)
+ if (selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && !selected_silver && selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && !selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && selected_uranium && !selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && selected_plasma && !selected_uranium && selected_iron && !selected_clown && !selected_titanium)
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)
+ if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && selected_clown && !selected_titanium)
if (ore_clown > 0)
- ore_clown--;
+ ore_clown--
generate_mineral(/obj/item/stack/sheet/mineral/bananium)
else
on = 0
continue
+ if (!selected_glass && !selected_gold && !selected_silver && !selected_diamond && !selected_plasma && !selected_uranium && !selected_iron && !selected_clown && 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_titanium)
+ if (ore_titanium > 0)
+ ore_titanium--
+ ore_plasma--
+ generate_mineral(/obj/item/stack/sheet/mineral/plastitanium)
+ else
+ on = 0
+ continue
//THESE TWO ARE CODED FOR URIST TO USE WHEN HE GETS AROUND TO IT.
//They were coded on 18 Feb 2012. If you're reading this in 2015, then firstly congratulations on the world not ending on 21 Dec 2012 and secondly, Urist is apparently VERY lazy. ~Errorage
+ //Even in the dark year of 2016, where /tg/ is dead, Urist still hasn't finished this -Bawhoppennn
/*if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 1 && selected_plasma == 0 && selected_uranium == 1 && selected_iron == 0 && selected_clown == 0)
if (ore_uranium >= 2 && ore_diamond >= 1)
ore_uranium -= 2
@@ -395,4 +427,4 @@
/obj/machinery/mineral/processing_unit/proc/generate_mineral(P)
var/O = new P(src)
- unload_mineral(O)
\ No newline at end of file
+ unload_mineral(O)
diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm
index 181d50a87e0..0d067eeb2b1 100644
--- a/code/modules/mining/machine_redemption.dm
+++ b/code/modules/mining/machine_redemption.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))
+ 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))
speed_process = 1
/obj/machinery/mineral/ore_redemption/New()
@@ -30,7 +30,7 @@
/obj/item/weapon/circuitboard/machine/ore_redemption
name = "circuit board (Ore Redemption)"
build_path = /obj/machinery/mineral/ore_redemption
- origin_tech = "programming=2;engineering=2;plasmatech=3"
+ origin_tech = "programming=1;engineering=2"
req_components = list(
/obj/item/weapon/stock_parts/console_screen = 1,
/obj/item/weapon/stock_parts/matter_bin = 1,
@@ -98,6 +98,17 @@
D.createmessage("Ore Redemption Machine", "New minerals available!", msg, 1, 0)
/obj/machinery/mineral/ore_redemption/attackby(obj/item/weapon/W, mob/user, params)
+ if (!powered())
+ return
+ if(istype(W,/obj/item/weapon/card/id))
+ var/obj/item/weapon/card/id/I = user.get_active_hand()
+ if(istype(I) && !istype(inserted_id))
+ if(!user.drop_item())
+ return
+ I.forceMove(src)
+ inserted_id = I
+ interact(user)
+ return
if(exchange_parts(user, W))
return
@@ -112,17 +123,6 @@
if(default_deconstruction_crowbar(W))
return
- if (!powered())
- return
- if(istype(W,/obj/item/weapon/card/id))
- var/obj/item/weapon/card/id/I = user.get_active_hand()
- if(istype(I) && !istype(inserted_id))
- if(!user.drop_item())
- return
- I.loc = src
- inserted_id = I
- interact(user)
- return
return ..()
/obj/machinery/mineral/ore_redemption/deconstruction()
@@ -161,12 +161,22 @@
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
")
+ 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/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
")
dat += text("