diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 7695bbdccfd..ed0be573847 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -171,6 +171,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define MAT_STEEL "steel" #define MAT_PLASTIC "plastic" #define MAT_GLASS "glass" +#define MAT_COPPER "copper" #define MAT_SILVER "silver" #define MAT_GOLD "gold" #define MAT_URANIUM "uranium" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 0978350e9e5..b8057bce0fb 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -42,6 +42,7 @@ MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, + MAT_COPPER = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, @@ -51,8 +52,8 @@ MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, - "bananium" = 0, - "silencium" = 0, + MAT_BANANIUM = 0, + MAT_SILENCIUM = 0, MAT_SUPERMATTER = 0) var/res_max_amount = 200000 diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index f17d8c19cbc..184d8ac47c5 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -26,6 +26,7 @@ MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, + MAT_COPPER = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 16ed676def4..376f8bbbd8a 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -24,6 +24,11 @@ drop_sound = 'sound/items/drop/axe.ogg' pickup_sound = 'sound/items/pickup/axe.ogg' +/obj/item/material/knife/machete/hatchet/bone + name = "bone hatchet" + desc = "A broad, flat piece of bone knapped to a sharp edge. A truly primitive weapon." + icon_state = "hatchet_bone" + /obj/item/material/knife/machete/hatchet/unathiknife name = "duelling knife" desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude." diff --git a/code/game/objects/items/weapons/tools/crowbar.dm b/code/game/objects/items/weapons/tools/crowbar.dm index f63945dd5cc..e9030b01cb9 100644 --- a/code/game/objects/items/weapons/tools/crowbar.dm +++ b/code/game/objects/items/weapons/tools/crowbar.dm @@ -30,6 +30,19 @@ icon_state = "red_crowbar" item_state = "crowbar_red" +/obj/item/tool/crowbar/bone + name = "bone crowbar" + desc = "A sturdy, carved bone used to remove floors and to pry open doors." + icon = 'icons/obj/tools.dmi' + icon_state = "crowbar_bone" + toolspeed = 1.25 + +/obj/item/tool/crowbar/brass + name = "brass crowbar" + desc = "An etched piece of brass plated metal, used to remove floors and to pry open doors." + icon = 'icons/obj/tools.dmi' + icon_state = "crowbar_brass" + toolspeed = 0.75 /datum/category_item/catalogue/anomalous/precursor_a/alien_crowbar name = "Precursor Alpha Object - Hard Light Pry Tool" diff --git a/code/game/objects/items/weapons/tools/screwdriver.dm b/code/game/objects/items/weapons/tools/screwdriver.dm index 0aa8823e93f..3c0694f491f 100644 --- a/code/game/objects/items/weapons/tools/screwdriver.dm +++ b/code/game/objects/items/weapons/tools/screwdriver.dm @@ -70,6 +70,20 @@ return TRUE +/obj/item/tool/screwdriver/bone + name = "bone screwdriver" + desc = "A whittled bone with a tapered point, used to remove screws, or stab." + icon_state = "screwdriver_bone" + random_color = FALSE + toolspeed = 1.25 + +/obj/item/tool/screwdriver/brass + name = "brass screwdriver" + desc = "A screwdriver with a very sharp tip, that ensures fine deliberate adjustments." + icon_state = "screwdriver_brass" + toolspeed = 0.75 + random_color = FALSE + /datum/category_item/catalogue/anomalous/precursor_a/alien_screwdriver name = "Precursor Alpha Object - Hard Light Torgue Tool" desc = "This appears to be a tool, with a solid handle, and a thin hard light \ diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm index 86f6e319929..f471504a3d2 100644 --- a/code/game/objects/items/weapons/tools/weldingtool.dm +++ b/code/game/objects/items/weapons/tools/weldingtool.dm @@ -377,6 +377,23 @@ toolspeed = 2 eye_safety_modifier = 1 // Safer on eyes. +/obj/item/weldingtool/bone + name = "bone welding tool" + desc = "A curious welding tool that uses an anomalous ignition method." + icon_state = "ashwelder" + max_fuel = 20 + matter = list(MAT_METAL = 30, MAT_BONE = 10) + toolspeed = 1.5 + eye_safety_modifier = 1 // Safer on eyes. + +/obj/item/weldingtool/brass + name = "brass welding tool" + desc = "A brass plated welder utilizing an antiquated, yet incredibly efficient, fuel system." + icon_state = "brasswelder" + max_fuel = 40 + matter = list(DEFAULT_WALL_MATERIAL = 70, MAT_BRASS = 60) + toolspeed = 0.75 + /datum/category_item/catalogue/anomalous/precursor_a/alien_welder name = "Precursor Alpha Object - Self Refueling Exothermic Tool" desc = "An unwieldly tool which somewhat resembles a weapon, due to \ diff --git a/code/game/objects/items/weapons/tools/wirecutters.dm b/code/game/objects/items/weapons/tools/wirecutters.dm index f540ff32502..9bb48530e83 100644 --- a/code/game/objects/items/weapons/tools/wirecutters.dm +++ b/code/game/objects/items/weapons/tools/wirecutters.dm @@ -45,6 +45,19 @@ /obj/item/tool/wirecutters/is_wirecutter() return TRUE +/obj/item/tool/wirecutters/bone + name = "bone wirecutters" + desc = "Dull wirecutters knapped from bone." + icon_state = "cutters_bone" + toolspeed = 1.25 + random_color = FALSE + +/obj/item/tool/wirecutters/brass + name = "brass wirecutters" + desc = "Brass plated wirecutters that never seem to lose their edge." + icon_state = "cutters_brass" + toolspeed = 0.75 + random_color = FALSE /datum/category_item/catalogue/anomalous/precursor_a/alien_wirecutters name = "Precursor Alpha Object - Wire Seperator" diff --git a/code/game/objects/items/weapons/tools/wrench.dm b/code/game/objects/items/weapons/tools/wrench.dm index be26cce3a01..80aa5c389a3 100644 --- a/code/game/objects/items/weapons/tools/wrench.dm +++ b/code/game/objects/items/weapons/tools/wrench.dm @@ -21,6 +21,18 @@ /obj/item/tool/wrench/is_wrench() return TRUE +/obj/item/tool/wrench/bone + name = "bone wrench" + desc = "A primitive wrench carved from bone. It does not grip consistently." + icon_state = "wrench_bone" + toolspeed = 1.25 + +/obj/item/tool/wrench/brass + name = "brass wrench" + desc = "A brass plated wrench. Its finely tuned mechanism allows for a strong grip." + icon_state = "wrench_brass" + toolspeed = 0.75 + /obj/item/tool/wrench/cyborg name = "automatic wrench" desc = "An advanced robotic wrench. Can be found in industrial synthetic shells." diff --git a/code/modules/materials/fifty_spawner_mats.dm b/code/modules/materials/fifty_spawner_mats.dm index 510861e6fe5..ec12679b6b5 100644 --- a/code/modules/materials/fifty_spawner_mats.dm +++ b/code/modules/materials/fifty_spawner_mats.dm @@ -128,6 +128,14 @@ name = "stack of reinforced borosilicate glass" type_to_spawn = /obj/item/stack/material/glass/phoronrglass +/obj/fiftyspawner/brass + name = "stack of brass" + type_to_spawn = /obj/item/stack/material/brass + +/obj/fiftyspawner/copper + name = "stack of copper" + type_to_spawn = /obj/item/stack/material/copper + //R-UST port /obj/fiftyspawner/deuterium name = "stack of deuterium" diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index a3dd34b0c7a..312e2ddd324 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -505,3 +505,12 @@ no_variants = FALSE drop_sound = 'sound/items/drop/boots.ogg' pickup_sound = 'sound/items/drop/boots.ogg' + +/obj/item/stack/material/copper + name = "copper" + desc = "This common metal remains a popular choice as an electrical and thermal conductor due to how easily it can be worked." + icon_state = "sheet-copper" + default_type = "copper" + no_variants = FALSE + drop_sound = 'sound/items/drop/boots.ogg' + pickup_sound = 'sound/items/drop/boots.ogg' diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 0a65ad46db0..e25c9772d15 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -918,7 +918,7 @@ var/list/name_to_material icon_base = "stone" icon_reinf = "reinf_stone" integrity = 65 //a bit stronger than regular wood - hardness = 20 + hardness = 20 weight = 20 //likewise, heavier /datum/material/cardboard @@ -1215,3 +1215,11 @@ var/list/name_to_material icon_colour = "#CAC955" integrity = 150 stack_type = /obj/item/stack/material/brass + +/datum/material/copper + name = "copper" + icon_colour = "#b45c13" + weight = 15 + hardness = 30 + conductivity = 35 + stack_type = /obj/item/stack/material/copper diff --git a/code/modules/mining/alloys.dm b/code/modules/mining/alloys.dm index 54279b9b376..18d8d19c7c5 100644 --- a/code/modules/mining/alloys.dm +++ b/code/modules/mining/alloys.dm @@ -44,3 +44,10 @@ "sand" = 2 ) product = /obj/item/stack/material/glass/phoronglass + +/datum/alloy/brass + metaltag = "brass" + requires = list( + "copper" = 1, + "sand" = 1 + ) diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index 24659c9a9dc..9944f15b070 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -22,6 +22,7 @@ "uranium" = /obj/item/ore/uranium, "gold" = /obj/item/ore/gold, "silver" = /obj/item/ore/silver, + "copper" = /obj/item/ore/copper, "diamond" = /obj/item/ore/diamond, "phoron" = /obj/item/ore/phoron, "osmium" = /obj/item/ore/osmium, diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index c70f24c96a9..8aea24546b5 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -50,7 +50,7 @@ switch(metal) if("silicates", "carbon", "hematite", "marble") ore_type = "surface minerals" - if("gold", "silver", "diamond", "lead") + if("gold", "silver", "diamond", "lead", "copper") ore_type = "precious metals" if("uranium") ore_type = "nuclear fuel" diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index af13fa445f8..a5370c9d6b4 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -174,6 +174,7 @@ "hematite" = 1, "carbon" = 1, "phoron" = 15, + "copper" = 15, "silver" = 16, "gold" = 18, "marble" = 20, diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 374c9f6a659..9faabf08986 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -58,6 +58,11 @@ origin_tech = list(TECH_MATERIAL = 2) material = "phoron" +/obj/item/ore/copper + name = "native copper ore" + icon_state = "ore_copper" + origin_tech = list(TECH_MATERIAL = 2) + material = "copper" /obj/item/ore/silver name = "native silver ore" icon_state = "ore_silver" diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index e3865ce0d6a..3adc246d2d1 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -180,3 +180,12 @@ GLOBAL_LIST_INIT(ore_data, initialize_ore_data()) spread_chance = 20 ore = /obj/item/ore/vaudium scan_icon = "mineral_rare" + +/datum/ore/copper + name = MAT_COPPER + display_name = "raw copper" + smelts_to = "copper" + result_amount = 4 + spread_chance = 20 + ore = /obj/item/ore/copper + scan_icon = "mineral_common" diff --git a/code/modules/random_map/noise/ore.dm b/code/modules/random_map/noise/ore.dm index e1141d90be0..14778ced6c7 100644 --- a/code/modules/random_map/noise/ore.dm +++ b/code/modules/random_map/noise/ore.dm @@ -57,6 +57,7 @@ T.resources["hematite"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) T.resources["gold"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) T.resources["silver"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources["copper"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) T.resources["marble"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) T.resources["diamond"] = 0 @@ -68,6 +69,7 @@ else if(current_cell < deep_val) // Rare metals. T.resources["gold"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) T.resources["silver"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources["copper"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) T.resources["uranium"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) T.resources["phoron"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) T.resources["osmium"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) @@ -89,6 +91,7 @@ T.resources["hematite"] = 0 T.resources["gold"] = 0 T.resources["silver"] = 0 + T.resources["copper"] = 0 return /datum/random_map/noise/ore/get_map_char(var/value) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index e3e776d2d3e..7bef03a5cad 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -16,7 +16,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, MAT_COPPER = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 365e14157a9..6591065848d 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -15,7 +15,7 @@ var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, MAT_COPPER = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm index fad70cdcb2d..72ed3469bcf 100644 --- a/code/modules/xenoarcheaology/finds/find_spawning.dm +++ b/code/modules/xenoarcheaology/finds/find_spawning.dm @@ -179,6 +179,7 @@ possible_spawns += /obj/item/stack/material/phoron possible_spawns += /obj/item/stack/material/gold possible_spawns += /obj/item/stack/material/silver + possible_spawns += /obj/item/stack/material/copper possible_spawns += /obj/item/stack/material/uranium possible_spawns += /obj/item/stack/material/sandstone possible_spawns += /obj/item/stack/material/silver diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index 86920d7f1b4..a3b2068780d 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 8ef5423268a..d67f24868a3 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 98c5c377e3d..5e20be5534c 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/stacks.dmi b/icons/obj/stacks.dmi index ee8c6144791..7e1d24677fd 100644 Binary files a/icons/obj/stacks.dmi and b/icons/obj/stacks.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 8f1245aca3f..20f7fa6a80c 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 1d2ef99c319..914c4730894 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 5f72c9624f2..57f590b8d76 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ