From 17aca2f8ed0caab937e047a338ddfc6ddf802526 Mon Sep 17 00:00:00 2001 From: bgobandit Date: Sun, 3 Jul 2016 21:57:27 -0400 Subject: [PATCH] Ore redemption machine streamlining. (#19062) Makes the ore redemptor machine 100000% less spammy to request consoles, and prints a list of what exactly is in the machine. The new non-spamminess means chemistry and the bar can now get a notification, because there will only be one message per load. Adds bluespace polycrystals, basically a "smelted" "sheet" of bluespace crystals, to the game, in order to make the ore redemptor accept them. --- code/modules/mining/machine_redemption.dm | 14 +++++----- code/modules/telesci/bscrystal.dm | 31 ++++++++++++++++++++++ icons/obj/telescience.dmi | Bin 2584 -> 2637 bytes 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index fbd689df89e..e22d858109a 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), ("bananium" = 60)) + var/list/ore_values = list(("sand" = 1), ("iron" = 1), ("plasma" = 15), ("silver" = 16), ("gold" = 18), ("uranium" = 30), ("diamond" = 50), ("bluespace crystal" = 50), ("bananium" = 60)) speed_process = 1 /obj/machinery/mineral/ore_redemption/New() @@ -59,11 +59,6 @@ var/obj/item/stack/sheet/s = new processed_sheet(src,0) s.amount = 0 stack_list[processed_sheet] = s - if(s.name != "glass" && s.name != "metal") //we can get these from cargo anyway - var/msg = "[capitalize(s.name)] sheets are now available in the Cargo Bay." - for(var/obj/machinery/requests_console/D in allConsoles) - if(D.department == "Science" || D.department == "Robotics" || D.department == "Research Director's Desk" || (D.department == "Chemistry" && (s.name == "uranium" || s.name == "solid plasma"))) - D.createmessage("Ore Redemption Machine", "New minerals available!", msg, 1, 0) var/obj/item/stack/sheet/storage = stack_list[processed_sheet] storage.amount += sheet_per_ore //Stack the sheets O.loc = null //Let the old sheet... @@ -93,6 +88,13 @@ else process_sheet(O) i++ + var/msg = "Now available in the Cargo Bay: \n" + for(var/s in stack_list) // Making an announcement for cargo + var/obj/item/stack/sheet/mats = stack_list[s] + msg += "[capitalize(mats.name)]: [mats.amount] sheets \n" + for(var/obj/machinery/requests_console/D in allConsoles) + if(D.department == "Science" || D.department == "Robotics" || D.department == "Research Director's Desk" || D.department == "Chemistry" || D.department == "Bar" ) + 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(exchange_parts(user, W)) diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index ae377c651c6..9501710cdd5 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -9,6 +9,7 @@ origin_tech = "bluespace=6;materials=3" points = 50 var/blink_range = 8 // The teleport range when crushed/thrown at someone. + refined_type = /obj/item/stack/sheet/bluespace_crystal /obj/item/weapon/ore/bluespace_crystal/New() ..() @@ -44,3 +45,33 @@ origin_tech = "bluespace=3;plasmatech=4" blink_range = 4 // Not as good as the organic stuff! points = 0 // nice try + refined_type = null + +// Polycrystals, aka stacks + +/obj/item/stack/sheet/bluespace_crystal + name = "bluespace polycrystal" + icon = 'icons/obj/telescience.dmi' + icon_state = "polycrystal" + desc = "A stable polycrystal, made of fused-together bluespace crystals. You could probably break one off." + origin_tech = "bluespace=6;minerals=3" + attack_verb = list("bluespace polybashed", "bluespace polybattered", "bluespace polybludgeoned", "bluespace polythrashed", "bluespace polysmashed") + +/obj/item/stack/sheet/bluespace_crystal/attack_self(mob/user) // to prevent the construction menu from ever happening + user << "You cannot crush the polycrystal in-hand, try breaking one off." + return + +/obj/item/stack/sheet/bluespace_crystal/attack_hand(mob/user) + if (user.get_inactive_hand() == src) + if(zero_amount()) // in this case, a sanity check + return + var/obj/item/weapon/ore/bluespace_crystal/BC = new(src) + user.put_in_hands(BC) + amount-- + if (amount == 0) + qdel(src) + user << "You break the final crystal off." + else user << "You break off a crystal." + else + ..() + return \ No newline at end of file diff --git a/icons/obj/telescience.dmi b/icons/obj/telescience.dmi index 0ae04b8e42c317e382b064cdf7d5b326e3b17821..514975af91424a7102116c6acfffe9d63d4a90f7 100644 GIT binary patch delta 2279 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 AHUIzs