diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index f6175335165..ccc6f932d48 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -12,6 +12,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). var/g_amount = 0 var/gold_amount = 0 var/diamond_amount = 0 + var/uranium_amount = 0 var/max_material_amount = 75000.0 New() @@ -46,7 +47,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). return proc/TotalMaterials() - return g_amount + gold_amount + diamond_amount + return g_amount + gold_amount + diamond_amount + uranium_amount attackby(var/obj/item/O as obj, var/mob/user as mob) if (shocked) @@ -85,19 +86,23 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). if(diamond_amount >= 2000) var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc) G.amount = round(diamond_amount / 2000) + if(uranium_amount >= 2000) + var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc) + G.amount = round(uranium_amount / 2000) del(src) return 1 else user << "\red You can't load the [src.name] while it's opened." return 1 if (disabled) + user << "\The [name] appears to not be working!" return if (!linked_console) user << "\The [name] must be linked to an R&D console first!" return 1 if (O.is_open_container()) return 1 - if (!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond)) + if (!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond) && !istype(O, /obj/item/stack/sheet/mineral/uranium)) user << "\red You cannot insert this item into the [name]!" return 1 if (stat) @@ -128,6 +133,8 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). gold_amount += amount * 2000 else if(istype(stack, /obj/item/stack/sheet/mineral/diamond)) diamond_amount += amount * 2000 + else if(istype(stack, /obj/item/stack/sheet/mineral/uranium)) + uranium_amount += amount * 2000 stack.use(amount) busy = 0 src.updateUsrDialog() diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index ab4d78570ba..5b50efc41c5 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -429,6 +429,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M])) if("$diamond") linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M])) + if("$uranium") + linked_imprinter.uranium_amount = max(0, (linked_imprinter.uranium_amount-being_built.materials[M])) else linked_imprinter.reagents.remove_reagent(M, being_built.materials[M]) var/obj/new_item = new being_built.build_path(src) @@ -500,6 +502,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, if("diamond") type = /obj/item/stack/sheet/mineral/diamond res_amount = "diamond_amount" + if("uranium") + type = /obj/item/stack/sheet/mineral/uranium + res_amount = "uranium_amount" if(ispath(type) && hasvar(linked_imprinter, res_amount)) var/obj/item/stack/sheet/sheet = new type(linked_imprinter.loc) var/available_num_sheets = round(linked_imprinter.vars[res_amount]/sheet.perunit) @@ -851,6 +856,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(D.materials[M] > linked_imprinter.gold_amount) check_materials = 0 if("$diamond") if(D.materials[M] > linked_imprinter.diamond_amount) check_materials = 0 + if("$uranium") + if(D.materials[M] > linked_imprinter.uranium_amount) check_materials = 0 else if (!linked_imprinter.reagents.has_reagent(M, D.materials[M])) check_materials = 0 if (check_materials) @@ -891,6 +898,13 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(linked_imprinter.diamond_amount >= 2000) dat += "(1 Sheet) " if(linked_imprinter.diamond_amount >= 10000) dat += "(5 Sheets) " if(linked_imprinter.diamond_amount >= 2000) dat += "(Max Sheets)" + dat += "
" + //Uranium + dat += "* [linked_imprinter.uranium_amount] cm3 of Uranium || " + dat += "Eject: " + if(linked_imprinter.uranium_amount >= 2000) dat += "(1 Sheet) " + if(linked_imprinter.uranium_amount >= 10000) dat += "(5 Sheets) " + if(linked_imprinter.uranium_amount >= 2000) dat += "(Max Sheets)" user << browse("Research and Development Console
[dat]", "window=rdconsole;size=575x400") onclose(user, "rdconsole") diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 137d0ed8565..40b534bf0eb 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -225,7 +225,7 @@ datum/tech/programming datum/tech/syndicate name = "Illegal Technologies Research" - desc = "The study of technologies that violate Nanotrassen regulations." + desc = "The study of technologies that violate standard Nanotrasen regulations." id = "syndicate" /*