[materials.len? "Material Reclamation" : "Destroy Item"]"
for (var/M in materials)
l += "* [CallMaterialName(M)] x [materials[M]]"
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 23d515cf880..73302014758 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -93,14 +93,14 @@
loaded_item.forceMove(loc)
..()
-/obj/machinery/rnd/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted)
+/obj/machinery/rnd/proc/AfterMaterialInsert(item_inserted, id_inserted, amount_inserted)
var/stack_name
- if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal))
+ if(istype(item_inserted, /obj/item/stack/ore/bluespace_crystal))
stack_name = "bluespace"
use_power(MINERAL_MATERIAL_AMOUNT / 10)
else
- var/obj/item/stack/S = type_inserted
- stack_name = initial(S.name)
+ var/obj/item/stack/S = item_inserted
+ stack_name = S.name
use_power(min(1000, (amount_inserted / 100)))
add_overlay("protolathe_[stack_name]")
addtimer(CALLBACK(src, /atom/proc/cut_overlay, "protolathe_[stack_name]"), 10)
diff --git a/code/modules/research/research_disk.dm b/code/modules/research/research_disk.dm
index 7c7d0af8b79..5de053fae6f 100644
--- a/code/modules/research/research_disk.dm
+++ b/code/modules/research/research_disk.dm
@@ -3,7 +3,7 @@
name = "technology disk"
desc = "A disk for storing technology data for further research."
icon_state = "datadisk0"
- materials = list(/datum/material/iron=300, /datum/material/glass=100)
+ custom_materials = list(/datum/material/iron=300, /datum/material/glass=100)
var/datum/techweb/stored_research
/obj/item/disk/tech_disk/Initialize()
@@ -15,7 +15,7 @@
/obj/item/disk/tech_disk/debug
name = "\improper CentCom technology disk"
desc = "A debug item for research"
- materials = list()
+ custom_materials = null
/obj/item/disk/tech_disk/debug/Initialize()
. = ..()
diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm
index 15d740cf26d..9b41c4aec4d 100644
--- a/code/modules/research/stock_parts.dm
+++ b/code/modules/research/stock_parts.dm
@@ -132,31 +132,31 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
name = "capacitor"
desc = "A basic capacitor used in the construction of a variety of devices."
icon_state = "capacitor"
- materials = list(/datum/material/iron=50, /datum/material/glass=50)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=50)
/obj/item/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"
- materials = list(/datum/material/iron=50, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=20)
/obj/item/stock_parts/manipulator
name = "micro-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "micro_mani"
- materials = list(/datum/material/iron=30)
+ custom_materials = list(/datum/material/iron=30)
/obj/item/stock_parts/micro_laser
name = "micro-laser"
desc = "A tiny laser used in certain devices."
icon_state = "micro_laser"
- materials = list(/datum/material/iron=10, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=10, /datum/material/glass=20)
/obj/item/stock_parts/matter_bin
name = "matter bin"
desc = "A container designed to hold compressed matter awaiting reconstruction."
icon_state = "matter_bin"
- materials = list(/datum/material/iron=80)
+ custom_materials = list(/datum/material/iron=80)
//Rating 2
@@ -165,35 +165,35 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
desc = "An advanced capacitor used in the construction of a variety of devices."
icon_state = "adv_capacitor"
rating = 2
- materials = list(/datum/material/iron=50, /datum/material/glass=50)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=50)
/obj/item/stock_parts/scanning_module/adv
name = "advanced scanning module"
desc = "A compact, high resolution scanning module used in the construction of certain devices."
icon_state = "adv_scan_module"
rating = 2
- materials = list(/datum/material/iron=50, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=20)
/obj/item/stock_parts/manipulator/nano
name = "nano-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "nano_mani"
rating = 2
- materials = list(/datum/material/iron=30)
+ custom_materials = list(/datum/material/iron=30)
/obj/item/stock_parts/micro_laser/high
name = "high-power micro-laser"
desc = "A tiny laser used in certain devices."
icon_state = "high_micro_laser"
rating = 2
- materials = list(/datum/material/iron=10, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=10, /datum/material/glass=20)
/obj/item/stock_parts/matter_bin/adv
name = "advanced matter bin"
desc = "A container designed to hold compressed matter awaiting reconstruction."
icon_state = "advanced_matter_bin"
rating = 2
- materials = list(/datum/material/iron=80)
+ custom_materials = list(/datum/material/iron=80)
//Rating 3
@@ -202,35 +202,35 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
icon_state = "super_capacitor"
rating = 3
- materials = list(/datum/material/iron=50, /datum/material/glass=50)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=50)
/obj/item/stock_parts/scanning_module/phasic
name = "phasic scanning module"
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
icon_state = "super_scan_module"
rating = 3
- materials = list(/datum/material/iron=50, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=20)
/obj/item/stock_parts/manipulator/pico
name = "pico-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "pico_mani"
rating = 3
- materials = list(/datum/material/iron=30)
+ custom_materials = list(/datum/material/iron=30)
/obj/item/stock_parts/micro_laser/ultra
name = "ultra-high-power micro-laser"
icon_state = "ultra_high_micro_laser"
desc = "A tiny laser used in certain devices."
rating = 3
- materials = list(/datum/material/iron=10, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=10, /datum/material/glass=20)
/obj/item/stock_parts/matter_bin/super
name = "super matter bin"
desc = "A container designed to hold compressed matter awaiting reconstruction."
icon_state = "super_matter_bin"
rating = 3
- materials = list(/datum/material/iron=80)
+ custom_materials = list(/datum/material/iron=80)
//Rating 4
@@ -239,35 +239,35 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
desc = "An capacity capacitor used in the construction of a variety of devices."
icon_state = "quadratic_capacitor"
rating = 4
- materials = list(/datum/material/iron=50, /datum/material/glass=50)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=50)
/obj/item/stock_parts/scanning_module/triphasic
name = "triphasic scanning module"
desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices."
icon_state = "triphasic_scan_module"
rating = 4
- materials = list(/datum/material/iron=50, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=50, /datum/material/glass=20)
/obj/item/stock_parts/manipulator/femto
name = "femto-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "femto_mani"
rating = 4
- materials = list(/datum/material/iron=30)
+ custom_materials = list(/datum/material/iron=30)
/obj/item/stock_parts/micro_laser/quadultra
name = "quad-ultra micro-laser"
icon_state = "quadultra_micro_laser"
desc = "A tiny laser used in certain devices."
rating = 4
- materials = list(/datum/material/iron=10, /datum/material/glass=20)
+ custom_materials = list(/datum/material/iron=10, /datum/material/glass=20)
/obj/item/stock_parts/matter_bin/bluespace
name = "bluespace matter bin"
desc = "A container designed to hold compressed matter awaiting reconstruction."
icon_state = "bluespace_matter_bin"
rating = 4
- materials = list(/datum/material/iron=80)
+ custom_materials = list(/datum/material/iron=80)
// Subspace stock parts
@@ -275,43 +275,43 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
name = "subspace ansible"
icon_state = "subspace_ansible"
desc = "A compact module capable of sensing extradimensional activity."
- materials = list(/datum/material/iron=30, /datum/material/glass=10)
+ custom_materials = list(/datum/material/iron=30, /datum/material/glass=10)
/obj/item/stock_parts/subspace/filter
name = "hyperwave filter"
icon_state = "hyperwave_filter"
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
- materials = list(/datum/material/iron=30, /datum/material/glass=10)
+ custom_materials = list(/datum/material/iron=30, /datum/material/glass=10)
/obj/item/stock_parts/subspace/amplifier
name = "subspace amplifier"
icon_state = "subspace_amplifier"
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
- materials = list(/datum/material/iron=30, /datum/material/glass=10)
+ custom_materials = list(/datum/material/iron=30, /datum/material/glass=10)
/obj/item/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."
- materials = list(/datum/material/iron=30, /datum/material/glass=10)
+ custom_materials = list(/datum/material/iron=30, /datum/material/glass=10)
/obj/item/stock_parts/subspace/analyzer
name = "subspace wavelength analyzer"
icon_state = "wavelength_analyzer"
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
- materials = list(/datum/material/iron=30, /datum/material/glass=10)
+ custom_materials = list(/datum/material/iron=30, /datum/material/glass=10)
/obj/item/stock_parts/subspace/crystal
name = "ansible crystal"
icon_state = "ansible_crystal"
desc = "A crystal made from pure glass used to transmit laser databursts to subspace."
- materials = list(/datum/material/glass=50)
+ custom_materials = list(/datum/material/glass=50)
/obj/item/stock_parts/subspace/transmitter
name = "subspace transmitter"
icon_state = "subspace_transmitter"
desc = "A large piece of equipment used to open a window into the subspace dimension."
- materials = list(/datum/material/iron=50)
+ custom_materials = list(/datum/material/iron=50)
/obj/item/research//Makes testing much less of a pain -Sieve
name = "research"
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index 9d44b014994..18d36f28e04 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -985,7 +985,7 @@
item_state = "tile-bluespace"
w_class = WEIGHT_CLASS_NORMAL
force = 6
- materials = list(/datum/material/iron=500)
+ custom_materials = list(/datum/material/iron=500)
throwforce = 10
throw_speed = 3
throw_range = 7
@@ -1002,7 +1002,7 @@
item_state = "tile-sepia"
w_class = WEIGHT_CLASS_NORMAL
force = 6
- materials = list(/datum/material/iron=500)
+ custom_materials = list(/datum/material/iron=500)
throwforce = 10
throw_speed = 0.1
throw_range = 28
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index a9a8e7bf9fb..02a07b51787 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -92,7 +92,7 @@
ADD_TRAIT(holder, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
holder.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
holder.slot_flags = null
- holder.materials = null
+ holder.set_custom_materials(null)
if(istype(holder, /obj/item/assembly/flash/armimplant))
var/obj/item/assembly/flash/F = holder
diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm
index ed1bc7aeb98..57ea52e3959 100644
--- a/code/modules/surgery/surgery.dm
+++ b/code/modules/surgery/surgery.dm
@@ -142,14 +142,14 @@
name = "Surgery Procedure Disk"
desc = "A disk that contains advanced surgery procedures, must be loaded into an Operating Console."
icon_state = "datadisk1"
- materials = list(/datum/material/iron=300, /datum/material/glass=100)
+ custom_materials = list(/datum/material/iron=300, /datum/material/glass=100)
var/list/surgeries
/obj/item/disk/surgery/debug
name = "Debug Surgery Disk"
desc = "A disk that contains all existing surgery procedures."
icon_state = "datadisk1"
- materials = list(/datum/material/iron=300, /datum/material/glass=100)
+ custom_materials = list(/datum/material/iron=300, /datum/material/glass=100)
/obj/item/disk/surgery/debug/Initialize()
. = ..()
diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm
index 6ae500d1c1f..b91b38bf73c 100644
--- a/code/modules/surgery/tools.dm
+++ b/code/modules/surgery/tools.dm
@@ -6,7 +6,7 @@
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
item_state = "clamps"
- materials = list(/datum/material/iron=6000, /datum/material/glass=3000)
+ custom_materials = list(/datum/material/iron=6000, /datum/material/glass=3000)
flags_1 = CONDUCT_1
item_flags = SURGICAL_TOOL
w_class = WEIGHT_CLASS_TINY
@@ -17,7 +17,7 @@
desc = "Micro-mechanical manipulator for retracting stuff."
icon = 'icons/obj/surgery.dmi'
icon_state = "retractor"
- materials = list(/datum/material/iron=6000, /datum/material/glass=3000)
+ custom_materials = list(/datum/material/iron=6000, /datum/material/glass=3000)
w_class = WEIGHT_CLASS_TINY
toolspeed = 0.5
@@ -30,7 +30,7 @@
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
item_state = "clamps"
- materials = list(/datum/material/iron=5000, /datum/material/glass=2500)
+ custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500)
flags_1 = CONDUCT_1
item_flags = SURGICAL_TOOL
w_class = WEIGHT_CLASS_TINY
@@ -42,7 +42,7 @@
desc = "Tiny servos power a pair of pincers to stop bleeding."
icon = 'icons/obj/surgery.dmi'
icon_state = "hemostat"
- materials = list(/datum/material/iron=5000, /datum/material/glass=2500)
+ custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500)
w_class = WEIGHT_CLASS_TINY
toolspeed = 0.5
attack_verb = list("attacked", "pinched")
@@ -56,7 +56,7 @@
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
item_state = "cautery"
- materials = list(/datum/material/iron=2500, /datum/material/glass=750)
+ custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750)
flags_1 = CONDUCT_1
item_flags = SURGICAL_TOOL
w_class = WEIGHT_CLASS_TINY
@@ -68,7 +68,7 @@
desc = "A heated element that cauterizes wounds."
icon = 'icons/obj/surgery.dmi'
icon_state = "cautery"
- materials = list(/datum/material/iron=2500, /datum/material/glass=750)
+ custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750)
w_class = WEIGHT_CLASS_TINY
toolspeed = 0.5
attack_verb = list("burnt")
@@ -82,7 +82,7 @@
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
hitsound = 'sound/weapons/circsawhit.ogg'
- materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
+ custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
flags_1 = CONDUCT_1
item_flags = SURGICAL_TOOL
force = 15
@@ -96,7 +96,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "drill"
hitsound = 'sound/weapons/circsawhit.ogg'
- materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
+ custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
force = 10
w_class = WEIGHT_CLASS_SMALL
toolspeed = 0.5
@@ -119,7 +119,7 @@
throwforce = 5
throw_speed = 3
throw_range = 5
- materials = list(/datum/material/iron=4000, /datum/material/glass=1000)
+ custom_materials = list(/datum/material/iron=4000, /datum/material/glass=1000)
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
sharpness = IS_SHARP_ACCURATE
@@ -138,7 +138,7 @@
throwforce = 5
throw_speed = 3
throw_range = 5
- materials = list(/datum/material/iron=4000, /datum/material/glass=1000)
+ custom_materials = list(/datum/material/iron=4000, /datum/material/glass=1000)
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
toolspeed = 0.5
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -165,7 +165,7 @@
throwforce = 9
throw_speed = 2
throw_range = 5
- materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
+ custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
attack_verb = list("attacked", "slashed", "sawed", "cut")
sharpness = IS_SHARP
@@ -183,7 +183,7 @@
throwforce = 9
throw_speed = 2
throw_range = 5
- materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
+ custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000)
toolspeed = 0.5
attack_verb = list("attacked", "slashed", "sawed", "cut")
sharpness = IS_SHARP
diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm
index 0d7781be03e..ada1a7ba3a9 100644
--- a/code/modules/vehicles/atv.dm
+++ b/code/modules/vehicles/atv.dm
@@ -6,7 +6,7 @@
max_integrity = 150
armor = list("melee" = 50, "bullet" = 25, "laser" = 20, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
key_type = /obj/item/key
- integrity_failure = 70
+ integrity_failure = 0.5
var/static/mutable_appearance/atvcover
/obj/vehicle/ridden/atv/Initialize()
@@ -80,7 +80,7 @@
return ..()
/obj/vehicle/ridden/atv/process()
- if(obj_integrity >= integrity_failure)
+ if(obj_integrity >= integrity_failure * max_integrity)
return PROCESS_KILL
if(prob(20))
return
diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm
index 46305334d86..97ed066420d 100644
--- a/code/modules/vehicles/secway.dm
+++ b/code/modules/vehicles/secway.dm
@@ -6,7 +6,7 @@
max_integrity = 60
armor = list("melee" = 10, "bullet" = 0, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
key_type = /obj/item/key/security
- integrity_failure = 30
+ integrity_failure = 0.5
/obj/vehicle/ridden/secway/Initialize()
. = ..()
@@ -19,7 +19,7 @@
return ..()
/obj/vehicle/ridden/secway/process()
- if(obj_integrity >= integrity_failure)
+ if(obj_integrity >= integrity_failure * max_integrity)
return PROCESS_KILL
if(prob(20))
return
@@ -51,4 +51,4 @@
for(var/mob/M in buckled_mobs)
M.bullet_act(P)
return TRUE
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm
index bb395416e59..28edb2f7ea4 100644
--- a/code/modules/vending/_vending.dm
+++ b/code/modules/vending/_vending.dm
@@ -51,7 +51,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
verb_ask = "beeps"
verb_exclaim = "beeps"
max_integrity = 300
- integrity_failure = 100
+ integrity_failure = 0.33
armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70)
circuit = /obj/item/circuitboard/machine/vendor
payment_department = ACCOUNT_SRV
diff --git a/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi
index 4cee2d7d43a..f22572d36cd 100644
Binary files a/icons/mob/inhands/equipment/toolbox_lefthand.dmi and b/icons/mob/inhands/equipment/toolbox_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/toolbox_righthand.dmi b/icons/mob/inhands/equipment/toolbox_righthand.dmi
index 8f1755669fc..9842e84283c 100644
Binary files a/icons/mob/inhands/equipment/toolbox_righthand.dmi and b/icons/mob/inhands/equipment/toolbox_righthand.dmi differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 224d56324db..9b1ec794ea3 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ