diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 7f287a5b54b..4facfc4be78 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -83,7 +83,7 @@
force = 5.0
throwforce = 7.0
w_class = 2.0
- matter = list("metal" = 50)
+ matter = list("steel" = 50)
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")
/obj/item/weapon/cane/concealed
@@ -271,7 +271,7 @@
w_class = 2.0
throw_speed = 4
throw_range = 20
- matter = list("metal" = 100)
+ matter = list("steel" = 100)
origin_tech = "magnets=1"
/obj/item/weapon/staff
@@ -321,7 +321,7 @@
var/amount = 1.0
var/laying = 0.0
var/old_lay = null
- matter = list("metal" = 40)
+ matter = list("steel" = 40)
attack_verb = list("whipped", "lashed", "disciplined", "tickled")
suicide_act(mob/user)
@@ -345,7 +345,7 @@
name = "power control module"
icon_state = "power_mod"
desc = "Heavy-duty switching circuits for power control."
- matter = list("metal" = 50, "glass" = 50)
+ matter = list("steel" = 50, "glass" = 50)
/obj/item/weapon/module/power_control/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (istype(W, /obj/item/device/multitool))
@@ -467,35 +467,35 @@
desc = "A basic capacitor used in the construction of a variety of devices."
icon_state = "capacitor"
origin_tech = "powerstorage=1"
- matter = list("metal" = 50,"glass" = 50)
+ matter = list("steel" = 50,"glass" = 50)
/obj/item/weapon/stock_parts/scanning_module
name = "scanning module"
desc = "A compact, high resolution scanning module used in the construction of certain devices."
icon_state = "scan_module"
origin_tech = "magnets=1"
- matter = list("metal" = 50,"glass" = 20)
+ matter = list("steel" = 50,"glass" = 20)
/obj/item/weapon/stock_parts/manipulator
name = "micro-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "micro_mani"
origin_tech = "materials=1;programming=1"
- matter = list("metal" = 30)
+ matter = list("steel" = 30)
/obj/item/weapon/stock_parts/micro_laser
name = "micro-laser"
desc = "A tiny laser used in certain devices."
icon_state = "micro_laser"
origin_tech = "magnets=1"
- matter = list("metal" = 10,"glass" = 20)
+ matter = list("steel" = 10,"glass" = 20)
/obj/item/weapon/stock_parts/matter_bin
name = "matter bin"
desc = "A container for hold compressed matter awaiting re-construction."
icon_state = "matter_bin"
origin_tech = "materials=1"
- matter = list("metal" = 80)
+ matter = list("steel" = 80)
//Rank 2
@@ -504,7 +504,7 @@
desc = "An advanced capacitor used in the construction of a variety of devices."
origin_tech = "powerstorage=3"
rating = 2
- matter = list("metal" = 50,"glass" = 50)
+ matter = list("steel" = 50,"glass" = 50)
/obj/item/weapon/stock_parts/scanning_module/adv
name = "advanced scanning module"
@@ -512,7 +512,7 @@
icon_state = "scan_module"
origin_tech = "magnets=3"
rating = 2
- matter = list("metal" = 50,"glass" = 20)
+ matter = list("steel" = 50,"glass" = 20)
/obj/item/weapon/stock_parts/manipulator/nano
name = "nano-manipulator"
@@ -520,7 +520,7 @@
icon_state = "nano_mani"
origin_tech = "materials=3,programming=2"
rating = 2
- matter = list("metal" = 30)
+ matter = list("steel" = 30)
/obj/item/weapon/stock_parts/micro_laser/high
name = "high-power micro-laser"
@@ -528,7 +528,7 @@
icon_state = "high_micro_laser"
origin_tech = "magnets=3"
rating = 2
- matter = list("metal" = 10,"glass" = 20)
+ matter = list("steel" = 10,"glass" = 20)
/obj/item/weapon/stock_parts/matter_bin/adv
name = "advanced matter bin"
@@ -536,7 +536,7 @@
icon_state = "advanced_matter_bin"
origin_tech = "materials=3"
rating = 2
- matter = list("metal" = 80)
+ matter = list("steel" = 80)
//Rating 3
@@ -545,14 +545,14 @@
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
origin_tech = "powerstorage=5;materials=4"
rating = 3
- matter = list("metal" = 50,"glass" = 50)
+ matter = list("steel" = 50,"glass" = 50)
/obj/item/weapon/stock_parts/scanning_module/phasic
name = "phasic scanning module"
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
origin_tech = "magnets=5"
rating = 3
- matter = list("metal" = 50,"glass" = 20)
+ matter = list("steel" = 50,"glass" = 20)
/obj/item/weapon/stock_parts/manipulator/pico
name = "pico-manipulator"
@@ -560,7 +560,7 @@
icon_state = "pico_mani"
origin_tech = "materials=5,programming=2"
rating = 3
- matter = list("metal" = 30)
+ matter = list("steel" = 30)
/obj/item/weapon/stock_parts/micro_laser/ultra
name = "ultra-high-power micro-laser"
@@ -568,7 +568,7 @@
desc = "A tiny laser used in certain devices."
origin_tech = "magnets=5"
rating = 3
- matter = list("metal" = 10,"glass" = 20)
+ matter = list("steel" = 10,"glass" = 20)
/obj/item/weapon/stock_parts/matter_bin/super
name = "super matter bin"
@@ -576,7 +576,7 @@
icon_state = "super_matter_bin"
origin_tech = "materials=5"
rating = 3
- matter = list("metal" = 80)
+ matter = list("steel" = 80)
// Subspace stock parts
@@ -585,35 +585,35 @@
icon_state = "subspace_ansible"
desc = "A compact module capable of sensing extradimensional activity."
origin_tech = "programming=3;magnets=5;materials=4;bluespace=2"
- matter = list("metal" = 30,"glass" = 10)
+ matter = list("steel" = 30,"glass" = 10)
/obj/item/weapon/stock_parts/subspace/filter
name = "hyperwave filter"
icon_state = "hyperwave_filter"
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
origin_tech = "programming=4;magnets=2"
- matter = list("metal" = 30,"glass" = 10)
+ matter = list("steel" = 30,"glass" = 10)
/obj/item/weapon/stock_parts/subspace/amplifier
name = "subspace amplifier"
icon_state = "subspace_amplifier"
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
origin_tech = "programming=3;magnets=4;materials=4;bluespace=2"
- matter = list("metal" = 30,"glass" = 10)
+ matter = list("steel" = 30,"glass" = 10)
/obj/item/weapon/stock_parts/subspace/treatment
name = "subspace treatment disk"
icon_state = "treatment_disk"
desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
origin_tech = "programming=3;magnets=2;materials=5;bluespace=2"
- matter = list("metal" = 30,"glass" = 10)
+ matter = list("steel" = 30,"glass" = 10)
/obj/item/weapon/stock_parts/subspace/analyzer
name = "subspace wavelength analyzer"
icon_state = "wavelength_analyzer"
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
origin_tech = "programming=3;magnets=4;materials=4;bluespace=2"
- matter = list("metal" = 30,"glass" = 10)
+ matter = list("steel" = 30,"glass" = 10)
/obj/item/weapon/stock_parts/subspace/crystal
name = "ansible crystal"
@@ -627,7 +627,7 @@
icon_state = "subspace_transmitter"
desc = "A large piece of equipment used to open a window into the subspace dimension."
origin_tech = "magnets=5;materials=5;bluespace=3"
- matter = list("metal" = 50)
+ matter = list("steel" = 50)
/obj/item/weapon/ectoplasm
name = "ectoplasm"
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index d26f1a07892..a78eb9f57a2 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -8,7 +8,7 @@
item_state = "electronic"
throw_speed = 4
throw_range = 20
- matter = list("metal" = 500)
+ matter = list("steel" = 500)
var/obj/item/weapon/disk/nuclear/the_disk = null
var/active = 0
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 27236dd8fbf..a1ce1af8de3 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -798,7 +798,7 @@ datum/objective/heist/salvage
choose_target()
switch(rand(1,8))
if(1)
- target = "metal"
+ target = "steel"
target_amount = 300
if(2)
target = "glass"
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index f6d2820d5bb..c0d743d379e 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -866,7 +866,7 @@ Just a object used in constructing air alarms
icon_state = "door_electronics"
desc = "Looks like a circuit. Probably is."
w_class = 2.0
- matter = list("metal" = 50, "glass" = 50)
+ matter = list("steel" = 50, "glass" = 50)
/*
@@ -1188,7 +1188,7 @@ Just a object used in constructing fire alarms
icon_state = "door_electronics"
desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\""
w_class = 2.0
- matter = list("metal" = 50, "glass" = 50)
+ matter = list("steel" = 50, "glass" = 50)
/*
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index d537d113f9b..54e242c0f16 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -9,8 +9,8 @@
active_power_usage = 2000
var/list/machine_recipes
- var/list/stored_material = list("metal" = 0, "glass" = 0)
- var/list/storage_capacity = list("metal" = 0, "glass" = 0)
+ var/list/stored_material = list("steel" = 0, "glass" = 0)
+ var/list/storage_capacity = list("steel" = 0, "glass" = 0)
var/show_category = "All"
var/hacked = 0
@@ -279,18 +279,20 @@
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
man_rating += M.rating
- storage_capacity["metal"] = mb_rating * 25000
+ storage_capacity["steel"] = mb_rating * 25000
storage_capacity["glass"] = mb_rating * 12500
build_time = 50 / man_rating
mat_efficiency = 1.1 - man_rating * 0.1// Normally, price is 1.25 the amount of material, so this shouldn't go higher than 0.8. Maximum rating of parts is 3
/obj/machinery/autolathe/dismantle()
- var/list/sheets = list("metal" = /obj/item/stack/sheet/metal, "glass" = /obj/item/stack/sheet/glass)
for(var/mat in stored_material)
- var/T = sheets[mat]
- var/obj/item/stack/sheet/S = new T
+ var/material/M = name_to_mineral[mat]
+ if(!istype(M))
+ continue
+ var/obj/item/stack/sheet/S = new M.stack_type(get_turf(src))
if(stored_material[mat] > S.perunit)
S.amount = round(stored_material[mat] / S.perunit)
- S.loc = loc
+ else
+ del(S)
..()
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index b9aa81e8582..312e6de7f11 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -6,7 +6,7 @@
w_class = 2
anchored = 0
- matter = list("metal" = 700,"glass" = 300)
+ matter = list("steel" = 700,"glass" = 300)
// Motion, EMP-Proof, X-Ray
var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/osmium, /obj/item/weapon/stock_parts/scanning_module)
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 69c4ee28571..565d50c452d 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -573,7 +573,7 @@ About the new airlock wires panel:
if (src.isElectrified())
if (istype(mover, /obj/item))
var/obj/item/i = mover
- if (i.matter && ("metal" in i.matter) && i.matter["metal"] > 0)
+ if (i.matter && ("steel" in i.matter) && i.matter["steel"] > 0)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index 32e356de3fe..f1299ea07c3 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -6,7 +6,7 @@
icon_state = "door_electronics"
w_class = 2.0 //It should be tiny! -Agouri
- matter = list("metal" = 50,"glass" = 50)
+ matter = list("steel" = 50,"glass" = 50)
req_access = list(access_engine)
diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm
index 0c3ae561157..5489856ba5f 100644
--- a/code/game/machinery/robot_fabricator.dm
+++ b/code/game/machinery/robot_fabricator.dm
@@ -22,7 +22,7 @@
if(!M.get_amount())
return
while(metal_amount < 150000 && M.amount)
- src.metal_amount += O.matter["metal"] /*O:height * O:width * O:length * 100000.0*/
+ src.metal_amount += O.matter["steel"] /*O:height * O:width * O:length * 100000.0*/
M.use(1)
count++
diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm
index 2a6e2b62144..30a541f71e0 100644
--- a/code/game/mecha/equipment/mecha_equipment.dm
+++ b/code/game/mecha/equipment/mecha_equipment.dm
@@ -9,7 +9,7 @@
force = 5
origin_tech = "materials=2"
construction_time = 100
- construction_cost = list("metal"=10000)
+ construction_cost = list("steel"=10000)
var/equip_cooldown = 0
var/equip_ready = 1
var/energy_drain = 0
@@ -100,11 +100,11 @@
if (ispath(required_type))
return istype(M, required_type)
-
+
for (var/path in required_type)
if (istype(M, path))
return 1
-
+
return 0
/obj/item/mecha_parts/mecha_equipment/proc/attach(obj/mecha/M as obj)
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index 08d6f2cca49..e571f2468b8 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -6,7 +6,7 @@
origin_tech = "programming=2;biotech=3"
energy_drain = 20
range = MELEE
- construction_cost = list("metal"=5000,"glass"=10000)
+ construction_cost = list("steel"=5000,"glass"=10000)
reliability = 1000
equip_cooldown = 20
var/mob/living/carbon/occupant = null
@@ -390,7 +390,7 @@
equip_cooldown = 10
origin_tech = "materials=3;biotech=4;magnets=4;programming=3"
construction_time = 200
- construction_cost = list("metal"=3000,"glass"=2000)
+ construction_cost = list("steel"=3000,"glass"=2000)
required_type = /obj/mecha/medical
New()
diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm
index 4d799ef928b..d1c5c197480 100644
--- a/code/game/mecha/equipment/tools/tools.dm
+++ b/code/game/mecha/equipment/tools/tools.dm
@@ -123,7 +123,7 @@
desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
icon_state = "mecha_diamond_drill"
origin_tech = "materials=4;engineering=3"
- construction_cost = list("metal"=10000,"diamond"=6500)
+ construction_cost = list("steel"=10000,"diamond"=6500)
equip_cooldown = 20
force = 15
@@ -255,7 +255,7 @@
energy_drain = 250
range = MELEE|RANGED
construction_time = 1200
- construction_cost = list("metal"=30000,"phoron"=25000,"silver"=20000,"gold"=20000)
+ construction_cost = list("steel"=30000,"phoron"=25000,"silver"=20000,"gold"=20000)
var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock.
var/disabled = 0 //malf
@@ -505,7 +505,7 @@
equip_cooldown = 10
energy_drain = 50
range = 0
- construction_cost = list("metal"=20000,"silver"=5000)
+ construction_cost = list("steel"=20000,"silver"=5000)
var/deflect_coeff = 1.15
var/damage_coeff = 0.8
@@ -555,7 +555,7 @@
equip_cooldown = 10
energy_drain = 50
range = 0
- construction_cost = list("metal"=20000,"gold"=5000)
+ construction_cost = list("steel"=20000,"gold"=5000)
var/deflect_coeff = 1.15
var/damage_coeff = 0.8
@@ -626,7 +626,7 @@
equip_cooldown = 20
energy_drain = 100
range = 0
- construction_cost = list("metal"=10000,"gold"=1000,"silver"=2000,"glass"=5000)
+ construction_cost = list("steel"=10000,"gold"=1000,"silver"=2000,"glass"=5000)
var/health_boost = 2
var/datum/global_iterator/pr_repair_droid
var/icon/droid_overlay
@@ -716,7 +716,7 @@
equip_cooldown = 10
energy_drain = 0
range = 0
- construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000)
+ construction_cost = list("steel"=10000,"gold"=2000,"silver"=3000,"glass"=2000)
var/datum/global_iterator/pr_energy_relay
var/coeff = 100
var/list/use_channels = list(EQUIP,ENVIRON,LIGHT)
@@ -828,7 +828,7 @@
equip_cooldown = 10
energy_drain = 0
range = MELEE
- construction_cost = list("metal"=10000,"silver"=500,"glass"=1000)
+ construction_cost = list("steel"=10000,"silver"=500,"glass"=1000)
var/datum/global_iterator/pr_mech_generator
var/coeff = 100
var/obj/item/stack/sheet/fuel
@@ -963,7 +963,7 @@
desc = "Generates power using uranium. Pollutes the environment."
icon_state = "tesla"
origin_tech = "powerstorage=3;engineering=3"
- construction_cost = list("metal"=10000,"silver"=500,"glass"=1000)
+ construction_cost = list("steel"=10000,"silver"=500,"glass"=1000)
max_fuel = 50000
fuel_per_cycle_idle = 10
fuel_per_cycle_active = 30
@@ -1074,7 +1074,7 @@
origin_tech = "engineering=1;biotech=1"
energy_drain = 10
range = MELEE
- construction_cost = list("metal"=5000,"glass"=5000)
+ construction_cost = list("steel"=5000,"glass"=5000)
reliability = 1000
equip_cooldown = 20
var/mob/living/carbon/occupant = null
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 3d36efea9c8..c5235693c74 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -274,7 +274,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang//Because I am a heartless bastard -Sieve
name = "\improper SOP-6 grenade launcher"
projectile = /obj/item/weapon/grenade/flashbang/clusterbang
- construction_cost = list("metal"=20000,"gold"=6000,"uranium"=6000)
+ construction_cost = list("steel"=20000,"gold"=6000,"uranium"=6000)
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang/limited/get_equip_info()//Limited version of the clusterbang launcher that can't reload
return "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]\[[src.projectiles]\]"
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index f000499ffdc..f517aca58a8 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -17,7 +17,7 @@
var/time_coeff = 1.5 //can be upgraded with research
var/resource_coeff = 1.5 //can be upgraded with research
var/list/resources = list(
- "metal"=0,
+ "steel"=0,
"glass"=0,
"gold"=0,
"silver"=0,
@@ -719,7 +719,7 @@
/obj/machinery/mecha_part_fabricator/proc/remove_material(var/mat_string, var/amount)
var/type
switch(mat_string)
- if("metal")
+ if("steel")
type = /obj/item/stack/sheet/metal
if("glass")
type = /obj/item/stack/sheet/glass
@@ -774,9 +774,9 @@
if(I.reliability != 100 && crit_fail)
I.crit_fail = 1
I.loc = src.loc
- if(src.resources["metal"] >= 3750)
+ if(src.resources["steel"] >= 3750)
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
- G.amount = round(src.resources["metal"] / G.perunit)
+ G.amount = round(src.resources["steel"] / G.perunit)
if(src.resources["glass"] >= 3750)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(src.resources["glass"] / G.perunit)
@@ -816,7 +816,7 @@
if(/obj/item/stack/sheet/mineral/phoron)
material = "phoron"
if(/obj/item/stack/sheet/metal)
- material = "metal"
+ material = "steel"
if(/obj/item/stack/sheet/glass)
material = "glass"
if(/obj/item/stack/sheet/mineral/uranium)
diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm
index 8fa25a35688..2ec911d14f1 100644
--- a/code/game/mecha/mecha_control_console.dm
+++ b/code/game/mecha/mecha_control_console.dm
@@ -69,7 +69,7 @@
icon_state = "motion2"
origin_tech = "programming=2;magnets=2"
construction_time = 50
- construction_cost = list("metal"=500)
+ construction_cost = list("steel"=500)
proc/get_mecha_info()
if(!in_mecha())
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index c3257bb61ba..eecc3b9095f 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -12,14 +12,14 @@
flags = CONDUCT
origin_tech = "programming=2;materials=2"
var/construction_time = 100
- var/list/construction_cost = list("metal"=20000,"glass"=5000)
+ var/list/construction_cost = list("steel"=20000,"glass"=5000)
/obj/item/mecha_parts/chassis
name="Mecha Chassis"
icon_state = "backbone"
var/datum/construction/construct
- construction_cost = list("metal"=20000)
+ construction_cost = list("steel"=20000)
flags = CONDUCT
attackby(obj/item/W as obj, mob/user as mob)
@@ -45,7 +45,7 @@
icon_state = "ripley_harness"
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
construction_time = 200
- construction_cost = list("metal"=40000,"glass"=15000)
+ construction_cost = list("steel"=40000,"glass"=15000)
/obj/item/mecha_parts/part/ripley_left_arm
name="Ripley Left Arm"
@@ -53,7 +53,7 @@
icon_state = "ripley_l_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
- construction_cost = list("metal"=25000)
+ construction_cost = list("steel"=25000)
/obj/item/mecha_parts/part/ripley_right_arm
name="Ripley Right Arm"
@@ -61,7 +61,7 @@
icon_state = "ripley_r_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
- construction_cost = list("metal"=25000)
+ construction_cost = list("steel"=25000)
/obj/item/mecha_parts/part/ripley_left_leg
name="Ripley Left Leg"
@@ -69,7 +69,7 @@
icon_state = "ripley_l_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
- construction_cost = list("metal"=30000)
+ construction_cost = list("steel"=30000)
/obj/item/mecha_parts/part/ripley_right_leg
name="Ripley Right Leg"
@@ -77,13 +77,13 @@
icon_state = "ripley_r_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 150
- construction_cost = list("metal"=30000)
+ construction_cost = list("steel"=30000)
///////// Gygax
/obj/item/mecha_parts/chassis/gygax
name = "Gygax Chassis"
- construction_cost = list("metal"=25000)
+ construction_cost = list("steel"=25000)
New()
..()
@@ -95,7 +95,7 @@
icon_state = "gygax_harness"
origin_tech = "programming=2;materials=2;biotech=3;engineering=3"
construction_time = 300
- construction_cost = list("metal"=50000,"glass"=20000)
+ construction_cost = list("steel"=50000,"glass"=20000)
/obj/item/mecha_parts/part/gygax_head
name="Gygax Head"
@@ -103,7 +103,7 @@
icon_state = "gygax_head"
origin_tech = "programming=2;materials=2;magnets=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=20000,"glass"=10000)
+ construction_cost = list("steel"=20000,"glass"=10000)
/obj/item/mecha_parts/part/gygax_left_arm
name="Gygax Left Arm"
@@ -111,7 +111,7 @@
icon_state = "gygax_l_arm"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
- construction_cost = list("metal"=30000)
+ construction_cost = list("steel"=30000)
/obj/item/mecha_parts/part/gygax_right_arm
name="Gygax Right Arm"
@@ -119,35 +119,35 @@
icon_state = "gygax_r_arm"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
- construction_cost = list("metal"=30000)
+ construction_cost = list("steel"=30000)
/obj/item/mecha_parts/part/gygax_left_leg
name="Gygax Left Leg"
icon_state = "gygax_l_leg"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
- construction_cost = list("metal"=35000)
+ construction_cost = list("steel"=35000)
/obj/item/mecha_parts/part/gygax_right_leg
name="Gygax Right Leg"
icon_state = "gygax_r_leg"
origin_tech = "programming=2;materials=2;engineering=3"
construction_time = 200
- construction_cost = list("metal"=35000)
+ construction_cost = list("steel"=35000)
/obj/item/mecha_parts/part/gygax_armour
name="Gygax Armour Plates"
icon_state = "gygax_armour"
origin_tech = "materials=6;combat=4;engineering=5"
construction_time = 600
- construction_cost = list("metal"=50000,"diamond"=10000)
+ construction_cost = list("steel"=50000,"diamond"=10000)
//////////// Durand
/obj/item/mecha_parts/chassis/durand
name = "Durand Chassis"
- construction_cost = list("metal"=25000)
+ construction_cost = list("steel"=25000)
New()
..()
@@ -158,49 +158,49 @@
icon_state = "durand_harness"
origin_tech = "programming=2;materials=3;biotech=3;engineering=3"
construction_time = 300
- construction_cost = list("metal"=55000,"glass"=20000,"silver"=10000)
+ construction_cost = list("steel"=55000,"glass"=20000,"silver"=10000)
/obj/item/mecha_parts/part/durand_head
name="Durand Head"
icon_state = "durand_head"
origin_tech = "programming=2;materials=3;magnets=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=25000,"glass"=10000,"silver"=3000)
+ construction_cost = list("steel"=25000,"glass"=10000,"silver"=3000)
/obj/item/mecha_parts/part/durand_left_arm
name="Durand Left Arm"
icon_state = "durand_l_arm"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=35000,"silver"=3000)
+ construction_cost = list("steel"=35000,"silver"=3000)
/obj/item/mecha_parts/part/durand_right_arm
name="Durand Right Arm"
icon_state = "durand_r_arm"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=35000,"silver"=3000)
+ construction_cost = list("steel"=35000,"silver"=3000)
/obj/item/mecha_parts/part/durand_left_leg
name="Durand Left Leg"
icon_state = "durand_l_leg"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=40000,"silver"=3000)
+ construction_cost = list("steel"=40000,"silver"=3000)
/obj/item/mecha_parts/part/durand_right_leg
name="Durand Right Leg"
icon_state = "durand_r_leg"
origin_tech = "programming=2;materials=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=40000,"silver"=3000)
+ construction_cost = list("steel"=40000,"silver"=3000)
/obj/item/mecha_parts/part/durand_armour
name="Durand Armour Plates"
icon_state = "durand_armour"
origin_tech = "materials=5;combat=4;engineering=5"
construction_time = 600
- construction_cost = list("metal"=50000,"uranium"=10000)
+ construction_cost = list("steel"=50000,"uranium"=10000)
@@ -248,42 +248,42 @@
name="Phazon Torso"
icon_state = "phazon_harness"
construction_time = 300
- construction_cost = list("metal"=35000,"glass"=10000,"phoron"=20000)
+ construction_cost = list("steel"=35000,"glass"=10000,"phoron"=20000)
origin_tech = "programming=5;materials=7;bluespace=6;powerstorage=6"
/obj/item/mecha_parts/part/phazon_head
name="Phazon Head"
icon_state = "phazon_head"
construction_time = 200
- construction_cost = list("metal"=15000,"glass"=5000,"phoron"=10000)
+ construction_cost = list("steel"=15000,"glass"=5000,"phoron"=10000)
origin_tech = "programming=4;materials=5;magnets=6"
/obj/item/mecha_parts/part/phazon_left_arm
name="Phazon Left Arm"
icon_state = "phazon_l_arm"
construction_time = 200
- construction_cost = list("metal"=20000,"phoron"=10000)
+ construction_cost = list("steel"=20000,"phoron"=10000)
origin_tech = "materials=5;bluespace=2;magnets=2"
/obj/item/mecha_parts/part/phazon_right_arm
name="Phazon Right Arm"
icon_state = "phazon_r_arm"
construction_time = 200
- construction_cost = list("metal"=20000,"phoron"=10000)
+ construction_cost = list("steel"=20000,"phoron"=10000)
origin_tech = "materials=5;bluespace=2;magnets=2"
/obj/item/mecha_parts/part/phazon_left_leg
name="Phazon Left Leg"
icon_state = "phazon_l_leg"
construction_time = 200
- construction_cost = list("metal"=20000,"phoron"=10000)
+ construction_cost = list("steel"=20000,"phoron"=10000)
origin_tech = "materials=5;bluespace=3;magnets=3"
/obj/item/mecha_parts/part/phazon_right_leg
name="Phazon Right Leg"
icon_state = "phazon_r_leg"
construction_time = 200
- construction_cost = list("metal"=20000,"phoron"=10000)
+ construction_cost = list("steel"=20000,"phoron"=10000)
origin_tech = "materials=5;bluespace=3;magnets=3"
///////// Odysseus
@@ -300,7 +300,7 @@
name="Odysseus Head"
icon_state = "odysseus_head"
construction_time = 100
- construction_cost = list("metal"=2000,"glass"=10000)
+ construction_cost = list("steel"=2000,"glass"=10000)
origin_tech = "programming=3;materials=2"
/obj/item/mecha_parts/part/odysseus_torso
@@ -309,7 +309,7 @@
icon_state = "odysseus_torso"
origin_tech = "programming=2;materials=2;biotech=2;engineering=2"
construction_time = 180
- construction_cost = list("metal"=25000)
+ construction_cost = list("steel"=25000)
/obj/item/mecha_parts/part/odysseus_left_arm
name="Odysseus Left Arm"
@@ -317,7 +317,7 @@
icon_state = "odysseus_l_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 120
- construction_cost = list("metal"=10000)
+ construction_cost = list("steel"=10000)
/obj/item/mecha_parts/part/odysseus_right_arm
name="Odysseus Right Arm"
@@ -325,7 +325,7 @@
icon_state = "odysseus_r_arm"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 120
- construction_cost = list("metal"=10000)
+ construction_cost = list("steel"=10000)
/obj/item/mecha_parts/part/odysseus_left_leg
name="Odysseus Left Leg"
@@ -333,7 +333,7 @@
icon_state = "odysseus_l_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 130
- construction_cost = list("metal"=15000)
+ construction_cost = list("steel"=15000)
/obj/item/mecha_parts/part/odysseus_right_leg
name="Odysseus Right Leg"
@@ -341,11 +341,11 @@
icon_state = "odysseus_r_leg"
origin_tech = "programming=2;materials=2;engineering=2"
construction_time = 130
- construction_cost = list("metal"=15000)
+ construction_cost = list("steel"=15000)
/*/obj/item/mecha_parts/part/odysseus_armour
name="Odysseus Carapace"
icon_state = "odysseus_armour"
origin_tech = "materials=3;engineering=3"
construction_time = 200
- construction_cost = list("metal"=15000)*/
+ construction_cost = list("steel"=15000)*/
diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm
index 0d386623ecd..f0cdeb16380 100644
--- a/code/game/objects/items/ashtray.dm
+++ b/code/game/objects/items/ashtray.dm
@@ -82,7 +82,7 @@
icon_broken = "ashtray_bork_bl"
max_butts = 14
health = 24.0
- matter = list("metal" = 30,"glass" = 30)
+ matter = list("steel" = 30,"glass" = 30)
empty_desc = "Cheap plastic ashtray."
throwforce = 3.0
die()
@@ -102,7 +102,7 @@
icon_broken = "ashtray_bork_br"
max_butts = 10
health = 72.0
- matter = list("metal" = 80)
+ matter = list("steel" = 80)
empty_desc = "Massive bronze ashtray."
throwforce = 10.0
diff --git a/code/game/objects/items/devices/debugger.dm b/code/game/objects/items/devices/debugger.dm
index faab1ee0548..c90b98b3e62 100644
--- a/code/game/objects/items/devices/debugger.dm
+++ b/code/game/objects/items/devices/debugger.dm
@@ -17,7 +17,7 @@
throw_speed = 3
desc = "You can use this on airlocks or APCs to try to hack them without cutting wires."
- matter = list("metal" = 50,"glass" = 20)
+ matter = list("steel" = 50,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index 7013b304192..e2d19edcc26 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -194,7 +194,7 @@
desc = "When a problem arises, SCIENCE is the solution."
icon_state = "sflash"
origin_tech = "magnets=2;combat=1"
- var/construction_cost = list("metal"=750,"glass"=750)
+ var/construction_cost = list("steel"=750,"glass"=750)
var/construction_time=100
/obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob)
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index fb3edec8732..bbba897c6f6 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -8,7 +8,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
- matter = list("metal" = 50,"glass" = 20)
+ matter = list("steel" = 50,"glass" = 20)
icon_action_button = "action_flashlight"
var/on = 0
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index a31a866bc7e..beb3bbc60e4 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -16,7 +16,7 @@
throw_speed = 3
desc = "You can use this on airlocks or APCs to try to hack them without cutting wires."
- matter = list("metal" = 50,"glass" = 20)
+ matter = list("steel" = 50,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index 8b2469d2dd4..ec056edb750 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -11,7 +11,7 @@
throw_speed = 1
throw_range = 2
- matter = list("metal" = 750,"waste" = 750)
+ matter = list("steel" = 750,"waste" = 750)
origin_tech = "powerstorage=3;syndicate=5"
var/drain_rate = 1000000 // amount of power to drain per tick
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index e7f9ec3b9fa..0109b360306 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -8,7 +8,7 @@
slot_flags = SLOT_BACK
w_class = 5.0
- matter = list("metal" = 10000,"glass" = 2500)
+ matter = list("steel" = 10000,"glass" = 2500)
var/code = 2
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index bfc9e8f69b4..a42c61c636f 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -4,7 +4,7 @@
var/radio_desc = ""
icon_state = "headset"
item_state = "headset"
- matter = list("metal" = 75)
+ matter = list("steel" = 75)
subspace_transmission = 1
canhear_range = 0 // can't hear headsets from very far away
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index dab778dcb90..ad08e81ff19 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -26,7 +26,7 @@
throw_range = 9
w_class = 2
- matter = list("glass" = 25,"metal" = 75)
+ matter = list("glass" = 25,"steel" = 75)
var/const/FREQ_LISTENING = 1
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 1a646d3fe1f..1ee6d2b80bd 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -16,7 +16,7 @@ REAGENT SCANNER
w_class = 2
item_state = "electronic"
- matter = list("metal" = 150)
+ matter = list("steel" = 150)
origin_tech = "magnets=1;engineering=1"
@@ -73,7 +73,7 @@ REAGENT SCANNER
w_class = 2.0
throw_speed = 5
throw_range = 10
- matter = list("metal" = 200)
+ matter = list("steel" = 200)
origin_tech = "magnets=1;biotech=1"
var/mode = 1;
@@ -238,7 +238,7 @@ REAGENT SCANNER
throw_speed = 4
throw_range = 20
- matter = list("metal" = 30,"glass" = 20)
+ matter = list("steel" = 30,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
@@ -285,7 +285,7 @@ REAGENT SCANNER
throw_speed = 4
throw_range = 20
- matter = list("metal" = 30,"glass" = 20)
+ matter = list("steel" = 30,"glass" = 20)
origin_tech = "magnets=2;biotech=2"
var/details = 0
@@ -358,7 +358,7 @@ REAGENT SCANNER
throwforce = 5
throw_speed = 4
throw_range = 20
- matter = list("metal" = 30,"glass" = 20)
+ matter = list("steel" = 30,"glass" = 20)
origin_tech = "magnets=2;biotech=2"
var/details = 0
@@ -417,7 +417,7 @@ REAGENT SCANNER
throwforce = 0
throw_speed = 3
throw_range = 7
- matter = list("metal" = 30,"glass" = 20)
+ matter = list("steel" = 30,"glass" = 20)
/obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob)
if (!isslime(M))
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 1e9405cbeb5..e9f54446105 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -5,7 +5,7 @@
item_state = "analyzer"
w_class = 2.0
- matter = list("metal" = 60,"glass" = 30)
+ matter = list("steel" = 60,"glass" = 30)
var/emagged = 0.0
var/recording = 0.0
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index da508a8a31f..981d9175e1b 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -6,7 +6,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
var/construction_time = 100
- var/list/construction_cost = list("metal"=20000,"glass"=5000)
+ var/list/construction_cost = list("steel"=20000,"glass"=5000)
var/list/part = null // Order of args is important for installing robolimbs.
var/sabotaged = 0 //Emagging limbs can have repercussions when installed as prosthetics.
var/model_info
@@ -33,7 +33,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "l_arm"
construction_time = 200
- construction_cost = list("metal"=18000)
+ construction_cost = list("steel"=18000)
part = list("l_arm","l_hand")
model_info = 1
@@ -42,7 +42,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "r_arm"
construction_time = 200
- construction_cost = list("metal"=18000)
+ construction_cost = list("steel"=18000)
part = list("r_arm","r_hand")
model_info = 1
@@ -51,7 +51,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "l_leg"
construction_time = 200
- construction_cost = list("metal"=15000)
+ construction_cost = list("steel"=15000)
part = list("l_leg","l_foot")
model_info = 1
@@ -60,7 +60,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "r_leg"
construction_time = 200
- construction_cost = list("metal"=15000)
+ construction_cost = list("steel"=15000)
part = list("r_leg","r_foot")
model_info = 1
@@ -69,7 +69,7 @@
desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell."
icon_state = "chest"
construction_time = 350
- construction_cost = list("metal"=40000)
+ construction_cost = list("steel"=40000)
var/wires = 0.0
var/obj/item/weapon/cell/cell = null
@@ -78,7 +78,7 @@
desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals."
icon_state = "head"
construction_time = 350
- construction_cost = list("metal"=25000)
+ construction_cost = list("steel"=25000)
var/obj/item/device/flash/flash1 = null
var/obj/item/device/flash/flash2 = null
@@ -87,7 +87,7 @@
desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors."
icon_state = "robo_suit"
construction_time = 500
- construction_cost = list("metal"=50000)
+ construction_cost = list("steel"=50000)
var/obj/item/robot_parts/l_arm/l_arm = null
var/obj/item/robot_parts/r_arm/r_arm = null
var/obj/item/robot_parts/l_leg/l_leg = null
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 43b852e2497..7009066995d 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -7,7 +7,7 @@
icon = 'icons/obj/module.dmi'
icon_state = "cyborg_upgrade"
var/construction_time = 120
- var/construction_cost = list("metal"=10000)
+ var/construction_cost = list("steel"=10000)
var/locked = 0
var/require_module = 0
var/installed = 0
@@ -49,7 +49,7 @@
name = "robot reclassification board"
desc = "Used to rename a cyborg."
icon_state = "cyborg_upgrade1"
- construction_cost = list("metal"=35000)
+ construction_cost = list("steel"=35000)
var/heldname = "default name"
/obj/item/borg/upgrade/rename/attack_self(mob/user as mob)
@@ -67,7 +67,7 @@
/obj/item/borg/upgrade/restart
name = "robot emergency restart module"
desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online."
- construction_cost = list("metal"=60000 , "glass"=5000)
+ construction_cost = list("steel"=60000 , "glass"=5000)
icon_state = "cyborg_upgrade1"
@@ -91,7 +91,7 @@
/obj/item/borg/upgrade/vtec
name = "robotic VTEC Module"
desc = "Used to kick in a robot's VTEC systems, increasing their speed."
- construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000)
+ construction_cost = list("steel"=80000 , "glass"=6000 , "gold"= 5000)
icon_state = "cyborg_upgrade2"
require_module = 1
@@ -108,7 +108,7 @@
/obj/item/borg/upgrade/tasercooler
name = "robotic Rapid Taser Cooling Module"
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate."
- construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
+ construction_cost = list("steel"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
icon_state = "cyborg_upgrade3"
require_module = 1
@@ -143,7 +143,7 @@
/obj/item/borg/upgrade/jetpack
name = "mining robot jetpack"
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations."
- construction_cost = list("metal"=10000,"phoron"=15000,"uranium" = 20000)
+ construction_cost = list("steel"=10000,"phoron"=15000,"uranium" = 20000)
icon_state = "cyborg_upgrade3"
require_module = 1
@@ -165,7 +165,7 @@
/obj/item/borg/upgrade/syndicate/
name = "illegal equipment module"
desc = "Unlocks the hidden, deadlier functions of a robot"
- construction_cost = list("metal"=10000,"glass"=15000,"diamond" = 10000)
+ construction_cost = list("steel"=10000,"glass"=15000,"diamond" = 10000)
icon_state = "cyborg_upgrade3"
require_module = 1
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 143539968e7..b2a31ecc84f 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -9,7 +9,7 @@
throwforce = 15.0
throw_speed = 5
throw_range = 20
- matter = list("metal" = 1875)
+ matter = list("steel" = 1875)
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index ec0ece216e9..7d479edebc8 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -144,7 +144,7 @@
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
- matter = list("metal" = 1875,"glass" = 3750)
+ matter = list("steel" = 1875,"glass" = 3750)
origin_tech = "materials=2"
created_window = /obj/structure/window/reinforced
@@ -200,7 +200,7 @@
desc = "Phoron glass which has been reinforced with metal rods."
singular_name = "reinforced phoron glass sheet"
icon_state = "sheet-phoronrglass"
- matter = list("glass" = 7500,"metal" = 1875)
+ matter = list("glass" = 7500,"steel" = 1875)
origin_tech = "materials=4;phorontech=2"
created_window = /obj/structure/window/phoronreinforced
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index 46415bb8af7..6506ec0aba0 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -63,6 +63,10 @@ var/global/list/datum/stack_recipe/iron_recipes = list ( \
w_class = 3.0
throw_speed = 3
throw_range = 3
+ var/walltype_solid
+ var/walltype_false
+ var/doortype_solid
+ var/doortype_machine
/obj/item/stack/sheet/mineral/New()
..()
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 4be7f6e7f72..5ed88a3a66e 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -80,18 +80,18 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
)
/obj/item/stack/sheet/metal
- name = "metal"
- desc = "Sheets made out off metal. It has been dubbed Metal Sheets."
+ name = "steel"
+ desc = "Sheets made out off steel."
singular_name = "metal sheet"
icon_state = "sheet-metal"
- matter = list("metal" = 3750)
+ matter = list("steel" = 3750)
throwforce = 14.0
flags = CONDUCT
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/cyborg
- name = "metal synthesizer"
- desc = "A device that makes metal sheets."
+ name = "steel synthesizer"
+ desc = "A device that makes steel sheets."
gender = NEUTER
matter = null
uses_charge = 1
@@ -120,7 +120,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
desc = "This sheet is an alloy of iron and phoron."
icon_state = "sheet-plasteel"
item_state = "sheet-metal"
- matter = list("metal" = 7500)
+ matter = list("steel" = 7500)
throwforce = 15.0
flags = CONDUCT
origin_tech = "materials=2"
diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm
index 3215d0efaf8..8fae6808209 100644
--- a/code/game/objects/items/stacks/tiles/plasteel.dm
+++ b/code/game/objects/items/stacks/tiles/plasteel.dm
@@ -4,7 +4,7 @@
desc = "Those could work as a pretty decent throwing weapon"
icon_state = "tile"
force = 6.0
- matter = list("metal" = 937.5)
+ matter = list("steel" = 937.5)
throwforce = 15.0
throw_speed = 5
throw_range = 20
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index ddf9cc52c4a..7edfbf6faf6 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -147,7 +147,7 @@
slot_flags = SLOT_BELT|SLOT_HOLSTER
w_class = 3.0
- matter = list("glass" = 10,"metal" = 10)
+ matter = list("glass" = 10,"steel" = 10)
attack_verb = list("struck", "pistol whipped", "hit", "bashed")
var/bullets = 7.0
@@ -202,7 +202,7 @@
flags = CONDUCT
w_class = 1.0
- matter = list("metal" = 10,"glass" = 10)
+ matter = list("steel" = 10,"glass" = 10)
var/amount_left = 7.0
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 37dcbf9f4e4..2d9a37647df 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -13,7 +13,7 @@
throw_speed = 1
throw_range = 5
w_class = 3.0
- matter = list("metal" = 50000)
+ matter = list("steel" = 50000)
origin_tech = "engineering=4;materials=2"
var/datum/effect/effect/system/spark_spread/spark_system
var/stored_matter = 0
@@ -153,7 +153,7 @@
density = 0
anchored = 0.0
origin_tech = "materials=2"
- matter = list("metal" = 30000,"glass" = 15000)
+ matter = list("steel" = 30000,"glass" = 15000)
/obj/item/weapon/rcd/borg
canRwall = 1
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index 4408e998ce6..690b2dbd43f 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -11,7 +11,7 @@
throw_speed = 2
throw_range = 10
force = 10.0
- matter = list("metal" = 90)
+ matter = list("steel" = 90)
attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed")
var/spray_particles = 6
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index 50508594cfa..5e68df4fe1b 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -10,7 +10,7 @@
throw_speed = 1
throw_range = 5
w_class = 3.0
- matter = list("metal" = 500)
+ matter = list("steel" = 500)
origin_tech = "combat=1;phorontech=1"
var/status = 0
var/throw_amount = 100
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 85bec3a8ea2..a06440dd04d 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -10,7 +10,7 @@
w_class = 2.0
throw_speed = 2
throw_range = 5
- matter = list("metal" = 500)
+ matter = list("steel" = 500)
origin_tech = "materials=1"
var/dispenser = 0
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm
index e27e38af7bf..f47083c2a84 100644
--- a/code/game/objects/items/weapons/kitchen.dm
+++ b/code/game/objects/items/weapons/kitchen.dm
@@ -145,7 +145,7 @@
throwforce = 6.0
throw_speed = 3
throw_range = 6
- matter = list("metal" = 12000)
+ matter = list("steel" = 12000)
origin_tech = "materials=1"
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
@@ -175,7 +175,7 @@
throwforce = 8.0
throw_speed = 3
throw_range = 6
- matter = list("metal" = 12000)
+ matter = list("steel" = 12000)
origin_tech = "materials=1"
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
sharp = 1
@@ -247,7 +247,7 @@
throw_range = 5
w_class = 3.0
flags = CONDUCT
- matter = list("metal" = 3000)
+ matter = list("steel" = 3000)
/* // NOPE
var/food_total= 0
var/burger_amt = 0
diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm
index 77f8172f8fc..e1a392c2d9c 100644
--- a/code/game/objects/items/weapons/paint.dm
+++ b/code/game/objects/items/weapons/paint.dm
@@ -9,7 +9,7 @@ var/global/list/cached_icons = list()
icon = 'icons/obj/items.dmi'
icon_state = "paint_neutral"
item_state = "paintcan"
- matter = list("metal" = 200)
+ matter = list("steel" = 200)
w_class = 3.0
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10,20,30,60)
diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm
index 5cab6b24cb2..e9627f1c615 100644
--- a/code/game/objects/items/weapons/power_cells.dm
+++ b/code/game/objects/items/weapons/power_cells.dm
@@ -14,9 +14,9 @@
var/maxcharge = 1000
var/rigged = 0 // true if rigged to explode
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
- var/construction_cost = list("metal"=750,"glass"=75)
+ var/construction_cost = list("steel"=750,"glass"=75)
var/construction_time=100
- matter = list("metal" = 700, "glass" = 50)
+ matter = list("steel" = 700, "glass" = 50)
suicide_act(mob/user)
viewers(user) << "\red [user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide."
@@ -27,7 +27,7 @@
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
origin_tech = "powerstorage=0"
maxcharge = 500
- matter = list("metal" = 700, "glass" = 40)
+ matter = list("steel" = 700, "glass" = 40)
/obj/item/weapon/cell/crap/empty/New()
..()
@@ -37,7 +37,7 @@
name = "security borg rechargable D battery"
origin_tech = "powerstorage=0"
maxcharge = 600 //600 max charge / 100 charge per shot = six shots
- matter = list("metal" = 700, "glass" = 40)
+ matter = list("steel" = 700, "glass" = 40)
/obj/item/weapon/cell/secborg/empty/New()
..()
@@ -47,14 +47,14 @@
name = "heavy-duty power cell"
origin_tech = "powerstorage=1"
maxcharge = 5000
- matter = list("metal" = 700, "glass" = 50)
+ matter = list("steel" = 700, "glass" = 50)
/obj/item/weapon/cell/high
name = "high-capacity power cell"
origin_tech = "powerstorage=2"
icon_state = "hcell"
maxcharge = 10000
- matter = list("metal" = 700, "glass" = 60)
+ matter = list("steel" = 700, "glass" = 60)
/obj/item/weapon/cell/high/empty/New()
..()
@@ -65,8 +65,8 @@
origin_tech = "powerstorage=5"
icon_state = "scell"
maxcharge = 20000
- matter = list("metal" = 700, "glass" = 70)
- construction_cost = list("metal"=750,"glass"=100)
+ matter = list("steel" = 700, "glass" = 70)
+ construction_cost = list("steel"=750,"glass"=100)
/obj/item/weapon/cell/super/empty/New()
..()
@@ -77,8 +77,8 @@
origin_tech = "powerstorage=6"
icon_state = "hpcell"
maxcharge = 30000
- matter = list("metal" = 700, "glass" = 80)
- construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200)
+ matter = list("steel" = 700, "glass" = 80)
+ construction_cost = list("steel"=500,"glass"=150,"gold"=200,"silver"=200)
/obj/item/weapon/cell/hyper/empty/New()
..()
@@ -89,7 +89,7 @@
icon_state = "icell"
origin_tech = null
maxcharge = 30000
- matter = list("metal" = 700, "glass" = 80)
+ matter = list("steel" = 700, "glass" = 80)
use()
return 1
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 65f1abddfbf..1e98ebef0b1 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -13,7 +13,7 @@
throw_speed = 1
throw_range = 4
w_class = 4.0
- matter = list("glass" = 7500, "metal" = 1000)
+ matter = list("glass" = 7500, "steel" = 1000)
origin_tech = "materials=2"
attack_verb = list("shoved", "bashed")
var/cooldown = 0 //shield bash cooldown. based on world.time
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index 383e21ff4f6..c941f1e0d4a 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -16,7 +16,7 @@
desc = "Retracts stuff."
icon = 'icons/obj/surgery.dmi'
icon_state = "retractor"
- matter = list("metal" = 10000, "glass" = 5000)
+ matter = list("steel" = 10000, "glass" = 5000)
flags = CONDUCT
w_class = 2.0
origin_tech = "materials=1;biotech=1"
@@ -29,7 +29,7 @@
desc = "You think you have seen this before."
icon = 'icons/obj/surgery.dmi'
icon_state = "hemostat"
- matter = list("metal" = 5000, "glass" = 2500)
+ matter = list("steel" = 5000, "glass" = 2500)
flags = CONDUCT
w_class = 2.0
origin_tech = "materials=1;biotech=1"
@@ -43,7 +43,7 @@
desc = "This stops bleeding."
icon = 'icons/obj/surgery.dmi'
icon_state = "cautery"
- matter = list("metal" = 5000, "glass" = 2500)
+ matter = list("steel" = 5000, "glass" = 2500)
flags = CONDUCT
w_class = 2.0
origin_tech = "materials=1;biotech=1"
@@ -58,7 +58,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "drill"
hitsound = 'sound/weapons/circsawhit.ogg'
- matter = list("metal" = 15000, "glass" = 10000)
+ matter = list("steel" = 15000, "glass" = 10000)
flags = CONDUCT
force = 15.0
w_class = 2.0
@@ -86,7 +86,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
- matter = list("metal" = 10000, "glass" = 5000)
+ matter = list("steel" = 10000, "glass" = 5000)
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
@@ -140,7 +140,7 @@
throwforce = 9.0
throw_speed = 3
throw_range = 5
- matter = list("metal" = 20000,"glass" = 10000)
+ matter = list("steel" = 20000,"glass" = 10000)
origin_tech = "materials=1;biotech=1"
attack_verb = list("attacked", "slashed", "sawed", "cut")
sharp = 1
diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm
index 2dfc3f4730a..ce1b4c5386e 100644
--- a/code/game/objects/items/weapons/table_rack_parts.dm
+++ b/code/game/objects/items/weapons/table_rack_parts.dm
@@ -6,7 +6,7 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "table_parts"
- matter = list("metal" = 3750)
+ matter = list("steel" = 3750)
flags = CONDUCT
attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked")
@@ -49,7 +49,7 @@
desc = "Hard table parts. Well... harder."
icon = 'icons/obj/items.dmi'
icon_state = "reinf_tableparts"
- matter = list("metal" = 7500)
+ matter = list("steel" = 7500)
flags = CONDUCT
stack_types = list(/obj/item/stack/sheet/metal, /obj/item/stack/rods)
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index 20d96676ed8..d085d1813a7 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -21,7 +21,7 @@
item_state = "electronic"
throw_speed = 4
throw_range = 20
- matter = list("metal" = 400)
+ matter = list("steel" = 400)
origin_tech = "magnets=1"
/obj/item/weapon/locator/attack_self(mob/user as mob)
@@ -132,7 +132,7 @@ Frequency:
w_class = 2.0
throw_speed = 3
throw_range = 5
- matter = list("metal" = 10000)
+ matter = list("steel" = 10000)
origin_tech = "magnets=1;bluespace=3"
/obj/item/weapon/hand_tele/attack_self(mob/user as mob)
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 10904319163..0af08c5b4ba 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -24,7 +24,7 @@
force = 5.0
throwforce = 7.0
w_class = 2.0
- matter = list("metal" = 150)
+ matter = list("steel" = 150)
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
@@ -44,7 +44,7 @@
throwforce = 5.0
throw_speed = 3
throw_range = 5
- matter = list("metal" = 75)
+ matter = list("steel" = 75)
attack_verb = list("stabbed")
suicide_act(mob/user)
@@ -102,7 +102,7 @@
throw_speed = 2
throw_range = 9
w_class = 2.0
- matter = list("metal" = 80)
+ matter = list("steel" = 80)
origin_tech = "materials=1;engineering=1"
attack_verb = list("pinched", "nipped")
sharp = 1
@@ -144,7 +144,7 @@
w_class = 2.0
//Cost to make in the autolathe
- matter = list("metal" = 70, "glass" = 30)
+ matter = list("steel" = 70, "glass" = 30)
//R&D tech level
origin_tech = "engineering=1"
@@ -403,21 +403,21 @@
/obj/item/weapon/weldingtool/largetank
name = "industrial welding tool"
max_fuel = 40
- matter = list("metal" = 70, "glass" = 60)
+ matter = list("steel" = 70, "glass" = 60)
origin_tech = "engineering=2"
/obj/item/weapon/weldingtool/hugetank
name = "upgraded welding tool"
max_fuel = 80
w_class = 3.0
- matter = list("metal" = 70, "glass" = 120)
+ matter = list("steel" = 70, "glass" = 120)
origin_tech = "engineering=3"
/obj/item/weapon/weldingtool/experimental
name = "experimental welding tool"
max_fuel = 40
w_class = 3.0
- matter = list("metal" = 70, "glass" = 120)
+ matter = list("steel" = 70, "glass" = 120)
origin_tech = "engineering=4;phorontech=3"
var/last_gen = 0
@@ -444,7 +444,7 @@
throwforce = 7.0
item_state = "crowbar"
w_class = 2.0
- matter = list("metal" = 50)
+ matter = list("steel" = 50)
origin_tech = "engineering=1"
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 295fa0c67db..d062f46a5de 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -185,14 +185,14 @@
desc = "A knife blade. Unusable as a weapon without a grip."
icon = 'icons/obj/buildingobject.dmi'
icon_state = "butterfly2"
- matter = list("metal" = 5000)
+ matter = list("steel" = 5000)
/obj/item/butterflyhandle
name = "concealed knife grip"
desc = "A plasteel grip with screw fittings for a blade."
icon = 'icons/obj/buildingobject.dmi'
icon_state = "butterfly1"
- matter = list("metal" = 4000)
+ matter = list("steel" = 4000)
/obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/butterflyblade))
@@ -276,7 +276,7 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob)
throw_range = 15
sharp = 1
edge = 1
- matter = list("metal" = 500)
+ matter = list("steel" = 500)
var/poisoned = 0
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index f68c7ae7cb9..4d9ce03488d 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -6,7 +6,7 @@
desc = "A huge chunk of metal used to seperate rooms."
anchored = 1
icon = 'icons/turf/walls.dmi'
- var/mineral = "metal"
+ var/mineral = "steel"
var/opening = 0
/obj/structure/falsewall/New()
@@ -87,65 +87,45 @@
user << "\red You must wait until the door has stopped moving."
return
- if(density)
- var/turf/T = get_turf(src)
- if(T.density)
- user << "\red The wall is blocked!"
+ var/material/M = name_to_mineral[mineral]
+
+ if(istype(W, /obj/item/weapon/screwdriver))
+ if(!istype(M) || !M.walltype_solid)
+ user << "You cannot find any bolts on the wall."
return
- if(istype(W, /obj/item/weapon/screwdriver))
- user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
- if(!mineral || mineral == "metal")
- T.ChangeTurf(/turf/simulated/wall)
- else
- T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
+ user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
+ var/turf/T = get_turf(src)
+ if(T)
+ T.ChangeTurf(M.walltype_solid)
+ del(src)
+ return
+
+ var/cutting
+ if(istype(W, /obj/item/weapon/melee/energy/blade) || istype(W, /obj/item/weapon/pickaxe))
+ cutting = 1
+ else if(istype(W, /obj/item/weapon/weldingtool))
+ var/obj/item/weapon/weldingtool/WT = W
+ if(WT.welding)
+ cutting = 1
+
+ if(cutting)
+ if(density)
+ var/turf/T = get_turf(src)
+ if(T.density)
+ user << "\red The wall is blocked!"
+ return
+
+ if(!istype(M) || !M.walltype_solid)
+ user << "You cannot weld this wall."
+ return
+ T.ChangeTurf(M.walltype_solid)
+ if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve
+ T = get_turf(src) // Still not sure what the above is for, leaving it for now. ~Z
+ T.attackby(W,user)
del(src)
-
- if( istype(W, /obj/item/weapon/weldingtool) )
- var/obj/item/weapon/weldingtool/WT = W
- if( WT:welding )
- if(!mineral)
- T.ChangeTurf(/turf/simulated/wall)
- else
- T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
- if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve
- T = get_turf(src)
- T.attackby(W,user)
- del(src)
- else
- user << "\blue You can't reach, close it first!"
-
- if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) )
- var/turf/T = get_turf(src)
- if(!mineral)
- T.ChangeTurf(/turf/simulated/wall)
else
- T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
- if(mineral != "phoron")
- T = get_turf(src)
- T.attackby(W,user)
- del(src)
+ user << "\blue You can't reach, close it first!"
- //DRILLING
- else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill))
- var/turf/T = get_turf(src)
- if(!mineral)
- T.ChangeTurf(/turf/simulated/wall)
- else
- T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
- T = get_turf(src)
- T.attackby(W,user)
- del(src)
-
- else if( istype(W, /obj/item/weapon/melee/energy/blade) )
- var/turf/T = get_turf(src)
- if(!mineral)
- T.ChangeTurf(/turf/simulated/wall)
- else
- T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
- if(mineral != "phoron")
- T = get_turf(src)
- T.attackby(W,user)
- del(src)
/obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open
..()
@@ -167,7 +147,7 @@
density = 1
opacity = 1
anchored = 1
- var/mineral = "metal"
+ var/mineral = "steel"
var/opening = 0
/obj/structure/falserwall/New()
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index c73c955701f..a5bd415107e 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -89,88 +89,68 @@
new/obj/structure/girder/displaced( src.loc )
del(src)
+ else if(istype(W, /obj/item/stack/sheet/plasteel))
+ var/obj/item/stack/sheet/S = W
+ if(!anchored)
+ if(S.use(2))
+ user << "\blue You create a false wall! Push on it to open or close the passage."
+ new /obj/structure/falserwall (src.loc)
+ del(src)
+ else
+ if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
+ if(S.get_amount() < 1) return ..()
+ user << "Now finalising reinforced wall."
+ if(do_after(user, 50))
+ if (S.use(1))
+ user << "Wall fully reinforced!"
+ var/turf/Tsrc = get_turf(src)
+ Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
+ for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
+ if(X) X.add_hiddenprint(usr)
+ del(src)
+ return
+ else
+ if(S.get_amount() < 1) return ..()
+ user << "Now reinforcing girders..."
+ if (do_after(user,60))
+ if(S.use(1))
+ user << "Girders reinforced!"
+ new/obj/structure/girder/reinforced( src.loc )
+ del(src)
+ return
+
else if(istype(W, /obj/item/stack/sheet))
var/obj/item/stack/sheet/S = W
- switch(S.type)
-
- if(/obj/item/stack/sheet/metal, /obj/item/stack/sheet/metal/cyborg)
- if(!anchored)
- if(S.use(2))
- user << "You create a false wall! Push on it to open or close the passage."
- new /obj/structure/falsewall (src.loc)
- del(src)
- else
- if(S.get_amount() < 2) return ..()
- user << "Now adding plating..."
- if (do_after(user,40))
- if (S.use(2))
- user << "You added the plating!"
- var/turf/Tsrc = get_turf(src)
- Tsrc.ChangeTurf(/turf/simulated/wall)
- for(var/turf/simulated/wall/X in Tsrc.loc)
- if(X) X.add_hiddenprint(usr)
- del(src)
- return
-
- if(/obj/item/stack/sheet/plasteel, /obj/item/stack/sheet/plasteel/cyborg)
- if(!anchored)
- if(S.use(2))
- user << "\blue You create a false wall! Push on it to open or close the passage."
- new /obj/structure/falserwall (src.loc)
- del(src)
- else
- if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
- if(S.get_amount() < 1) return ..()
- user << "Now finalising reinforced wall."
- if(do_after(user, 50))
- if (S.use(1))
- user << "Wall fully reinforced!"
- var/turf/Tsrc = get_turf(src)
- Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
- for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
- if(X) X.add_hiddenprint(usr)
- del(src)
- return
- else
- if(S.get_amount() < 1) return ..()
- user << "Now reinforcing girders..."
- if (do_after(user,60))
- if(S.use(1))
- user << "Girders reinforced!"
- new/obj/structure/girder/reinforced( src.loc )
- del(src)
- return
-
- if(S.sheettype)
- var/M = S.sheettype
- // Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z
- if(M in list("mhydrogen","osmium","tritium","platinum","iron"))
- user << "You cannot plate the girder in that material."
- return
- if(!anchored)
- if(S.amount < 2) return
- S.use(2)
- user << "\blue You create a false wall! Push on it to open or close the passage."
- var/F = text2path("/obj/structure/falsewall/[M]")
- new F (src.loc)
- del(src)
- else
- if(S.amount < 2) return ..()
- user << "\blue Now adding plating..."
- if (do_after(user,40))
- if(!src || !S || S.amount < 2) return
- S.use(2)
- user << "\blue You added the plating!"
- var/turf/Tsrc = get_turf(src)
- Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]"))
- for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
- if(X) X.add_hiddenprint(usr)
- del(src)
- return
-
+ var/material/M = name_to_mineral[S.sheettype]
add_hiddenprint(usr)
+ if(!anchored)
+ if(!istype(M) || !M.walltype_false)
+ user << "You cannot make a false wall using this material."
+ return
+ if(S.use(2))
+ user << "You create a false wall! Push on it to open or close the passage."
+ new M.walltype_false (src.loc)
+ del(src)
+ else
+ if(!istype(M) || !M.walltype_solid)
+ user << "You cannot plate a wall in this material."
+ return
+ if(S.get_amount() < 2)
+ return ..()
+ user << "Now adding plating..."
+ if (do_after(user,40))
+ if (S.use(2))
+ user << "You added the plating!"
+ var/turf/Tsrc = get_turf(src)
+ Tsrc.ChangeTurf(M.walltype_solid)
+ for(var/turf/simulated/wall/X in Tsrc.loc)
+ if(X)
+ X.add_hiddenprint(usr)
+ del(src)
+ return
+
else if(istype(W, /obj/item/pipe))
var/obj/item/pipe/P = W
if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds.
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 8ce25ddb671..abc9c2150a2 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -10,7 +10,7 @@
icon = 'icons/obj/doors/mineral_doors.dmi'
icon_state = "metal"
- var/mineralType = "metal"
+ var/mineralType = "steel"
var/state = 0 //closed, 1 == open
var/isSwitchingStates = 0
var/hardness = 1
@@ -119,24 +119,10 @@
Dismantle(1)
proc/Dismantle(devastated = 0)
- if(!devastated)
- if (mineralType == "metal")
- var/ore = /obj/item/stack/sheet/metal
- for(var/i = 1, i <= oreAmount, i++)
- new ore(get_turf(src))
- else
- var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
- for(var/i = 1, i <= oreAmount, i++)
- new ore(get_turf(src))
- else
- if (mineralType == "metal")
- var/ore = /obj/item/stack/sheet/metal
- for(var/i = 3, i <= oreAmount, i++)
- new ore(get_turf(src))
- else
- var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
- for(var/i = 3, i <= oreAmount, i++)
- new ore(get_turf(src))
+ var/material/M = name_to_mineral[mineralType]
+ if(istype(M))
+ for(var/i = (devastated? 1 : 3), i <= oreAmount, i++)
+ new M.stack_type(get_turf(src))
del(src)
ex_act(severity = 1)
@@ -155,7 +141,7 @@
return
/obj/structure/mineral_door/iron
- mineralType = "metal"
+ mineralType = "iron"
hardness = 3
/obj/structure/mineral_door/silver
diff --git a/code/game/smoothwall.dm b/code/game/smoothwall.dm
index 907b2f67587..7692ea8e505 100644
--- a/code/game/smoothwall.dm
+++ b/code/game/smoothwall.dm
@@ -126,15 +126,15 @@
for(var/turf/simulated/wall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
- if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve
+ if(mineral == W.mineral)//Only 'like' walls connect -Sieve
junction |= get_dir(src,W)
for(var/obj/structure/falsewall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
- if(src.mineral == W.mineral)
+ if(mineral == W.mineral)
junction |= get_dir(src,W)
for(var/obj/structure/falserwall/W in orange(src,1))
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
- if(src.mineral == W.mineral)
+ if(mineral == W.mineral)
junction |= get_dir(src,W)
var/turf/simulated/wall/wall = src
wall.icon_state = "[wall.walltype][junction]"
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 07b68a329a7..d34601fafdd 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -41,7 +41,7 @@ var/list/wood_icons = list("wood","wood-broken")
var/lava = 0
var/broken = 0
var/burnt = 0
- var/mineral = "metal"
+ var/mineral = "steel"
var/floor_type = /obj/item/stack/tile/plasteel
var/lightfloor_state // for light floors, this is the state of the tile. 0-7, 0x4 is on-bit - use the helper procs below
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index e19fadf863b..8fdd9036a7e 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -2,7 +2,7 @@
name = "wall"
desc = "A huge chunk of metal used to seperate rooms."
icon = 'icons/turf/walls.dmi'
- var/mineral = "metal"
+ var/mineral = "steel"
var/rotting = 0
var/damage = 0
@@ -20,7 +20,7 @@
thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT
heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall
- var/walltype = "metal"
+ var/walltype = "steel"
/turf/simulated/wall/bullet_act(var/obj/item/projectile/Proj)
@@ -107,7 +107,8 @@
//Damage
/turf/simulated/wall/melt()
- if(mineral == "diamond")
+
+ if(!can_melt())
return
src.ChangeTurf(/turf/simulated/floor/plating)
@@ -167,23 +168,13 @@
if(!devastated)
playsound(src, 'sound/items/Welder.ogg', 100, 1)
new /obj/structure/girder(src)
- if (mineral == "metal")
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
+ var/material/M = name_to_mineral[mineral]
+ if(istype(M) && M.stack_type)
+ for(var/x=1;x<(devastated?2:3);x++)
+ new M.stack_type(src)
else
- var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]")
- new M( src )
- new M( src )
- else
- if (mineral == "metal")
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
- new /obj/item/stack/sheet/metal( src )
- else
- var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]")
- new M( src )
- new M( src )
- new /obj/item/stack/sheet/metal( src )
+ for(var/x=1;x<(devastated?2:3);x++)
+ new /obj/item/stack/sheet/metal(src)
for(var/obj/O in src.contents) //Eject contents!
if(istype(O,/obj/structure/sign/poster))
@@ -231,8 +222,15 @@
O.layer = 5
O.mouse_opacity = 0
+
+/turf/simulated/wall/proc/can_melt()
+ var/material/M = name_to_mineral[mineral]
+ if(istype(M) && M.unmeltable)
+ return 0
+ return 1
+
/turf/simulated/wall/proc/thermitemelt(mob/user as mob)
- if(mineral == "diamond")
+ if(!can_melt())
return
var/obj/effect/overlay/O = new/obj/effect/overlay( src )
O.name = "Thermite"
@@ -359,6 +357,11 @@
var/turf/T = user.loc //get user's location for delay checks
+ var/cut_delay = 60
+ var/material/M = name_to_mineral[mineral]
+ if(istype(M))
+ cut_delay -= M.cut_delay
+
//DECONSTRUCTION
if( istype(W, /obj/item/weapon/weldingtool) )
@@ -392,40 +395,24 @@
user << "You need more welding fuel to complete this task."
return
- else if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) )
+ else if( istype(W, /obj/item/weapon/pickaxe) )
- user << "You begin slicing through the outer plating."
- playsound(src, 'sound/items/Welder.ogg', 100, 1)
+ var/obj/item/weapon/pickaxe/P = W
+ user << "You begin [P.drill_verb] through the outer plating."
+ if(P.drill_sound)
+ playsound(src, P.drill_sound, 100, 1)
- var/delay = 60
- if(mineral == "diamond")
- delay += 60
+ cut_delay -= P.digspeed
+ if(cut_delay<0)
+ cut_delay = 0
- if(!do_after(user,delay))
+ if(!do_after(user,cut_delay))
return
user << "You remove the outer plating."
dismantle_wall()
for(var/mob/O in viewers(user, 5))
- O.show_message("The wall was sliced apart by [user]!", 1, "You hear metal being sliced apart.", 2)
- return
-
- //DRILLING
- else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill))
-
- user << "You begin to drill though the wall."
-
- var/delay = 60
- if(mineral == "diamond")
- delay += 60
-
- if(!do_after(user,delay))
- return
-
- user << "Your drill tears though the last of the reinforced plating."
- dismantle_wall()
- for(var/mob/O in viewers(user, 5))
- O.show_message("The wall was drilled through by [user]!", 1, "You hear the grinding of metal.", 2)
+ O.show_message("The wall was torn open by [user]!", 1, "You hear metal being sliced apart.", 2)
return
else if( istype(W, /obj/item/weapon/melee/energy/blade) )
@@ -435,9 +422,9 @@
user << "You stab \the [EB] into the wall and begin to slice it apart."
playsound(src, "sparks", 50, 1)
- sleep(70)
- if(mineral == "diamond")
- sleep(70)
+ if(!do_after(user,cut_delay))
+ return
+
if( !istype(src, /turf/simulated/wall) || !user || !EB || !T ) return
if( user.loc == T && user.get_active_hand() == W )
diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm
index 5585de31d87..32ecc15225b 100644
--- a/code/game/turfs/simulated/walls_mineral.dm
+++ b/code/game/turfs/simulated/walls_mineral.dm
@@ -10,39 +10,30 @@
desc = "A wall with gold plating. Swag!"
icon_state = "gold0"
walltype = "gold"
- mineral = "gold"
- //var/electro = 1
- //var/shocked = null
/turf/simulated/wall/mineral/silver
name = "silver wall"
desc = "A wall with silver plating. Shiny!"
icon_state = "silver0"
walltype = "silver"
- mineral = "silver"
- //var/electro = 0.75
- //var/shocked = null
/turf/simulated/wall/mineral/diamond
name = "diamond wall"
desc = "A wall with diamond plating. You monster."
icon_state = "diamond0"
walltype = "diamond"
- mineral = "diamond"
/turf/simulated/wall/mineral/sandstone
name = "sandstone wall"
desc = "A wall with sandstone plating."
icon_state = "sandstone0"
walltype = "sandstone"
- mineral = "sandstone"
/turf/simulated/wall/mineral/uranium
name = "uranium wall"
desc = "A wall with uranium plating. This is probably a bad idea."
icon_state = "uranium0"
walltype = "uranium"
- mineral = "uranium"
/turf/simulated/wall/mineral/uranium/proc/radiate()
if(!active)
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index ca4717307af..1d0fdf00d95 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -5,7 +5,7 @@
icon_state = ""
flags = CONDUCT
w_class = 2.0
- matter = list("metal" = 100)
+ matter = list("steel" = 100)
throwforce = 2
throw_speed = 3
throw_range = 10
diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm
index ece2f08219a..fb6d02c1233 100644
--- a/code/modules/assembly/igniter.dm
+++ b/code/modules/assembly/igniter.dm
@@ -2,7 +2,7 @@
name = "igniter"
desc = "A small electronic device able to ignite combustable substances."
icon_state = "igniter"
- matter = list("metal" = 500, "glass" = 50, "waste" = 10)
+ matter = list("steel" = 500, "glass" = 50, "waste" = 10)
origin_tech = "magnets=1"
secured = 1
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 79e3cf86371..2a427ff4336 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -4,7 +4,7 @@
name = "infrared emitter"
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
icon_state = "infrared"
- matter = list("metal" = 1000, "glass" = 500, "waste" = 100)
+ matter = list("steel" = 1000, "glass" = 500, "waste" = 100)
origin_tech = "magnets=2"
wires = WIRE_PULSE
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index 676ee17cd19..9753ba124f6 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -2,7 +2,7 @@
name = "mousetrap"
desc = "A handy little spring-loaded trap for catching pesty rodents."
icon_state = "mousetrap"
- matter = list("metal" = 100, "waste" = 10)
+ matter = list("steel" = 100, "waste" = 10)
origin_tech = "combat=1"
var/armed = 0
diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm
index 06923f84586..998e122e551 100644
--- a/code/modules/assembly/proximity.dm
+++ b/code/modules/assembly/proximity.dm
@@ -2,7 +2,7 @@
name = "proximity sensor"
desc = "Used for scanning and alerting when someone enters a certain proximity."
icon_state = "prox"
- matter = list("metal" = 800, "glass" = 200, "waste" = 50)
+ matter = list("steel" = 800, "glass" = 200, "waste" = 50)
origin_tech = "magnets=1"
wires = WIRE_PULSE
diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index ba70b45da43..7f1efd5566b 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -3,7 +3,7 @@
desc = "Used to remotely activate devices."
icon_state = "signaller"
item_state = "signaler"
- matter = list("metal" = 1000, "glass" = 200, "waste" = 100)
+ matter = list("steel" = 1000, "glass" = 200, "waste" = 100)
origin_tech = "magnets=1"
wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE
diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm
index 326d36195f2..b6f48d1f0f3 100644
--- a/code/modules/assembly/timer.dm
+++ b/code/modules/assembly/timer.dm
@@ -2,7 +2,7 @@
name = "timer"
desc = "Used to time things. Works well with contraptions which has to count down. Tick tock."
icon_state = "timer"
- matter = list("metal" = 500, "glass" = 50, "waste" = 10)
+ matter = list("steel" = 500, "glass" = 50, "waste" = 10)
origin_tech = "magnets=1"
wires = WIRE_PULSE
diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm
index b9c3eb88de8..586f4098db8 100644
--- a/code/modules/assembly/voice.dm
+++ b/code/modules/assembly/voice.dm
@@ -2,7 +2,7 @@
name = "voice analyzer"
desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated."
icon_state = "voice"
- matter = list("metal" = 500, "glass" = 50, "waste" = 10)
+ matter = list("steel" = 500, "glass" = 50, "waste" = 10)
origin_tech = "magnets=1"
var/listening = 0
var/recorded //the activation message
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 97eb175277c..f033f1e3783 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -270,3 +270,62 @@
desc = "A set of implantable lenses designed to augment your vision"
icon_state = "thermalimplants"
item_state = "syringe_kit"
+
+/obj/item/clothing/glasses/minerals
+ name = "resonance scanners"
+ desc = "A set of goggles geared towards detecting different concentrations of minerals."
+ icon_state = "material"
+ item_state = "glasses"
+ icon_action_button = "action_material"
+ toggleable = 1
+ active = 0
+
+ var/mob/living/carbon/human/wearer
+ var/list/ore_nodes = list()
+
+/obj/item/clothing/glasses/minerals/New()
+ ..()
+ if(!active)
+ icon_state = off_state
+ processing_objects |= src
+
+/obj/item/clothing/glasses/minerals/Del()
+ processing_objects -= src
+ ..()
+
+/obj/item/clothing/glasses/minerals/equipped(var/mob/living/carbon/human/M)
+ ..()
+ remove_ore_images()
+ wearer = null
+ if(istype(M) && M.glasses == src)
+ wearer = M
+
+/obj/item/clothing/glasses/minerals/dropped()
+ ..()
+ remove_ore_images()
+ wearer = null
+
+/obj/item/clothing/glasses/minerals/process()
+ remove_ore_images()
+ if(active)
+ if(!wearer || wearer.glasses != src)
+ return
+ for(var/obj/effect/mineral/M in range(wearer,6))
+ // Maybe make a cache for this so multiple miners aren't spawning copies.
+ ore_nodes += M.scanner_image
+ if(ore_nodes.len && wearer.client)
+ wearer.client.images |= ore_nodes
+
+/obj/item/clothing/glasses/minerals/proc/remove_ore_images()
+ if(!ore_nodes)
+ ore_nodes = list()
+ if(ore_nodes.len)
+ if(wearer && wearer.client)
+ for(var/image/I in ore_nodes)
+ wearer.client.images -= I
+ del(I)
+ ore_nodes.Cut()
+
+/obj/item/clothing/glasses/minerals/dropped()
+ remove_ore_images()
+ wearer = null
\ No newline at end of file
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index 5eb7e0c65bc..0255f4351ba 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -17,7 +17,7 @@
icon_state = "welding"
flags = HEADCOVERSEYES | HEADCOVERSMOUTH
item_state = "welding"
- matter = list("metal" = 3000, "glass" = 1000)
+ matter = list("steel" = 3000, "glass" = 1000)
var/up = 0
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm
index ac9a80b07a5..bba895039ca 100644
--- a/code/modules/clothing/spacesuits/rig/modules/modules.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm
@@ -13,7 +13,7 @@
desc = "It looks pretty sciency."
icon = 'icons/obj/rig_modules.dmi'
icon_state = "module"
- matter = list("metal" = 20000, "plastic" = 30000, "glass" = 5000)
+ matter = list("steel" = 20000, "plastic" = 30000, "glass" = 5000)
var/damage = 0
var/obj/item/weapon/rig/holder
diff --git a/code/modules/hydroponics/trays/tray_reagents.dm b/code/modules/hydroponics/trays/tray_reagents.dm
index 3dad0adc451..31eed72da03 100644
--- a/code/modules/hydroponics/trays/tray_reagents.dm
+++ b/code/modules/hydroponics/trays/tray_reagents.dm
@@ -58,7 +58,7 @@
force = 5.0
throwforce = 7.0
w_class = 2.0
- matter = list("metal" = 50)
+ matter = list("steel" = 50)
attack_verb = list("slashed", "sliced", "cut", "clawed")
diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm
index 10f5961da71..bf5b3d4b1de 100644
--- a/code/modules/hydroponics/trays/tray_tools.dm
+++ b/code/modules/hydroponics/trays/tray_tools.dm
@@ -215,7 +215,7 @@
force = 5.0
throwforce = 7.0
w_class = 2.0
- matter = list("metal" = 50)
+ matter = list("steel" = 50)
attack_verb = list("slashed", "sliced", "cut", "clawed")
//Hatchets and things to kill kudzu
@@ -232,7 +232,7 @@
throw_range = 4
sharp = 1
edge = 1
- matter = list("metal" = 15000)
+ matter = list("steel" = 15000)
origin_tech = "materials=2;combat=1"
attack_verb = list("chopped", "torn", "cut")
diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm
index 510172d7952..5a948e7b6fb 100644
--- a/code/modules/mining/drilling/scanner.dm
+++ b/code/modules/mining/drilling/scanner.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "forensic0-old" //GET A BETTER SPRITE.
item_state = "electronic"
- matter = list("metal" = 150)
+ matter = list("steel" = 150)
origin_tech = "magnets=1;engineering=1"
/obj/item/weapon/mining_scanner/attack_self(mob/user as mob)
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index ee043b14415..86a58dcfccf 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -111,7 +111,6 @@
var/sheets_per_tick = 10
var/list/ores_processing[0]
var/list/ores_stored[0]
- var/list/ore_data[0]
var/list/alloy_data[0]
var/active = 0
@@ -123,11 +122,12 @@
for(var/alloytype in typesof(/datum/alloy)-/datum/alloy)
alloy_data += new alloytype()
- for(var/oretype in typesof(/datum/ore)-/datum/ore)
- var/datum/ore/OD = new oretype()
- ore_data[OD.oretag] = OD
- ores_processing[OD.oretag] = 0
- ores_stored[OD.oretag] = 0
+ if(!ore_data || !ore_data.len)
+ for(var/oretype in typesof(/ore)-/ore)
+ var/ore/OD = new oretype()
+ ore_data[OD.name] = OD
+ ores_processing[OD.name] = 0
+ ores_stored[OD.name] = 0
//Locate our output and input machinery.
spawn(5)
@@ -150,7 +150,7 @@
for(var/i = 0,i 0 && ores_processing[metal] != 0)
- var/datum/ore/O = ore_data[metal]
+ var/ore/O = ore_data[metal]
if(!O) continue
@@ -206,24 +206,28 @@
var/can_make = Clamp(ores_stored[metal],0,sheets_per_tick-sheets)
if(can_make%2>0) can_make--
- if(!can_make || ores_stored[metal] < 1)
+ var/material/M = name_to_mineral[O.compresses_to]
+
+ if(!istype(M) || !can_make || ores_stored[metal] < 1)
continue
for(var/i=0,iChoose")
dat += text("
Iron inserted: [amt_iron] ")
- if (chosen == "metal")
+ if (chosen == "steel")
dat += text("chosen")
else
dat += text("Choose")
@@ -133,7 +133,7 @@
icon_state = "coinpress1"
var/obj/item/weapon/moneybag/M
switch(chosen)
- if("metal")
+ if("steel")
while(amt_iron > 0 && coinsToProduce > 0)
if (locate(/obj/item/weapon/moneybag,output.loc))
M = locate(/obj/item/weapon/moneybag,output.loc)
diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm
index 30385d49a5b..2c2ac1b1d3b 100644
--- a/code/modules/mining/ore.dm
+++ b/code/modules/mining/ore.dm
@@ -4,71 +4,71 @@
icon_state = "ore2"
w_class = 2
var/datum/geosample/geologic_data
- var/oretag
+ var/mineral
/obj/item/weapon/ore/uranium
name = "pitchblende"
- icon_state = "Uranium ore"
+ icon_state = "ore_uranium"
origin_tech = "materials=5"
- oretag = "uranium"
+ mineral = "uranium"
/obj/item/weapon/ore/iron
name = "hematite"
- icon_state = "Iron ore"
+ icon_state = "ore_iron"
origin_tech = "materials=1"
- oretag = "hematite"
+ mineral = "hematite"
/obj/item/weapon/ore/coal
name = "carbonaceous rock"
- icon_state = "Coal ore"
+ icon_state = "ore_coal"
origin_tech = "materials=1"
- oretag = "coal"
+ mineral = "coal"
/obj/item/weapon/ore/glass
name = "impure silicates"
- icon_state = "Glass ore"
+ icon_state = "ore_glass"
origin_tech = "materials=1"
- oretag = "sand"
+ mineral = "sand"
/obj/item/weapon/ore/phoron
name = "phoron crystals"
- icon_state = "Phoron ore"
+ icon_state = "ore_phoron"
origin_tech = "materials=2"
- oretag = "phoron"
+ mineral = "phoron"
/obj/item/weapon/ore/silver
name = "native silver ore"
- icon_state = "Silver ore"
+ icon_state = "ore_silver"
origin_tech = "materials=3"
- oretag = "silver"
+ mineral = "silver"
/obj/item/weapon/ore/gold
name = "native gold ore"
- icon_state = "Gold ore"
+ icon_state = "ore_gold"
origin_tech = "materials=4"
- oretag = "gold"
+ mineral = "gold"
/obj/item/weapon/ore/diamond
name = "diamonds"
- icon_state = "Diamond ore"
+ icon_state = "ore_diamond"
origin_tech = "materials=6"
- oretag = "diamond"
+ mineral = "diamond"
/obj/item/weapon/ore/osmium
name = "raw platinum"
- icon_state = "Platinum ore"
- oretag = "platinum"
+ icon_state = "ore_platinum"
+ mineral = "platinum"
/obj/item/weapon/ore/hydrogen
name = "raw hydrogen"
- icon_state = "Phazon"
- oretag = "hydrogen"
+ icon_state = "ore_hydrogen"
+ mineral = "mhydrogen"
/obj/item/weapon/ore/slag
name = "Slag"
- desc = "Completely useless"
+ desc = "Someone screwed up..."
icon_state = "slag"
- oretag = "slag"
+ mineral = "slag"
/obj/item/weapon/ore/New()
pixel_x = rand(0,16)-8
diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm
index b3689d3abb8..e662eb913ea 100644
--- a/code/modules/mining/ore_datum.dm
+++ b/code/modules/mining/ore_datum.dm
@@ -1,52 +1,133 @@
-/datum/ore
- var/oretag
+var/global/list/ore_data = list()
+
+/ore
+ var/name
+ var/display_name
var/alloy
var/smelts_to
var/compresses_to
+ var/result_amount // How much ore?
+ var/spread = 1 // Does this type of deposit spread?
+ var/spread_chance // Chance of spreading in any direction
+ var/ore // Path to the ore produced when tile is mined.
+ var/scan_icon // Overlay for ore scanners.
+ // Xenoarch stuff. No idea what it's for, just refactored it to be less awful.
+ var/list/xarch_ages = list(
+ "thousand" = 999,
+ "million" = 999
+ )
+ var/xarch_source_mineral = "iron"
-/datum/ore/uranium
- smelts_to = /obj/item/stack/sheet/mineral/uranium
- oretag = "uranium"
+/ore/New()
+ . = ..()
+ if(!display_name)
+ display_name = name
-/datum/ore/iron
- smelts_to = /obj/item/stack/sheet/mineral/iron
+/ore/uranium
+ name = "uranium"
+ display_name = "pitchblende"
+ smelts_to = "uranium"
+ result_amount = 5
+ spread_chance = 10
+ ore = /obj/item/weapon/ore/uranium
+ scan_icon = "mineral_uncommon"
+ xarch_ages = list(
+ "thousand" = 999,
+ "million" = 704
+ )
+ xarch_source_mineral = "potassium"
+
+/ore/hematite
+ name = "iron"
+ display_name = "hematite"
+ smelts_to = "iron"
alloy = 1
- oretag = "hematite"
+ result_amount = 5
+ spread_chance = 25
+ ore = /obj/item/weapon/ore/iron
+ scan_icon = "mineral_common"
-/datum/ore/coal
- smelts_to = /obj/item/stack/sheet/mineral/plastic
+/ore/coal
+ name = "coal"
+ display_name = "carbonaceous rock"
+ smelts_to = "plastic"
alloy = 1
- oretag = "coal"
+ result_amount = 5
+ spread_chance = 25
+ ore = /obj/item/weapon/ore/coal
+ scan_icon = "mineral_common"
-/datum/ore/glass
- smelts_to = /obj/item/stack/sheet/glass
- compresses_to = /obj/item/stack/sheet/mineral/sandstone
- oretag = "sand"
+/ore/glass
+ name = "sand"
+ display_name = "impure silicates"
+ smelts_to = "glass"
+ compresses_to = "sandstone"
-/datum/ore/phoron
+/ore/phoron
+ name = "phoron"
+ display_name = "phoron crystals"
+ compresses_to = "phoron"
//smelts_to = something that explodes violently on the conveyor, huhuhuhu
- compresses_to = /obj/item/stack/sheet/mineral/phoron
- oretag = "phoron"
+ result_amount = 5
+ spread_chance = 25
+ ore = /obj/item/weapon/ore/phoron
+ scan_icon = "mineral_uncommon"
+ xarch_ages = list(
+ "thousand" = 999,
+ "million" = 999,
+ "billion" = 13,
+ "billion_lower" = 10
+ )
+ xarch_source_mineral = "phoron"
-/datum/ore/silver
- smelts_to = /obj/item/stack/sheet/mineral/silver
- oretag = "silver"
+/ore/silver
+ name = "silver"
+ display_name = "native silver"
+ smelts_to = "silver"
+ result_amount = 5
+ spread_chance = 10
+ ore = /obj/item/weapon/ore/silver
+ scan_icon = "mineral_uncommon"
-/datum/ore/gold
- smelts_to = /obj/item/stack/sheet/mineral/gold
- oretag = "gold"
+/ore/gold
+ smelts_to = "gold"
+ name = "gold"
+ display_name = "native gold"
+ result_amount = 5
+ spread_chance = 10
+ ore = /obj/item/weapon/ore/gold
+ scan_icon = "mineral_uncommon"
+ xarch_ages = list(
+ "thousand" = 999,
+ "million" = 999,
+ "billion" = 4,
+ "billion_lower" = 3
+ )
-/datum/ore/diamond
- compresses_to = /obj/item/stack/sheet/mineral/diamond
- oretag = "diamond"
+/ore/diamond
+ name = "diamonds"
+ display_name = "diamond"
+ compresses_to = "diamond"
+ result_amount = 5
+ spread_chance = 10
+ ore = /obj/item/weapon/ore/diamond
+ scan_icon = "mineral_rare"
+ xarch_source_mineral = "nitrogen"
-/datum/ore/osmium
- smelts_to = /obj/item/stack/sheet/mineral/platinum
- compresses_to = /obj/item/stack/sheet/mineral/osmium
+/ore/platinum
+ name = "platinum"
+ display_name = "raw platinum"
+ smelts_to = "platinum"
+ compresses_to = "osmium"
alloy = 1
- oretag = "platinum"
+ result_amount = 5
+ spread_chance = 10
+ ore = /obj/item/weapon/ore/osmium
+ scan_icon = "mineral_rare"
-/datum/ore/hydrogen
- smelts_to = /obj/item/stack/sheet/mineral/tritium
- compresses_to = /obj/item/stack/sheet/mineral/mhydrogen
- oretag = "hydrogen"
+/ore/hydrogen
+ name = "mhydrogen"
+ display_name = "metallic hydrogen"
+ smelts_to = "tritium"
+ compresses_to = "mhydrogen"
+ scan_icon = "mineral_rare"
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm
index 7b225da186c..02f8abc133b 100644
--- a/code/modules/mob/living/carbon/brain/MMI.dm
+++ b/code/modules/mob/living/carbon/brain/MMI.dm
@@ -25,7 +25,7 @@
w_class = 3
origin_tech = "biotech=3"
- var/list/construction_cost = list("metal"=1000,"glass"=500)
+ var/list/construction_cost = list("steel"=1000,"glass"=500)
var/construction_time = 75
//these vars are so the mecha fabricator doesn't shit itself anymore. --NEO
diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm
index 08f2e34243b..fe883561384 100644
--- a/code/modules/mob/living/carbon/brain/posibrain.dm
+++ b/code/modules/mob/living/carbon/brain/posibrain.dm
@@ -6,7 +6,7 @@
w_class = 3
origin_tech = "engineering=4;materials=4;bluespace=2;programming=4"
- construction_cost = list("metal"=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10)
+ construction_cost = list("steel"=500,"glass"=500,"silver"=200,"gold"=200,"phoron"=100,"diamond"=10)
construction_time = 75
var/searching = 0
var/askDelay = 10 * 60 * 1
diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm
index cb86e523022..8c1b3a42d7f 100644
--- a/code/modules/mob/living/silicon/robot/analyzer.dm
+++ b/code/modules/mob/living/silicon/robot/analyzer.dm
@@ -12,7 +12,7 @@
w_class = 2.0
throw_speed = 5
throw_range = 10
- matter = list("metal" = 500, "glass" = 200)
+ matter = list("steel" = 500, "glass" = 200)
origin_tech = "magnets=2;biotech=1;engineering=2"
var/mode = 1;
diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm
index b78deedf7a1..1b03d8c7e3e 100644
--- a/code/modules/mob/living/silicon/robot/component.dm
+++ b/code/modules/mob/living/silicon/robot/component.dm
@@ -218,7 +218,7 @@
icon = 'icons/obj/robot_component.dmi'
icon_state = "working"
construction_time = 200
- construction_cost = list("metal"=5000)
+ construction_cost = list("steel"=5000)
var/brute = 0
var/burn = 0
var/icon_state_broken = "broken"
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 3c3d07b36fd..6e26db90e5e 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -20,7 +20,7 @@
w_class = 1.0
throw_speed = 7
throw_range = 15
- matter = list("metal" = 10)
+ matter = list("steel" = 10)
var/colour = "black" //what colour the ink is!
pressure_resistance = 2
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 24a321ac876..0029fee7be2 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -124,7 +124,7 @@ var/global/photo_count = 0
w_class = 2.0
flags = CONDUCT
slot_flags = SLOT_BELT
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
var/pictures_max = 10
var/pictures_left = 10
var/on = 1
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index f2767ca0e89..1d8e20052ec 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -8,7 +8,7 @@
w_class = 1.0
throw_speed = 7
throw_range = 15
- matter = list("metal" = 60)
+ matter = list("steel" = 60)
item_color = "cargo"
pressure_resistance = 2
attack_verb = list("stamped")
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index 5085fb6c85f..045842a0e92 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -210,7 +210,7 @@ proc/cardinalrange(var/center)
throwforce = 5
throw_speed = 1
throw_range = 2
- matter = list("metal" = 100, "waste" = 2000)
+ matter = list("steel" = 100, "waste" = 2000)
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf))
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index f652ebe9ec6..b34035f0a43 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -476,7 +476,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
w_class = 2.0
throw_speed = 2
throw_range = 5
- matter = list("metal" = 50, "glass" = 20)
+ matter = list("steel" = 50, "glass" = 20)
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "coil"
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 14bdaa16446..901b841d169 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -643,7 +643,7 @@
var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN
var/base_state
var/switchcount = 0 // number of times switched
- matter = list("metal" = 60)
+ matter = list("steel" = 60)
var/rigged = 0 // true if rigged to explode
var/brightness = 2 //how much light it gives off
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index 01f6a55044a..32b7fcfec4e 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -66,7 +66,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "syringe_kit"
- matter = list("metal" = 500)
+ matter = list("steel" = 500)
throwforce = 5
w_class = 2
throw_speed = 4
diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm
index e25d8f39f14..d477ea66db1 100644
--- a/code/modules/projectiles/ammunition/boxes.dm
+++ b/code/modules/projectiles/ammunition/boxes.dm
@@ -6,7 +6,7 @@
icon_state = "T38"
caliber = "357"
ammo_type = /obj/item/ammo_casing/a357
- matter = list("metal" = 1260)
+ matter = list("steel" = 1260)
max_ammo = 7
multiple_sprites = 1
@@ -14,7 +14,7 @@
name = "speed loader (.38)"
icon_state = "38"
caliber = "38"
- matter = list("metal" = 360)
+ matter = list("steel" = 360)
ammo_type = /obj/item/ammo_casing/c38
max_ammo = 6
multiple_sprites = 1
@@ -28,7 +28,7 @@
icon_state = "45"
mag_type = MAGAZINE
ammo_type = /obj/item/ammo_casing/c45
- matter = list("metal" = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal
+ matter = list("steel" = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal
caliber = ".45"
max_ammo = 7
multiple_sprites = 1
@@ -49,7 +49,7 @@
icon_state = "9x19p"
origin_tech = "combat=2"
mag_type = MAGAZINE
- matter = list("metal" = 600)
+ matter = list("steel" = 600)
caliber = "9mm"
ammo_type = /obj/item/ammo_casing/c9mm
max_ammo = 10
@@ -65,7 +65,7 @@
name = "ammunition Box (9mm)"
icon_state = "9mm"
origin_tech = "combat=2"
- matter = list("metal" = 1800)
+ matter = list("steel" = 1800)
caliber = "9mm"
ammo_type = /obj/item/ammo_casing/c9mm
max_ammo = 30
@@ -78,7 +78,7 @@
icon_state = "9mmt"
mag_type = MAGAZINE
ammo_type = /obj/item/ammo_casing/c9mm
- matter = list("metal" = 1200)
+ matter = list("steel" = 1200)
caliber = "9mm"
max_ammo = 20
multiple_sprites = 1
@@ -95,7 +95,7 @@
icon_state = "9mm"
origin_tech = "combat=2"
caliber = ".45"
- matter = list("metal" = 2250)
+ matter = list("steel" = 2250)
ammo_type = /obj/item/ammo_casing/c45
max_ammo = 30
@@ -108,7 +108,7 @@
origin_tech = "combat=2"
mag_type = MAGAZINE
caliber = "12mm"
- matter = list("metal" = 1500)
+ matter = list("steel" = 1500)
ammo_type = "/obj/item/ammo_casing/a12mm"
max_ammo = 20
multiple_sprites = 1
@@ -122,7 +122,7 @@
origin_tech = "combat=2"
mag_type = MAGAZINE
caliber = "a556"
- matter = list("metal" = 1800)
+ matter = list("steel" = 1800)
ammo_type = /obj/item/ammo_casing/a556
max_ammo = 10
multiple_sprites = 1
@@ -136,7 +136,7 @@
origin_tech = "combat=2"
mag_type = MAGAZINE
caliber = ".50"
- matter = list("metal" = 1260)
+ matter = list("steel" = 1260)
ammo_type = /obj/item/ammo_casing/a50
max_ammo = 7
multiple_sprites = 1
@@ -162,7 +162,7 @@
origin_tech = "combat=2"
mag_type = MAGAZINE
caliber = "a762"
- matter = list("metal" = 4500)
+ matter = list("steel" = 4500)
ammo_type = /obj/item/ammo_casing/a762
max_ammo = 50
multiple_sprites = 1
@@ -175,7 +175,7 @@
icon_state = "c762"
mag_type = MAGAZINE
caliber = "a762"
- matter = list("metal" = 1800)
+ matter = list("steel" = 1800)
ammo_type = /obj/item/ammo_casing/a762
max_ammo = 20
multiple_sprites = 1
diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm
index 931555381ac..989604cd290 100644
--- a/code/modules/projectiles/ammunition/bullets.dm
+++ b/code/modules/projectiles/ammunition/bullets.dm
@@ -66,28 +66,28 @@
icon_state = "slshell"
caliber = "shotgun"
projectile_type = /obj/item/projectile/bullet/shotgun
- matter = list("metal" = 360)
+ matter = list("steel" = 360)
/obj/item/ammo_casing/shotgun/pellet
name = "shotgun shell"
desc = "A 12 gauge shell."
icon_state = "gshell"
projectile_type = /obj/item/projectile/bullet/pellet/shotgun
- matter = list("metal" = 360)
+ matter = list("steel" = 360)
/obj/item/ammo_casing/shotgun/blank
name = "shotgun shell"
desc = "A blank shell."
icon_state = "blshell"
projectile_type = /obj/item/projectile/bullet/blank
- matter = list("metal" = 90)
+ matter = list("steel" = 90)
/obj/item/ammo_casing/shotgun/beanbag
name = "beanbag shell"
desc = "A beanbag shell."
icon_state = "bshell"
projectile_type = /obj/item/projectile/bullet/shotgun/beanbag
- matter = list("metal" = 180)
+ matter = list("steel" = 180)
//Can stun in one hit if aimed at the head, but
//is blocked by clothing that stops tasers and is vulnerable to EMP
@@ -97,7 +97,7 @@
icon_state = "stunshell"
spent_icon = "stunshell-spent"
projectile_type = /obj/item/projectile/energy/electrode/stunshot
- matter = list("metal" = 360, "glass" = 720)
+ matter = list("steel" = 360, "glass" = 720)
/obj/item/ammo_casing/shotgun/stunshell/emp_act(severity)
if(prob(100/severity)) BB = null
@@ -109,7 +109,7 @@
desc = "A chemical shell used to signal distress or provide illumination."
icon_state = "fshell"
projectile_type = /obj/item/projectile/energy/flash/flare
- matter = list("metal" = 90, "glass" = 90)
+ matter = list("steel" = 90, "glass" = 90)
/obj/item/ammo_casing/a762
desc = "A 7.62mm bullet casing."
@@ -123,7 +123,7 @@
spent_icon = "lcasing-spent"
caliber = "14.5mm"
projectile_type = /obj/item/projectile/bullet/rifle/a145
- matter = list("metal" = 1250)
+ matter = list("steel" = 1250)
/obj/item/ammo_casing/a556
desc = "A 5.56mm bullet casing."
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 77693417dfd..beeee00f0f1 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -11,7 +11,7 @@
item_state = "gun"
flags = CONDUCT
slot_flags = SLOT_BELT|SLOT_HOLSTER
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
w_class = 3
throwforce = 5
throw_speed = 4
@@ -30,7 +30,7 @@
var/scoped_accuracy = null
var/last_fired = 0
-
+
//aiming system stuff
var/keep_aim = 1 //1 for keep shooting until aim is lowered
//0 for one bullet after tarrget moves and aim is lowered
@@ -61,9 +61,9 @@
return 0
if(!user.IsAdvancedToolUser())
return 0
-
+
var/mob/living/M = user
-
+
if(HULK in M.mutations)
M << "Your fingers are much too large for the trigger guard!"
return 0
@@ -73,7 +73,7 @@
if(process_projectile(P, user, user, pick("l_foot", "r_foot")))
handle_post_fire(user, user)
user.visible_message(
- "[user] shoots \himself in the foot with \the [src]!",
+ "[user] shoots \himself in the foot with \the [src]!",
"You shoot yourself in the foot with \the [src]!"
)
M.drop_item()
@@ -149,7 +149,7 @@
/obj/item/weapon/gun/proc/can_hit(atom/target as mob, var/mob/living/user as mob)
if(!special_check(user))
return 2
- //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone
+ //just assume we can shoot through glass and stuff. No big deal, the player can just choose to not target someone
//on the other side of a window if it makes a difference. Or if they run behind a window, too bad.
return check_trajectory(target, user)
@@ -167,7 +167,7 @@
playsound(user, fire_sound, 10, 1)
else
playsound(user, fire_sound, 50, 1)
-
+
if(reflex)
user.visible_message(
"\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""] by reflex!",
@@ -180,7 +180,7 @@
"You fire \the [src]!",
"You hear a [fire_sound_text]!"
)
-
+
if(recoil)
spawn()
shake_camera(user, recoil+1, recoil)
@@ -190,9 +190,9 @@
/obj/item/weapon/gun/proc/process_projectile(obj/projectile, mob/user, atom/target, var/target_zone, var/params=null, var/pointblank=0, var/reflex=0)
if(!istype(projectile, /obj/item/projectile))
return 0 //default behaviour only applies to true projectiles
-
+
var/obj/item/projectile/P = projectile
-
+
//shooting while in shock
var/x_offset = 0
var/y_offset = 0
@@ -206,9 +206,9 @@
x_offset = rand(-1,1)
//Point blank bonus
- if(pointblank)
+ if(pointblank)
var/damage_mult = 1.3 //default point blank multiplier
-
+
//determine multiplier due to the target being grabbed
if(ismob(target))
var/mob/M = target
@@ -220,7 +220,7 @@
damage_mult = 3.0
else if (grabstate >= GRAB_AGGRESSIVE)
damage_mult = 1.5
-
+
P.damage *= damage_mult
if(params)
@@ -234,7 +234,7 @@
if(!ishuman(user))
return
var/mob/living/carbon/human/M = user
-
+
mouthshoot = 1
M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...")
if(!do_after(user, 40))
@@ -274,7 +274,7 @@
var/zoom_offset = round(world.view * zoom_amount)
var/view_size = round(world.view + zoom_amount)
var/scoped_accuracy_mod = zoom_offset
-
+
zoom(zoom_offset, view_size)
if(zoom)
accuracy = scoped_accuracy + scoped_accuracy_mod
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index dffc012998a..45ae5b83509 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -7,7 +7,7 @@
slot_flags = SLOT_BELT|SLOT_BACK
w_class = 3
force = 10
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
origin_tech = "combat=3;magnets=2"
projectile_type = /obj/item/projectile/beam
fire_delay = 1 //rapid fire
@@ -106,7 +106,7 @@ obj/item/weapon/gun/energy/retro
desc = "Standard issue weapon of the Imperial Guard"
origin_tech = "combat=1;magnets=2"
self_recharge = 1
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
fire_sound = 'sound/weapons/Laser.ogg'
projectile_type = /obj/item/projectile/beam/lastertag/blue
var/required_vest
diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index 1d51f7957e7..78140303a61 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -37,7 +37,7 @@
icon_state = "crossbow"
w_class = 2.0
item_state = "crossbow"
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
origin_tech = "combat=2;magnets=2;syndicate=5"
slot_flags = SLOT_BELT
silenced = 1
@@ -56,5 +56,5 @@
desc = "A weapon favored by mercenary infiltration teams."
w_class = 4
force = 10
- matter = list("metal" = 200000)
+ matter = list("steel" = 200000)
projectile_type = /obj/item/projectile/energy/bolt/large
diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
index 906e428e8d7..b4cf0abef8a 100644
--- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
@@ -15,7 +15,7 @@
var/obj/item/weapon/grenade/chambered
var/list/grenades = new/list()
var/max_grenades = 5 //holds this + one in the chamber
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
//revolves the magazine, allowing players to choose between multiple grenade types
/obj/item/weapon/gun/launcher/grenade/proc/pump(mob/M as mob)
@@ -80,7 +80,7 @@
chambered.det_time = 10
chambered.activate(null)
return chambered
-
+
/obj/item/weapon/gun/launcher/grenade/handle_post_fire(mob/user)
message_admins("[key_name_admin(user)] fired a grenade ([chambered.name]) from a grenade launcher ([src.name]).")
log_game("[key_name_admin(user)] used a grenade ([chambered.name]).")
diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm
index 099f8687a33..6a4622e599e 100644
--- a/code/modules/projectiles/guns/launcher/syringe_gun.dm
+++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/ammo.dmi'
icon_state = "syringe-cartridge"
var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot
- matter = list("metal" = 125, "glass" = 375)
+ matter = list("steel" = 125, "glass" = 375)
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 3
@@ -53,10 +53,10 @@
if(L.can_inject())
if(syringe.reagents)
syringe.reagents.trans_to(L, 15)
-
+
syringe.break_syringe(iscarbon(hit_atom)? hit_atom : null)
syringe.update_icon()
-
+
icon_state = initial(icon_state) //reset icon state
update_icon()
@@ -67,15 +67,15 @@
item_state = "syringegun"
w_class = 3
force = 7
- matter = list("metal" = 2000)
+ matter = list("steel" = 2000)
slot_flags = SLOT_BELT
-
+
fire_sound = 'sound/weapons/empty.ogg'
fire_sound_text = "a metallic thunk"
recoil = 0
release_force = 10
throw_distance = 10
-
+
var/list/darts = list()
var/max_darts = 1
var/obj/item/weapon/syringe_cartridge/next
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 944a9fe99fd..a477b041cfe 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -8,9 +8,9 @@
icon_state = "revolver"
origin_tech = "combat=2;materials=2"
w_class = 3
- matter = list("metal" = 1000)
+ matter = list("steel" = 1000)
recoil = 1
-
+
var/caliber = "357" //determines which casings will fit
var/handle_casings = EJECT_CASINGS //determines how spent casings should be handled
var/load_method = SINGLE_CASING|SPEEDLOADER //1 = Single shells, 2 = box or quick loader, 3 = magazine
@@ -18,7 +18,7 @@
//For SINGLE_CASING or SPEEDLOADER guns
var/max_shells = 0 //the number of casings that will fit inside
- var/ammo_type = null //the type of ammo that the gun comes preloaded with
+ var/ammo_type = null //the type of ammo that the gun comes preloaded with
var/list/loaded = list() //stored ammo
//For MAGAZINE guns
@@ -50,7 +50,7 @@
chambered = ammo_magazine.stored_ammo[1]
if(handle_casings != HOLD_CASINGS)
ammo_magazine.stored_ammo -= chambered
-
+
if (chambered)
return chambered.BB
return null
@@ -183,7 +183,7 @@
)
if(auto_eject_sound)
playsound(user, auto_eject_sound, 40, 1)
- ammo_magazine.update_icon()
+ ammo_magazine.update_icon()
ammo_magazine = null
update_icon() //make sure to do this after unsetting ammo_magazine
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 12b56021d47..15ae36abab6 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -260,7 +260,7 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "bucket"
item_state = "bucket"
- matter = list("metal" = 200)
+ matter = list("steel" = 200)
w_class = 3.0
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(10,20,30,60,120)
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 8b26dd31333..db17281f49f 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -10,7 +10,7 @@
anchored = 0
density = 0
pressure_resistance = 5*ONE_ATMOSPHERE
- matter = list("metal" = 1850)
+ matter = list("steel" = 1850)
level = 2
var/ptype = 0
// 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 89e31574d2c..d842b52edc2 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -66,8 +66,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if (copytext(ID, 1, 2) == "$")
return_name = copytext(ID, 2)
switch(return_name)
- if("metal")
- return_name = "Metal"
+ if("steel")
+ return_name = "Steel"
if("glass")
return_name = "Glass"
if("gold")
@@ -262,7 +262,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_destroy.loaded_item.reliability < 100 && linked_destroy.loaded_item.crit_fail)
files.UpdateDesign(linked_destroy.loaded_item.type)
if(linked_lathe && linked_destroy.loaded_item.matter) //Also sends salvaged materials to a linked protolathe, if any.
- linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["metal"]*linked_destroy.decon_mod))
+ linked_lathe.m_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["steel"]*linked_destroy.decon_mod))
linked_lathe.g_amount += min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.matter["glass"]*linked_destroy.decon_mod))
linked_destroy.loaded_item = null
for(var/obj/I in linked_destroy.contents)
@@ -438,27 +438,24 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else if(href_list["lathe_ejectsheet"] && linked_lathe) //Causes the protolathe to eject a sheet of material
var/desired_num_sheets = text2num(href_list["amount"])
var/res_amount, type
- switch(href_list["lathe_ejectsheet"])
- if("metal")
- type = /obj/item/stack/sheet/metal
+ var/material/M = name_to_mineral[href_list["lathe_ejectsheet"]]
+ if(istype(M))
+ type = M.stack_type
+
+ switch(name_to_mineral[href_list["lathe_ejectsheet"]])
+ if("steel")
res_amount = "m_amount"
if("glass")
- type = /obj/item/stack/sheet/glass
res_amount = "g_amount"
if("gold")
- type = /obj/item/stack/sheet/mineral/gold
res_amount = "gold_amount"
if("silver")
- type = /obj/item/stack/sheet/mineral/silver
res_amount = "silver_amount"
if("phoron")
- type = /obj/item/stack/sheet/mineral/phoron
res_amount = "phoron_amount"
if("uranium")
- type = /obj/item/stack/sheet/mineral/uranium
res_amount = "uranium_amount"
if("diamond")
- type = /obj/item/stack/sheet/mineral/diamond
res_amount = "diamond_amount"
if(ispath(type) && hasvar(linked_lathe, res_amount))
@@ -817,11 +814,11 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "Protolathe Menu
"
dat += "Material Storage
"
dat += ""
- for(var/M in list("metal", "glass", "gold", "silver", "phoron", "uranium", "diamond"))
+ for(var/M in list("steel", "glass", "gold", "silver", "phoron", "uranium", "diamond"))
var/amount
var/sheetsize = 2000
switch(M)
- if("metal")
+ if("steel")
amount = linked_lathe.m_amount
sheetsize = 3750
if("glass")
diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm
index 72127cfa89b..f5ec78cd70b 100644
--- a/code/modules/research/research.dm
+++ b/code/modules/research/research.dm
@@ -269,7 +269,7 @@ datum/tech/robotics
icon_state = "datadisk2"
item_state = "card-id"
w_class = 2.0
- matter = list("metal" = 30, "glass" = 10)
+ matter = list("steel" = 30, "glass" = 10)
var/datum/tech/stored
/obj/item/weapon/disk/tech_disk/New()
@@ -283,7 +283,7 @@ datum/tech/robotics
icon_state = "datadisk2"
item_state = "card-id"
w_class = 2.0
- matter = list("metal" = 30,"glass" = 10)
+ matter = list("steel" = 30,"glass" = 10)
var/datum/design/blueprint
/obj/item/weapon/disk/design_disk/New()
diff --git a/code/modules/research/xenoarchaeology/geosample.dm b/code/modules/research/xenoarchaeology/geosample.dm
index 689f61b888f..535a0b4f073 100644
--- a/code/modules/research/xenoarchaeology/geosample.dm
+++ b/code/modules/research/xenoarchaeology/geosample.dm
@@ -61,44 +61,19 @@
age = rand(1,999)
if(container.mineral)
- switch(container.mineral.name)
- if("Uranium")
- age_million = rand(1, 704)
- age_thousand = rand(1,999)
- find_presence["potassium"] = rand(1,1000) / 100
- source_mineral = "potassium"
- if("Iron")
- age_thousand = rand(1, 999)
- age_million = rand(1, 999)
- find_presence["iron"] = rand(1,1000) / 100
- source_mineral = "iron"
- if("Diamond")
- age_thousand = rand(1,999)
- age_million = rand(1,999)
- find_presence["nitrogen"] = rand(1,1000) / 100
- source_mineral = "nitrogen"
- if("Gold")
- age_thousand = rand(1,999)
- age_million = rand(1,999)
- age_billion = rand(3,4)
- find_presence["iron"] = rand(1,1000) / 100
- source_mineral = "iron"
- if("Silver")
- age_thousand = rand(1,999)
- age_million = rand(1,999)
- find_presence["iron"] = rand(1,1000) / 100
- source_mineral = "iron"
- if("Phoron")
- age_thousand = rand(1,999)
- age_million = rand(1,999)
- age_billion = rand(10, 13)
- find_presence["phoron"] = rand(1,1000) / 100
- source_mineral = "phoron"
- if("Clown")
- age = rand(-1,-999) //thats the joke
- age_thousand = rand(-1,-999)
- find_presence["phoron"] = rand(1,1000) / 100
- source_mineral = "phoron"
+ if(islist(container.mineral.xarch_ages))
+ var/list/ages = container.mineral.xarch_ages
+ if(ages["thousand"])
+ age_thousand = rand(1,ages["thousand"])
+ if(ages["million"])
+ age_million = rand(1,ages["million"])
+ if(ages["billion"])
+ if(ages["billion_lower"])
+ age_billion = rand(ages["billion_lower"],ages["billion"])
+ else
+ age_billion = rand(1,ages["billion"])
+ if(container.mineral.xarch_source_mineral)
+ source_mineral = container.mineral.xarch_source_mineral
if(prob(75))
find_presence["phosphorus"] = rand(1,500) / 100
diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi
index 98689c2032b..5c0200528c5 100644
Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ
diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi
index d0fdf5256df..f2d676b410e 100644
Binary files a/icons/turf/walls.dmi and b/icons/turf/walls.dmi differ