diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index e4a6f7aabf5..484fea90380 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -150,6 +150,7 @@ #define COMSIG_MOB_HUD_CREATED "mob_hud_created" //from base of mob/create_mob_hud(): () #define COMSIG_MOB_ATTACK_HAND "mob_attack_hand" //from base of #define COMSIG_MOB_ITEM_ATTACK "mob_item_attack" //from base of /obj/item/attack(): (mob/M, mob/user) +#define COMSIG_MOB_APPLY_DAMGE "mob_apply_damage" //from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone) #define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters) #define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" //from base of mob/RangedAttack(): (atom/A, params) #define COMSIG_MOB_THROW "mob_throw" //from base of /mob/throw_item(): (atom/target) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index ea54cd06ae3..99c06c9f8b7 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -59,19 +59,6 @@ //let's just pretend fulltile windows being children of border windows is fine #define FULLTILE_WINDOW_DIR NORTHEAST -//Material defines, for determining how much of a given material an item contains -#define MAT_METAL "$metal" -#define MAT_GLASS "$glass" -#define MAT_SILVER "$silver" -#define MAT_GOLD "$gold" -#define MAT_DIAMOND "$diamond" -#define MAT_URANIUM "$uranium" -#define MAT_PLASMA "$plasma" -#define MAT_BLUESPACE "$bluespace" -#define MAT_BANANIUM "$bananium" -#define MAT_TITANIUM "$titanium" -#define MAT_BIOMASS "$biomass" -#define MAT_PLASTIC "$plastic" //The amount of materials you get from a sheet of mineral like iron/diamond/glass etc #define MINERAL_MATERIAL_AMOUNT 2000 //The maximum size of a stack object. diff --git a/code/__DEFINES/materials.dm b/code/__DEFINES/materials.dm new file mode 100644 index 00000000000..2d48786b76b --- /dev/null +++ b/code/__DEFINES/materials.dm @@ -0,0 +1,12 @@ +/// Is the material from an ore? currently unused but exists atm for categorizations sake +#define MAT_CATEGORY_ORE "ore capable" + +/// Hard materials, such as iron or metal +#define MAT_CATEGORY_RIGID "rigid material" + + +/// Gets the reference for the material type that was given +#define getmaterialref(A) (SSmaterials.materials[A]) + +/// Flag for atoms, this flag ensures it isn't re-colored by materials. Useful for snowflake icons such as default toolboxes. +#define MATERIAL_NO_COLOR (1<<0) \ No newline at end of file diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index e9816ed3eb0..6727c64b570 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -105,6 +105,7 @@ #define INIT_ORDER_SERVER_MAINT 93 #define INIT_ORDER_INPUT 85 #define INIT_ORDER_VIS 80 +#define INIT_ORDER_MATERIALS 76 #define INIT_ORDER_RESEARCH 75 #define INIT_ORDER_EVENTS 70 #define INIT_ORDER_JOBS 65 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index a108082be66..4140d5b04f1 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -42,11 +42,6 @@ for(var/path in subtypesof(/datum/surgery)) GLOB.surgeries_list += new path() - //Materials - for(var/path in subtypesof(/datum/material)) - var/datum/material/D = new path() - GLOB.materials_list[D.id] = D - GLOB.emote_list = init_emote_list() diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 14c752613bf..1ea47134cd6 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -16,7 +16,6 @@ GLOBAL_LIST_EMPTY(singularities) //list of all singularities on the stati GLOBAL_LIST(chemical_reactions_list) //list of all /datum/chemical_reaction datums. Used during chemical reactions GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff -GLOBAL_LIST_EMPTY(materials_list) //list of all /datum/material datums indexed by material id. GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id. GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path. GLOBAL_LIST_EMPTY(crafting_recipes) //list of all table craft recipes diff --git a/code/controllers/subsystem/materials.dm b/code/controllers/subsystem/materials.dm new file mode 100644 index 00000000000..5acfa4fed41 --- /dev/null +++ b/code/controllers/subsystem/materials.dm @@ -0,0 +1,27 @@ +/*! How material datums work +Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything. + +These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area + +*/ + +SUBSYSTEM_DEF(materials) + name = "Materials" + flags = SS_NO_FIRE + init_order = INIT_ORDER_MATERIALS + ///Dictionary of material.type || material ref + var/list/materials = list() + ///Dictionary of category || list of material refs + var/list/materials_by_category = list() + +/datum/controller/subsystem/materials/Initialize(timeofday) + InitializeMaterials() + return ..() + +///Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info) +/datum/controller/subsystem/materials/proc/InitializeMaterials(timeofday) + for(var/type in subtypesof(/datum/material)) + var/datum/material/ref = new type + materials[type] = ref + for(var/c in ref.categories) + materials_by_category[c] += list(ref) diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index c25771b8904..dc9e2500af2 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -155,6 +155,7 @@ SUBSYSTEM_DEF(research) stack_trace("WARNING: Design ID clash with ID [initial(DN.id)] detected! Path: [path]") errored_datums[DN] = initial(DN.id) continue + DN.InitializeMaterials() //Initialize the materials in the design returned[initial(DN.id)] = DN techweb_designs = returned verify_techweb_designs() diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm new file mode 100644 index 00000000000..094dce211d4 --- /dev/null +++ b/code/datums/components/explodable.dm @@ -0,0 +1,107 @@ +///Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin. +/datum/component/explodable + var/devastation_range = 0 + var/heavy_impact_range = 0 + var/light_impact_range = 2 + var/flash_range = 3 + var/equipped_slot //For items, lets us determine where things should be hit. + +/datum/component/explodable/Initialize(devastation_range_override, heavy_impact_range_override, light_impact_range_override, flash_range_override) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/explodable_attack) + RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/explodable_insert_item) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/detonate) + if(ismovableatom(parent)) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/explodable_impact) + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/explodable_bump) + if(isitem(parent)) + RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/explodable_attack) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + + + + if(devastation_range_override) + devastation_range = devastation_range_override + if(heavy_impact_range_override) + heavy_impact_range = heavy_impact_range_override + if(light_impact_range_override) + light_impact_range = light_impact_range_override + if(flash_range_override) + flash_range = flash_range_override + +/datum/component/explodable/proc/explodable_insert_item(datum/source, obj/item/I, mob/M, silent = FALSE, force = FALSE) + check_if_detonate(I) + +/datum/component/explodable/proc/explodable_impact(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) + check_if_detonate(hit_atom) + +/datum/component/explodable/proc/explodable_bump(datum/source, atom/A) + check_if_detonate(A) + +///Called when you use this object to attack sopmething +/datum/component/explodable/proc/explodable_attack(datum/source, atom/movable/target, mob/living/user) + check_if_detonate(target) + +///Called when you attack a specific body part of the thing this is equipped on. Useful for exploding pants. +/datum/component/explodable/proc/explodable_attack_zone(datum/source, damage, damagetype, def_zone) + if(!def_zone) + return + if(damagetype != BURN) //Don't bother if it's not fire. + return + if(!is_hitting_zone(def_zone)) //You didn't hit us! ha! + return + detonate() + +/datum/component/explodable/proc/on_equip(datum/source, mob/equipper, slot) + RegisterSignal(equipper, COMSIG_MOB_APPLY_DAMGE, .proc/explodable_attack_zone) + +/datum/component/explodable/proc/on_drop(datum/source, mob/user) + UnregisterSignal(user, COMSIG_MOB_APPLY_DAMGE) + +/// Checks if we're hitting the zone this component is covering +/datum/component/explodable/proc/is_hitting_zone(def_zone) + var/obj/item/item = parent + var/mob/living/L = item.loc //Get whoever is equipping the item currently + + if(!istype(L)) + return + + var/obj/item/bodypart/bodypart = L.get_bodypart(check_zone(def_zone)) + + var/list/equipment_items = list() + if(iscarbon(L)) + var/mob/living/carbon/C = L + equipment_items += list(C.head, C.wear_mask, C.back, C.gloves, C.shoes, C.glasses, C.ears) + if(ishuman(C)) + var/mob/living/carbon/human/H = C + equipment_items += list(H.wear_suit, H.w_uniform, H.belt, H.s_store, H.wear_id) + + for(var/bp in equipment_items) + if(!bp) + continue + + var/obj/item/I = bp + if(I.body_parts_covered & bodypart.body_part) + return TRUE + return FALSE + + +/datum/component/explodable/proc/check_if_detonate(target) + if(!isitem(target)) + return + var/obj/item/I = target + if(!I.is_hot()) + return + detonate() //If we're touching a hot item we go boom + + +/// Expldoe and remove the object +/datum/component/explodable/proc/detonate() + var/atom/A = parent + explosion(A, devastation_range, heavy_impact_range, light_impact_range, flash_range) //epic explosion time + qdel(A) + + diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 48fa758db14..45fcf8e03b9 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -1,4 +1,4 @@ -/* +/*! This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them. Variables: @@ -13,7 +13,7 @@ var/total_amount = 0 var/max_amount var/sheet_type - var/list/materials + var/list/materials //Map of key = material ref | Value = amount var/show_on_examine var/disable_attackby var/list/allowed_typecache @@ -22,6 +22,7 @@ var/datum/callback/precondition var/datum/callback/after_insert +/// Sets up the proper signals and fills the list of materials with the appropriate references. /datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition, datum/callback/_after_insert, _disable_attackby) materials = list() max_amount = max(0, max_amt) @@ -40,23 +41,19 @@ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy) RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine) - var/list/possible_mats = list() - for(var/mat_type in subtypesof(/datum/material)) - var/datum/material/MT = mat_type - possible_mats[initial(MT.id)] = mat_type - for(var/id in mat_list) - if(possible_mats[id]) - var/mat_path = possible_mats[id] - materials[id] = new mat_path() + for(var/mat in mat_list) //Make the assoc list ref | amount + var/datum/material/M = getmaterialref(mat) || mat + materials[M] = 0 /datum/component/material_container/proc/OnExamine(datum/source, mob/user) if(show_on_examine) for(var/I in materials) - var/datum/material/M = materials[I] - var/amt = amount(M.id) + var/datum/material/M = I + var/amt = materials[I] if(amt) to_chat(user, "It has [amt] units of [lowertext(M.name)] stored.") +/// Proc that allows players to fill the parent with mats /datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user) var/list/tc = allowed_typecache if(disable_attackby) @@ -81,6 +78,7 @@ return user_insert(I, user) +/// Proc used for when player inserts materials /datum/component/material_container/proc/user_insert(obj/item/I, mob/living/user) set waitfor = FALSE var/requested_amount @@ -112,24 +110,34 @@ else if(I == active_held) user.put_in_active_hand(I) -//For inserting an amount of material -/datum/component/material_container/proc/insert_amount(amt, id = null) - if(amt > 0 && has_space(amt)) - var/total_amount_saved = total_amount - if(id) - var/datum/material/M = materials[id] - if(M) - M.amount += amt - total_amount += amt - else - for(var/i in materials) - var/datum/material/M = materials[i] - M.amount += amt - total_amount += amt - return (total_amount - total_amount_saved) - return FALSE +/// Proc specifically for inserting items, returns the amount of materials entered. +/datum/component/material_container/proc/insert_item(obj/item/I, var/multiplier = 1, stack_amt) + if(!I) + return FALSE + if(istype(I, /obj/item/stack)) + return insert_stack(I, stack_amt, multiplier) -/datum/component/material_container/proc/insert_stack(obj/item/stack/S, amt, multiplier = 1) + multiplier = CEILING(multiplier, 0.01) + + var/material_amount = get_item_material_amount(I) + if(!material_amount || !has_space(material_amount)) + return FALSE + + last_inserted_id = insert_item_materials(I, multiplier) + return material_amount + +/datum/component/material_container/proc/insert_item_materials(obj/item/I, multiplier = 1) + var/primary_mat + var/max_mat_value = 0 + for(var/MAT in materials) + materials[MAT] += I.materials[MAT] * multiplier + total_amount += I.materials[MAT] * multiplier + if(I.materials[MAT] > max_mat_value) + primary_mat = MAT + return primary_mat + +/// Proc for putting a stack inside of the container +/datum/component/material_container/proc/insert_stack(obj/item/stack/S, amt, multiplier = 1) if(isnull(amt)) amt = S.amount @@ -147,250 +155,198 @@ if(!amt) return FALSE - last_inserted_id = insert_materials(S,amt * multiplier) + last_inserted_id = insert_item_materials(S,amt * multiplier) S.use(amt) return amt -/datum/component/material_container/proc/insert_item(obj/item/I, multiplier = 1, stack_amt) - if(!I) - return FALSE - if(istype(I, /obj/item/stack)) - return insert_stack(I, stack_amt, multiplier) +/// For inserting an amount of material +/datum/component/material_container/proc/insert_amount_mat(amt, var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + if(amt > 0 && has_space(amt)) + var/total_amount_saved = total_amount + if(mat) + materials[mat] += amt + else + for(var/i in materials) + materials[i] += amt + total_amount += amt + return (total_amount - total_amount_saved) + return FALSE - var/material_amount = get_item_material_amount(I) - if(!material_amount || !has_space(material_amount)) - return FALSE - - last_inserted_id = insert_materials(I, multiplier) - return material_amount - -/datum/component/material_container/proc/insert_materials(obj/item/I, multiplier = 1) //for internal usage only - var/datum/material/M - var/primary_mat - var/max_mat_value = 0 - for(var/MAT in materials) - M = materials[MAT] - M.amount += I.materials[MAT] * multiplier - total_amount += I.materials[MAT] * multiplier - if(I.materials[MAT] > max_mat_value) - primary_mat = MAT - return primary_mat - -//For consuming material -//mats is a list of types of material to use and the corresponding amounts, example: list(MAT_METAL=100, MAT_GLASS=200) -/datum/component/material_container/proc/use_amount(list/mats, multiplier=1) - if(!mats || !mats.len) - return FALSE - - var/datum/material/M - for(var/MAT in materials) - M = materials[MAT] - if(M.amount < (mats[MAT] * multiplier)) - return FALSE - - var/total_amount_save = total_amount - for(var/MAT in materials) - M = materials[MAT] - M.amount -= mats[MAT] * multiplier - total_amount -= mats[MAT] * multiplier - - return total_amount_save - total_amount - - -/datum/component/material_container/proc/use_amount_type(amt, id) - var/datum/material/M = materials[id] - if(M) - if(M.amount >= amt) - M.amount -= amt +/// Uses an amount of a specific material, effectively removing it. +/datum/component/material_container/proc/use_amount_mat(amt, var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + var/amount = materials[mat] + if(mat) + if(amount >= amt) + materials[mat] -= amt total_amount -= amt return amt return FALSE -/datum/component/material_container/proc/transer_amt_to(var/datum/component/material_container/T, amt, id) - if((amt==0)||(!T)||(!id)) +/// Proc for transfering materials to another container. +/datum/component/material_container/proc/transer_amt_to(var/datum/component/material_container/T, amt, var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + if((amt==0)||(!T)||(!mat)) return FALSE if(amt<0) - return T.transer_amt_to(src, -amt, id) - var/datum/material/M = materials[id] - - if(M) - var/tr = min(amt, M.amount,T.can_insert_amount(amt, id)) - if(tr) - use_amount_type(tr, id) - T.insert_amount(tr, id) - return tr + return T.transer_amt_to(src, -amt, mat) + var/tr = min(amt, materials[mat],T.can_insert_amount_mat(amt, mat)) + if(tr) + use_amount_mat(tr, mat) + T.insert_amount_mat(tr, mat) + return tr return FALSE -/datum/component/material_container/proc/can_insert_amount(amt, id) - if(amt && id) - var/datum/material/M = materials[id] +/// Proc for checking if there is room in the component, returning the amount or else the amount lacking. +/datum/component/material_container/proc/can_insert_amount_mat(amt, mat) + if(amt && mat) + var/datum/material/M = mat if(M) if((total_amount + amt) <= max_amount) return amt else return (max_amount-total_amount) -/datum/component/material_container/proc/can_use_amount(amt, id, list/mats) - if(amt && id) - var/datum/material/M = materials[id] - if(M && M.amount >= amt) - return TRUE - else if(istype(mats)) - for(var/M in mats) - if(materials[M] && (mats[M] <= materials[M])) - continue - else - return FALSE - return TRUE - return FALSE -//For spawning mineral sheets; internal use only -/datum/component/material_container/proc/retrieve(sheet_amt, datum/material/M, target = null) +/// For consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200) +/datum/component/material_container/proc/use_materials(list/mats, multiplier=1) + if(!mats || !length(mats)) + return FALSE + + var/list/mats_to_remove = list() //Assoc list MAT | AMOUNT + + for(var/x in mats) //Loop through all required materials + var/datum/material/req_mat = x + if(!istype(req_mat)) + req_mat = getmaterialref(req_mat) //Get the ref if necesary + if(!materials[req_mat]) //Do we have the resource? + return FALSE //Can't afford it + var/amount_required = mats[x] * multiplier + if(!(materials[req_mat] >= amount_required)) // do we have enough of the resource? + return FALSE //Can't afford it + mats_to_remove[req_mat] += amount_required //Add it to the assoc list of things to remove + continue + + var/total_amount_save = total_amount + + for(var/i in mats_to_remove) + total_amount_save -= use_amount_mat(mats_to_remove[i], i) + + return total_amount_save - total_amount + +/// For spawning mineral sheets at a specific location. Used by machines to output sheets. +/datum/component/material_container/proc/retrieve_sheets(sheet_amt, var/datum/material/M, target = null) if(!M.sheet_type) - return 0 + return 0 //Add greyscale sheet handling here later if(sheet_amt <= 0) return 0 if(!target) target = get_turf(parent) - if(M.amount < (sheet_amt * MINERAL_MATERIAL_AMOUNT)) - sheet_amt = round(M.amount / MINERAL_MATERIAL_AMOUNT) + if(materials[M] < (sheet_amt * MINERAL_MATERIAL_AMOUNT)) + sheet_amt = round(materials[M] / MINERAL_MATERIAL_AMOUNT) var/count = 0 while(sheet_amt > MAX_STACK_SIZE) new M.sheet_type(target, MAX_STACK_SIZE) count += MAX_STACK_SIZE - use_amount_type(sheet_amt * MINERAL_MATERIAL_AMOUNT, M.id) + use_amount_mat(sheet_amt * MINERAL_MATERIAL_AMOUNT, M) sheet_amt -= MAX_STACK_SIZE if(sheet_amt >= 1) new M.sheet_type(target, sheet_amt) count += sheet_amt - use_amount_type(sheet_amt * MINERAL_MATERIAL_AMOUNT, M.id) + use_amount_mat(sheet_amt * MINERAL_MATERIAL_AMOUNT, M) return count -/datum/component/material_container/proc/retrieve_sheets(sheet_amt, id, target = null) - if(materials[id]) - return retrieve(sheet_amt, materials[id], target) - return FALSE -/datum/component/material_container/proc/retrieve_amount(amt, id, target) - return retrieve_sheets(amount2sheet(amt), id, target) - -/datum/component/material_container/proc/retrieve_all(target = null) +/// Proc to get all the materials and dump them as sheets +/datum/component/material_container/proc/retrieve_all(target = null) var/result = 0 - var/datum/material/M for(var/MAT in materials) - M = materials[MAT] - result += retrieve_sheets(amount2sheet(M.amount), MAT, target) + var/amount = materials[MAT] + result += retrieve_sheets(amount2sheet(amount), MAT, target) return result +/// Proc that returns TRUE if the container has space /datum/component/material_container/proc/has_space(amt = 0) return (total_amount + amt) <= max_amount +/// Checks if its possible to afford a certain amount of materials. Takes a dictionary of materials. /datum/component/material_container/proc/has_materials(list/mats, multiplier=1) if(!mats || !mats.len) return FALSE - var/datum/material/M - for(var/MAT in mats) - M = materials[MAT] - if(M.amount < (mats[MAT] * multiplier)) + for(var/x in mats) //Loop through all required materials + var/datum/material/req_mat = x + if(!istype(req_mat)) + if(ispath(req_mat)) //Is this an actual material, or is it a category? + req_mat = getmaterialref(req_mat) //Get the ref + + else // Its a category. (For example MAT_CATEGORY_RIGID) + if(!has_enough_of_category(req_mat, mats[req_mat], multiplier)) //Do we have enough of this category? + return FALSE + else + continue + + if(!has_enough_of_material(req_mat, mats[req_mat], multiplier))//Not a category, so just check the normal way return FALSE + return TRUE -/datum/component/material_container/proc/amount2sheet(amt) +/// Returns all the categories in a recipe. +/datum/component/material_container/proc/get_categories(list/mats) + var/list/categories = list() + for(var/x in mats) //Loop through all required materials + if(!istext(x)) //This means its not a category + continue + categories += x + return categories + + +/// Returns TRUE if you have enough of the specified material. +/datum/component/material_container/proc/has_enough_of_material(var/datum/material/req_mat, amount, multiplier=1) + if(!materials[req_mat]) //Do we have the resource? + return FALSE //Can't afford it + var/amount_required = amount * multiplier + if(materials[req_mat] >= amount_required) // do we have enough of the resource? + return TRUE + return FALSE //Can't afford it + +/// Returns TRUE if you have enough of a specified material category (Which could be multiple materials) +/datum/component/material_container/proc/has_enough_of_category(category, amount, multiplier=1) + for(var/i in SSmaterials.materials_by_category[category]) + var/datum/material/mat = i + if(materials[mat] >= amount) //we have enough + return TRUE + return FALSE + +/// Turns a material amount into the amount of sheets it should output +/datum/component/material_container/proc/amount2sheet(amt) if(amt >= MINERAL_MATERIAL_AMOUNT) return round(amt / MINERAL_MATERIAL_AMOUNT) return FALSE +/// Turns an amount of sheets into the amount of material amount it should output /datum/component/material_container/proc/sheet2amount(sheet_amt) if(sheet_amt > 0) return sheet_amt * MINERAL_MATERIAL_AMOUNT return FALSE -/datum/component/material_container/proc/amount(id) - var/datum/material/M = materials[id] - return M ? M.amount : 0 -//returns the amount of material relevant to this container; -//if this container does not support glass, any glass in 'I' will not be taken into account +///returns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account /datum/component/material_container/proc/get_item_material_amount(obj/item/I) if(!istype(I)) return FALSE var/material_amount = 0 - for(var/MAT in materials) + for(var/MAT in I.materials) material_amount += I.materials[MAT] return material_amount - -/datum/material - var/name - var/amount = 0 - var/id = null - var/sheet_type = null - var/coin_type = null - -/datum/material/metal - name = "Metal" - id = MAT_METAL - sheet_type = /obj/item/stack/sheet/metal - coin_type = /obj/item/coin/iron - -/datum/material/glass - name = "Glass" - id = MAT_GLASS - sheet_type = /obj/item/stack/sheet/glass - -/datum/material/silver - name = "Silver" - id = MAT_SILVER - sheet_type = /obj/item/stack/sheet/mineral/silver - coin_type = /obj/item/coin/silver - -/datum/material/gold - name = "Gold" - id = MAT_GOLD - sheet_type = /obj/item/stack/sheet/mineral/gold - coin_type = /obj/item/coin/gold - -/datum/material/diamond - name = "Diamond" - id = MAT_DIAMOND - sheet_type = /obj/item/stack/sheet/mineral/diamond - coin_type = /obj/item/coin/diamond - -/datum/material/uranium - name = "Uranium" - id = MAT_URANIUM - sheet_type = /obj/item/stack/sheet/mineral/uranium - coin_type = /obj/item/coin/uranium - -/datum/material/plasma - name = "Solid Plasma" - id = MAT_PLASMA - sheet_type = /obj/item/stack/sheet/mineral/plasma - coin_type = /obj/item/coin/plasma - -/datum/material/bluespace - name = "Bluespace Mesh" - id = MAT_BLUESPACE - sheet_type = /obj/item/stack/sheet/bluespace_crystal - -/datum/material/bananium - name = "Bananium" - id = MAT_BANANIUM - sheet_type = /obj/item/stack/sheet/mineral/bananium - coin_type = /obj/item/coin/bananium - -/datum/material/titanium - name = "Titanium" - id = MAT_TITANIUM - sheet_type = /obj/item/stack/sheet/mineral/titanium - -/datum/material/biomass - name = "Biomass" - id = MAT_BIOMASS - -/datum/material/plastic - name = "Plastic" - id = MAT_PLASTIC - sheet_type = /obj/item/stack/sheet/plastic +/// Returns the amount of a specific material in this container. +/datum/component/material_container/proc/get_material_amount(var/datum/material/mat) + if(!istype(mat)) + mat = getmaterialref(mat) + return(materials[mat]) diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 947d810dffd..0a54a56aa89 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -76,6 +76,8 @@ /datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user) radiation_pulse(parent, strength/20) target.rad_act(strength/2) + if(!hl3_release_date) + return strength -= strength / hl3_release_date #undef RAD_AMOUNT_LOW diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index 897e810fe62..08d45201741 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -54,7 +54,7 @@ handles linking back and forth. /datum/component/remote_materials/proc/_MakeLocal() silo = null mat_container = parent.AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), + list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/plastic), local_size, FALSE, /obj/item/stack) diff --git a/code/datums/elements/firestacker.dm b/code/datums/elements/firestacker.dm new file mode 100644 index 00000000000..6f5b4b99666 --- /dev/null +++ b/code/datums/elements/firestacker.dm @@ -0,0 +1,40 @@ +/** + * Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit + */ +/datum/element/firestacker + element_flags = ELEMENT_DETACH + /// A list in format {atom/movable/owner, number} + /// Used to keep track of movables which want to apply a different number of fire stacks than default + var/list/amount_by_owner = list() + +/datum/element/firestacker/Attach(datum/target, amount) + . = ..() + if(!ismovableatom(target)) + return ELEMENT_INCOMPATIBLE + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/impact) + if(isitem(target)) + RegisterSignal(target, COMSIG_ITEM_ATTACK, .proc/item_attack) + RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, .proc/item_attack_self) + + if(amount) // If amount is not given we default to 1 and don't need to save it here + amount_by_owner[target] = amount + +/datum/element/firestacker/Detach(datum/source, force) + . = ..() + UnregisterSignal(source, list(COMSIG_MOVABLE_IMPACT, COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_SELF)) + amount_by_owner -= source + +/datum/element/firestacker/proc/stack_on(datum/owner, mob/living/target) + target.adjust_fire_stacks(amount_by_owner[owner] || 1) + +/datum/element/firestacker/proc/impact(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) + if(isliving(hit_atom)) + stack_on(source, hit_atom) + +/datum/element/firestacker/proc/item_attack(datum/source, atom/movable/target, mob/living/user) + if(isliving(target)) + stack_on(source, target) + +/datum/element/firestacker/proc/item_attack_self(datum/source, mob/user) + if(isliving(user)) + stack_on(source, user) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index a692726bde6..549ed72a93d 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -216,7 +216,7 @@ desc = "Stores recorder holocalls." icon_state = "holodisk" obj_flags = UNIQUE_RENAME - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) var/datum/holorecord/record //Preset variables var/preset_image_type diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm new file mode 100644 index 00000000000..ec3ec0d05c2 --- /dev/null +++ b/code/datums/materials/_material.dm @@ -0,0 +1,67 @@ +/*! Material datum + +Simple datum which is instanced once per type and is used for every object of said material. It has a variety of variables that define behavior. Subtyping from this makes it easier to create your own materials. + +*/ + + +/datum/material + var/name = "material" + var/desc = "its..stuff." + ///Var that's mostly used by science machines to identify specific materials, should most likely be phased out at some point + var/id = "mat" + ///Base color of the material, is used for greyscale. Item isn't changed in color if this is null. + var/color + ///Base alpha of the material, is used for greyscale icons. + var/alpha + ///Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for.gold + var/list/categories = list() + ///The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets. + var/sheet_type + ///The type of coin this material spawns. This should be replaced as soon as possible by greyscale coins. + var/coin_type + ///This is a modifier for force, and resembles the strength of the material + var/strength_modifier = 1 + ///This is a modifier for integrity, and resembles the strength of the material + var/integrity_modifier = 1 + +///This proc is called when the material is added to an object. +/datum/material/proc/on_applied(atom/source, amount, material_flags) + if(!(material_flags & MATERIAL_NO_COLOR)) //Prevent changing things with pre-set colors, to keep colored toolboxes their looks for example + if(color) //Do we have a custom color? + source.add_atom_colour(color, FIXED_COLOUR_PRIORITY) + if(alpha) + source.alpha = alpha + + if(istype(source, /obj)) //objs + on_applied_obj(source, amount, material_flags) + +///This proc is called when the material is added to an object specifically. +/datum/material/proc/on_applied_obj(var/obj/o, amount, material_flags) + var/new_max_integrity = CEILING(o.max_integrity * integrity_modifier, 1) + // This is to keep the same damage relative to the max integrity of the object + o.obj_integrity = (o.obj_integrity / o.max_integrity) * new_max_integrity + o.max_integrity = new_max_integrity + o.force *= strength_modifier + o.throwforce *= strength_modifier + + +///This proc is called when the material is removed from an object. +/datum/material/proc/on_removed(atom/source, material_flags) + if(!(material_flags & MATERIAL_NO_COLOR)) //Prevent changing things with pre-set colors, to keep colored toolboxes their looks for example + if(color) + source.remove_atom_colour(FIXED_COLOUR_PRIORITY, color) + source.alpha = initial(source.alpha) + + if(istype(source, /obj)) //objs + on_removed_obj(source, material_flags) + +///This proc is called when the material is removed from an object specifically. +/datum/material/proc/on_removed_obj(var/obj/o, amount, material_flags) + var/new_max_integrity = initial(o.max_integrity) + // This is to keep the same damage relative to the max integrity of the object + o.obj_integrity = (o.obj_integrity / o.max_integrity) * new_max_integrity + + o.max_integrity = new_max_integrity + o.force = initial(o.force) + o.throwforce = initial(o.throwforce) diff --git a/code/datums/materials/basemats.dm b/code/datums/materials/basemats.dm new file mode 100644 index 00000000000..f9f5a947be1 --- /dev/null +++ b/code/datums/materials/basemats.dm @@ -0,0 +1,149 @@ +///Has no special properties. +/datum/material/iron + name = "iron" + id = "iron" + desc = "Common iron ore often found in sedimentary and igneous layers of the crust." + color = "#878687" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/metal + coin_type = /obj/item/coin/iron + +///Breaks extremely easily but is transparent. +/datum/material/glass + name = "glass" + id = "glass" + desc = "Glass forged by melting sand." + color = "#dae6f0" + alpha = 210 + categories = list(MAT_CATEGORY_RIGID = TRUE) + integrity_modifier = 0.1 + sheet_type = /obj/item/stack/sheet/glass + + +///Has no special properties. Could be good against vampires in the future perhaps. +/datum/material/silver + name = "silver" + id = "silver" + desc = "Silver" + color = "#bdbebf" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/silver + coin_type = /obj/item/coin/silver + +///Slight force increase +/datum/material/gold + name = "gold" + id = "gold" + desc = "Gold" + color = "#f0972b" + strength_modifier = 1.2 + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/gold + coin_type = /obj/item/coin/gold + +///Has no special properties +/datum/material/diamond + name = "diamond" + id = "diamond" + desc = "Highly pressurized carbon" + color = "#22c2d4" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/diamond + coin_type = /obj/item/coin/diamond + +///Is slightly radioactive +/datum/material/uranium + name = "uranium" + id = "uranium" + desc = "Uranium" + color = "#1fb83b" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/uranium + coin_type = /obj/item/coin/uranium + +/datum/material/uranium/on_applied(atom/source, amount, material_flags) + . = ..() + source.AddComponent(/datum/component/radioactive, amount / 10, source, 0) //half-life of 0 because we keep on going. + +/datum/material/uranium/on_removed(atom/source, material_flags) + . = ..() + qdel(source.GetComponent(/datum/component/radioactive)) + + +///Adds firestacks on hit (Still needs support to turn into gas on destruction) +/datum/material/plasma + name = "plasma" + id = "plasma" + desc = "Isn't plasma a state of matter? Oh whatever." + color = "#c716b8" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/plasma + coin_type = /obj/item/coin/plasma + +/datum/material/plasma/on_applied(atom/source, amount, material_flags) + . = ..() + if(ismovableatom(source)) + source.AddElement(/datum/element/firestacker) + source.AddComponent(/datum/component/explodable, 0, 0, amount / 1000, amount / 500) + +/datum/material/plasma/on_removed(atom/source, material_flags) + . = ..() + source.RemoveElement(/datum/element/firestacker) + qdel(source.GetComponent(/datum/component/explodable)) + +///Can cause bluespace effects on use. (Teleportation) (Not yet implemented) +/datum/material/bluespace + name = "bluespace crystal" + id = "bluespace_crystal" + desc = "Crystals with bluespace properties" + color = "#506bc7" + categories = list(MAT_CATEGORY_ORE = TRUE) + sheet_type = /obj/item/stack/sheet/bluespace_crystal + +///Honks and slips +/datum/material/bananium + name = "bananium" + id = "bananium" + desc = "Material with hilarious properties" + color = "#fff263" + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/bananium + coin_type = /obj/item/coin/bananium + +/datum/material/bananium/on_applied(atom/source, amount, material_flags) + . = ..() + source.AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50) + source.AddComponent(/datum/component/slippery, min(amount / 10, 80)) + +/datum/material/bananium/on_removed(atom/source, amount, material_flags) + . = ..() + qdel(source.GetComponent(/datum/component/slippery)) + qdel(source.GetComponent(/datum/component/squeak)) + + +///Mediocre force increase +/datum/material/titanium + name = "titanium" + id = "titanium" + desc = "Titanium" + color = "#b3c0c7" + strength_modifier = 1.3 + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/titanium + +///Force decrease +/datum/material/plastic + name = "plastic" + id = "plastic" + desc = "plastic" + color = "#caccd9" + strength_modifier = 0.85 + sheet_type = /obj/item/stack/sheet/plastic + +///Force decrease and mushy sound effect. (Not yet implemented) +/datum/material/biomass + name = "biomass" + id = "biomass" + desc = "Organic matter" + color = "#735b4d" + strength_modifier = 0.8 diff --git a/code/game/atoms.dm b/code/game/atoms.dm index fb579a4b1a9..4d3cb129888 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -68,6 +68,12 @@ /// Radiation insulation types var/rad_insulation = RAD_NO_INSULATION + ///The custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) + var/list/custom_materials + ///Bitfield for how the atom handles materials. + var/material_flags = NONE + + /** * Called when an atom is created in byond (built in engine proc) * @@ -146,6 +152,16 @@ if (canSmoothWith) canSmoothWith = typelist("canSmoothWith", canSmoothWith) + if(custom_materials && custom_materials.len) + var/temp_list = list() + for(var/i in custom_materials) + var/datum/material/material = getmaterialref(i) || i + temp_list[material] = custom_materials[material] //Get the proper instanced version + + custom_materials = null //Null the list to prepare for applying the materials properly + set_custom_materials(temp_list) + + ComponentInitialize() return INITIALIZE_HINT_NORMAL @@ -448,6 +464,10 @@ if(desc) . += desc + if(custom_materials) + for(var/i in custom_materials) + var/datum/material/M = i + . += "It is made out of [M.name]." if(reagents) if(reagents.flags & TRANSPARENT) . += "It contains:" @@ -1076,3 +1096,18 @@ /atom/proc/intercept_zImpact(atom/movable/AM, levels = 1) return FALSE + +///Sets the custom materials for an item. +/atom/proc/set_custom_materials(var/list/materials, multiplier = 1) + if(custom_materials) //Only runs if custom materials existed at first. Should usually be the case but check anyways + for(var/i in custom_materials) + var/datum/material/custom_material = i + custom_material.on_removed(src, material_flags) //Remove the current materials + + custom_materials = list() //Reset the list + + for(var/x in materials) + var/datum/material/custom_material = x + + custom_material.on_applied(src, materials[custom_material] * multiplier, material_flags) + custom_materials[custom_material] += materials[custom_material] * multiplier \ No newline at end of file diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index b2ff6777564..dd29fba6471 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -40,14 +40,14 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/Initialize() . = ..() var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - bananium.insert_amount(max_recharge, MAT_BANANIUM) + bananium.insert_amount_mat(max_recharge, /datum/material/bananium) START_PROCESSING(SSobj, src) /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/process() var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - var/bananium_amount = bananium.amount(MAT_BANANIUM) + var/bananium_amount = bananium.get_material_amount(/datum/material/bananium) if(bananium_amount < max_recharge) - bananium.insert_amount(min(recharge_rate, max_recharge - bananium_amount), MAT_BANANIUM) + bananium.insert_amount_mat(min(recharge_rate, max_recharge - bananium_amount), /datum/material/bananium) /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/attack_self(mob/user) ui_action_click(user) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 51203cd41e6..a5ad945ce9f 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -48,7 +48,7 @@ ) /obj/machinery/autolathe/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/gold, /datum/material/silver, /datum/material/diamond, /datum/material/uranium, /datum/material/plasma, /datum/material/bluespace, /datum/material/bananium, /datum/material/titanium), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) . = ..() wires = new /datum/wires/autolathe(src) @@ -122,15 +122,16 @@ return ..() + /obj/machinery/autolathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal)) use_power(MINERAL_MATERIAL_AMOUNT / 10) else switch(id_inserted) - if (MAT_METAL) + if (/datum/material/iron) flick("autolathe_o",src)//plays metal insertion animation - if (MAT_GLASS) - flick("autolathe_r",src)//plays glass insertion animation + else + flick("autolathe_r",src)//plays glass insertion animation by default otherwise use_power(min(1000, amount_inserted / 100)) updateUsrDialog() @@ -161,18 +162,42 @@ ///////////////// var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient - var/metal_cost = being_built.materials[MAT_METAL] - var/glass_cost = being_built.materials[MAT_GLASS] + var/total_amount = 0 + + for(var/MAT in being_built.materials) + total_amount += being_built.materials[MAT] - var/power = max(2000, (metal_cost+glass_cost)*multiplier/5) + var/power = max(2000, (total_amount)*multiplier/5) //Change this to use all materials var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff)) + + var/list/materials_used = list() + var/list/custom_materials = list() //These will apply their material effect, This should usually only be one. + + for(var/MAT in being_built.materials) + var/datum/material/used_material = MAT + var/amount_needed = being_built.materials[MAT] * coeff * multiplier + if(istext(used_material)) //This means its a category + var/list/list_to_show = list() + for(var/i in SSmaterials.materials_by_category[used_material]) + if(materials.materials[i] > 0) + list_to_show += i + + used_material = input("Choose [used_material]", "Custom Material") as null|anything in list_to_show + if(!used_material) + return //Didn't pick any material, so you can't build shit either. + custom_materials[used_material] += amount_needed + + materials_used[used_material] = amount_needed + + if(materials.has_materials(materials_used)) busy = TRUE use_power(power) icon_state = "autolathe_n" var/time = is_stack ? 32 : (32 * coeff * multiplier) ** 0.8 - addtimer(CALLBACK(src, .proc/make_item, power, metal_cost, glass_cost, multiplier, coeff, is_stack), time) + addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack), time) + else + to_chat(usr, "Not enough materials for this operation.") if(href_list["search"]) matching_designs.Cut() @@ -189,12 +214,12 @@ return -/obj/machinery/autolathe/proc/make_item(power, metal_cost, glass_cost, multiplier, coeff, is_stack) +/obj/machinery/autolathe/proc/make_item(power, var/list/materials_used, var/list/picked_materials, multiplier, coeff, is_stack) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/atom/A = drop_location() use_power(power) - var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier) - materials.use_amount(materials_used) + + materials.use_materials(materials_used) if(is_stack) var/obj/item/stack/N = new being_built.build_path(A, multiplier) @@ -207,6 +232,11 @@ for(var/mat in materials_used) new_item.materials[mat] = materials_used[mat] / multiplier new_item.autolathe_crafted(src) + + if(length(picked_materials)) + new_item.set_custom_materials(picked_materials, 1 / multiplier) //Ensure we get the non multiplied amount + + icon_state = "autolathe" busy = FALSE updateDialog() @@ -271,7 +301,9 @@ if(ispath(D.build_path, /obj/item/stack)) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) + var/max_multiplier + for(var/datum/material/mat in D.materials) + max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) if (max_multiplier>10 && !disabled) dat += " x10" if (max_multiplier>25 && !disabled) @@ -303,7 +335,9 @@ if(ispath(D.build_path, /obj/item/stack)) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) + var/max_multiplier + for(var/datum/material/mat in D.materials) + max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) if (max_multiplier>10 && !disabled) dat += " x10" if (max_multiplier>25 && !disabled) @@ -320,8 +354,10 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/dat = "Total amount: [materials.total_amount] / [materials.max_amount] cm3
" for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - dat += "[M.name] amount: [M.amount] cm3
" + var/datum/material/M = mat_id + var/mineral_amount = materials.materials[mat_id] + if(mineral_amount > 0) + dat += "[M.name] amount: [mineral_amount] cm3
" return dat /obj/machinery/autolathe/proc/can_build(datum/design/D, amount = 1) @@ -330,20 +366,25 @@ var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) + var/list/required_materials = list() + + for(var/i in D.materials) + required_materials[i] = D.materials[i] * coeff * amount + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff * amount))) - return FALSE - if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff * amount))) - return FALSE - return TRUE + + return materials.has_materials(required_materials) + /obj/machinery/autolathe/proc/get_design_cost(datum/design/D) var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) var/dat - if(D.materials[MAT_METAL]) - dat += "[D.materials[MAT_METAL] * coeff] metal " - if(D.materials[MAT_GLASS]) - dat += "[D.materials[MAT_GLASS] * coeff] glass" + for(var/i in D.materials) + if(istext(i)) //Category handling + dat += "[D.materials[i] * coeff] [i]" + else + var/datum/material/M = i + dat += "[D.materials[i] * coeff] [M.name] " return dat /obj/machinery/autolathe/proc/reset(wire) @@ -388,4 +429,4 @@ //Called when the object is constructed by an autolathe //Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes /obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) - return + return \ No newline at end of file diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 657cdd3d119..95c3b28cb2a 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -283,4 +283,4 @@ desc = "Used for building buttons." icon_state = "button" result_path = /obj/machinery/button - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 5f8d2942cd9..34961c2608e 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -8,7 +8,7 @@ desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." icon = 'icons/obj/machines/camera.dmi' icon_state = "cameracase" - materials = list(MAT_METAL=400, MAT_GLASS=250) + materials = list(/datum/material/iron=400, /datum/material/glass=250) result_path = /obj/structure/camera_assembly /obj/structure/camera_assembly diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 3f8092c03f7..ecd7aaacf8b 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -138,7 +138,7 @@ desc = "A frame for a defibrillator mount. It can't be removed once it's placed." icon = 'icons/obj/machines/defib_mount.dmi' icon_state = "defibrillator_mount" - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) w_class = WEIGHT_CLASS_BULKY result_path = /obj/machinery/defibrillator_mount pixel_shift = -28 diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 0ca54b96b36..5067405dad1 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -15,7 +15,7 @@ density = TRUE max_integrity = 100 var/proj_pass_rate = 50 //How many projectiles will pass the cover. Lower means stronger cover - var/material = METAL + var/bar_material = METAL /obj/structure/barricade/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) @@ -26,7 +26,7 @@ return /obj/structure/barricade/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_WELDER && user.a_intent != INTENT_HARM && material == METAL) + if(I.tool_behaviour == TOOL_WELDER && user.a_intent != INTENT_HARM && bar_material == METAL) if(obj_integrity < max_integrity) if(!I.tool_start_check(user, amount=0)) return @@ -61,7 +61,7 @@ desc = "This space is blocked off by a wooden barricade." icon = 'icons/obj/structures.dmi' icon_state = "woodenbarricade" - material = WOOD + bar_material = WOOD var/drop_amount = 3 /obj/structure/barricade/wooden/attackby(obj/item/I, mob/user) @@ -105,7 +105,7 @@ max_integrity = 280 proj_pass_rate = 20 pass_flags = LETPASSTHROW - material = SAND + bar_material = SAND climbable = TRUE smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/barricade/sandbags, /turf/closed/wall, /turf/closed/wall/r_wall, /obj/structure/falsewall, /obj/structure/falsewall/reinforced, /turf/closed/wall/rust, /turf/closed/wall/r_wall/rust, /obj/structure/barricade/security) diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index f0efd3c34ae..17dd2d3c203 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -50,10 +50,10 @@ /obj/machinery/droneDispenser/Initialize() . = ..() - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/stack) - materials.insert_amount(starting_amount) + var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/stack) + materials.insert_amount_mat(starting_amount) materials.precise_insertion = TRUE - using_materials = list(MAT_METAL=metal_cost, MAT_GLASS=glass_cost) + using_materials = list(/datum/material/iron = metal_cost, /datum/material/glass = glass_cost) /obj/machinery/droneDispenser/preloaded starting_amount = 5000 @@ -168,7 +168,7 @@ update_icon() if(DRONE_PRODUCTION) - materials.use_amount(using_materials) + materials.use_materials(using_materials) if(power_used) use_power(power_used) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 0612de7da6c..34de264d6d0 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -174,7 +174,7 @@ GLOBAL_LIST_EMPTY(allCasters) name = "newscaster frame" desc = "Used to build newscasters, just secure to the wall." icon_state = "newscaster" - materials = list(MAT_METAL=14000, MAT_GLASS=8000) + materials = list(/datum/material/iron=14000, /datum/material/glass=8000) result_path = /obj/machinery/newscaster diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index d7a45696698..3107f933067 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -958,7 +958,7 @@ desc = "Used for building turret control panels." icon_state = "apc" result_path = /obj/machinery/turretid - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) /obj/item/gun/proc/get_turret_properties() . = list() diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index bf56b3aba6b..a31cc631664 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -18,7 +18,7 @@ var/item_recycle_sound = 'sound/items/welder.ogg' /obj/machinery/recycler/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), INFINITY, FALSE, null, null, null, TRUE) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/plasma, /datum/material/gold, /datum/material/diamond, /datum/material/plastic, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, FALSE, null, null, null, TRUE) AddComponent(/datum/component/butchering, 1, amount_produced,amount_produced/5) . = ..() update_icon() diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 41f9441162e..d4ecbe67eec 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -527,7 +527,7 @@ range = MELEE|RANGED equip_cooldown = 0 var/obj/item/gun/medbeam/mech/medigun - materials = list(MAT_METAL = 15000, MAT_GLASS = 8000, MAT_PLASMA = 3000, MAT_GOLD = 8000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 8000, /datum/material/plasma = 3000, /datum/material/gold = 8000, /datum/material/diamond = 2000) /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam/Initialize() . = ..() diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index c993fed484a..34c399c1c7c 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -36,7 +36,7 @@ /obj/machinery/mecha_part_fabricator/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, + list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), 0, TRUE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE stored_research = new @@ -112,20 +112,22 @@ var/output var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - output += "[M.name]: [M.amount] cm³" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) - output += "- Remove \[1\]" - if(M.amount >= (MINERAL_MATERIAL_AMOUNT * 10)) - output += " | \[10\]" - output += " | \[All\]" + var/datum/material/M = mat_id + var/amount = materials.materials[mat_id] + output += "[M.name]: [amount] cm³" + if(amount >= MINERAL_MATERIAL_AMOUNT) + output += "- Remove \[1\]" + if(amount >= (MINERAL_MATERIAL_AMOUNT * 10)) + output += " | \[10\]" + output += " | \[All\]" output += "
" return output /obj/machinery/mecha_part_fabricator/proc/get_resources_w_coeff(datum/design/D) var/list/resources = list() for(var/R in D.materials) - resources[R] = get_resource_cost_w_coeff(D, R) + var/datum/material/M = R + resources[M] = get_resource_cost_w_coeff(D, M) return resources /obj/machinery/mecha_part_fabricator/proc/check_resources(datum/design/D) @@ -142,7 +144,7 @@ var/list/res_coef = get_resources_w_coeff(D) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.use_amount(res_coef) + materials.use_materials(res_coef) add_overlay("fab-active") use_power = ACTIVE_POWER_USE updateUsrDialog() @@ -246,7 +248,7 @@ updateUsrDialog() return -/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, resource, roundto = 1) +/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, var/datum/material/resource, roundto = 1) return round(D.materials[resource]*component_coeff, roundto) /obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(datum/design/D, roundto = 1) //aran @@ -385,7 +387,8 @@ if(href_list["remove_mat"] && href_list["material"]) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.retrieve_sheets(text2num(href_list["remove_mat"]), href_list["material"]) + var/datum/material/Mat = locate(href_list["material"]) + materials.retrieve_sheets(text2num(href_list["remove_mat"]), Mat) updateUsrDialog() return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 1e3fef64698..6a0cd2aa654 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -65,7 +65,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/equip_delay_other = 20 //In deciseconds, how long an item takes to put on another person var/strip_delay = 40 //In deciseconds, how long an item takes to remove from another person var/breakouttime = 0 - var/list/materials + var/list/materials //materials in this object, and the amount var/list/attack_verb //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/species_exception = null // list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item @@ -109,6 +109,14 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) materials = typelist("materials", materials) + if(materials) //Otherwise, use the instances already provided. + var/list/temp_list = list() + for(var/i in materials) //Go through all of our materials, get the subsystem instance, and then replace the list. + var/amount = materials[i] + var/datum/material/M = getmaterialref(i) + temp_list[M] = amount + materials = temp_list + if (attack_verb) attack_verb = typelist("attack_verb", attack_verb) @@ -798,4 +806,4 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) return !HAS_TRAIT(src, TRAIT_NODROP) /obj/item/proc/doStrip(mob/stripper, mob/owner) - return owner.dropItemToGround(src) + return owner.dropItemToGround(src) \ No newline at end of file diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index 567d73a85b2..414a84d9763 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -22,7 +22,7 @@ AI MODULES throw_range = 7 var/list/laws = list() var/bypass_law_amt_check = 0 - materials = list(MAT_GOLD=50) + materials = list(/datum/material/gold = 50) /obj/item/aiModule/examine(var/mob/user as mob) . = ..() diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 9468a61339d..73f6a2ea3bf 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -22,7 +22,7 @@ RLD throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=100000) + materials = list(/datum/material/iron=100000) req_access_txt = "11" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF @@ -599,11 +599,11 @@ RLD w_class = WEIGHT_CLASS_TINY lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=12000, MAT_GLASS=8000) + materials = list(/datum/material/iron=12000, /datum/material/glass=8000) var/ammoamt = 40 /obj/item/rcd_ammo/large - materials = list(MAT_METAL=48000, MAT_GLASS=32000) + materials = list(/datum/material/iron=48000, /datum/material/glass=32000) ammoamt = 160 diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index a87d252da14..37e18393c78 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -200,7 +200,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list( throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=75000, MAT_GLASS=37500) + materials = list(/datum/material/iron=75000, /datum/material/glass=37500) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF var/datum/effect_system/spark_spread/spark_system diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index 083246396b1..3789fc2f7a4 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -7,7 +7,7 @@ w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50, MAT_GLASS=50) + materials = list(/datum/material/iron=50, /datum/material/glass=50) flags_1 = CONDUCT_1 item_flags = NOBLUDGEON diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index 6bf90b42191..c4921572126 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -1,6 +1,6 @@ /obj/item/wallframe icon = 'icons/obj/wallframe.dmi' - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT*2) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT*2) flags_1 = CONDUCT_1 item_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -66,8 +66,8 @@ if(iswallturf(T)) T.attackby(src, user, params) - var/metal_amt = round(materials[MAT_METAL]/MINERAL_MATERIAL_AMOUNT) - var/glass_amt = round(materials[MAT_GLASS]/MINERAL_MATERIAL_AMOUNT) + var/metal_amt = round(materials[/datum/material/iron]/MINERAL_MATERIAL_AMOUNT) //Replace this shit later + var/glass_amt = round(materials[/datum/material/glass]/MINERAL_MATERIAL_AMOUNT) //Replace this shit later if(W.tool_behaviour == TOOL_WRENCH && (metal_amt || glass_amt)) to_chat(user, "You dismantle [src].") @@ -119,5 +119,5 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50, MAT_GLASS=50) + materials = list(/datum/material/iron=50, /datum/material/glass=50) grind_results = list(/datum/reagent/iron = 10, /datum/reagent/silicon = 10) diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm index 5f87f9ffd93..8c1b92172b8 100644 --- a/code/game/objects/items/circuitboards/circuitboard.dm +++ b/code/game/objects/items/circuitboards/circuitboard.dm @@ -10,7 +10,7 @@ item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_GLASS=1000) + materials = list(/datum/material/glass=1000) w_class = WEIGHT_CLASS_SMALL grind_results = list(/datum/reagent/silicon = 20) var/build_path = null diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index da2beb575f2..1b4c0878e42 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -8,7 +8,7 @@ item_flags = NOBLUDGEON lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=250, MAT_GLASS=500) + materials = list(/datum/material/iron=250, /datum/material/glass=500) var/max_duration = 3000 var/duration = 300 var/last_use = 0 diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm index 8def1d5ca33..c4e166048e0 100644 --- a/code/game/objects/items/devices/doorCharge.dm +++ b/code/game/objects/items/devices/doorCharge.dm @@ -12,7 +12,7 @@ item_flags = NOBLUDGEON force = 3 attack_verb = list("blown up", "exploded", "detonated") - materials = list(MAT_METAL=50, MAT_GLASS=30) + materials = list(/datum/material/iron=50, /datum/material/glass=30) /obj/item/doorCharge/ex_act(severity, target) switch(severity) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 3d7f7f574a9..76d1a1f23d5 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/module.dmi' icon_state = "boris" w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL = 50, MAT_GLASS = 300) + materials = list(/datum/material/iron = 50, /datum/material/glass = 300) var/recharging = FALSE var/circuits = 5 //How many circuits the pseudocircuit has left var/static/recycleable_circuits = typecacheof(list(/obj/item/electronics/firelock, /obj/item/electronics/airalarm, /obj/item/electronics/firealarm, \ diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e742b9f1dfc..7b68a1501b7 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -10,7 +10,7 @@ w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=50, MAT_GLASS=20) + materials = list(/datum/material/iron=50, /datum/material/glass=20) actions_types = list(/datum/action/item_action/toggle_light) var/on = FALSE var/brightness_on = 4 //range of light when on diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index a9d6651ca21..c5a1d04fdf8 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -9,7 +9,7 @@ item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=250, MAT_GLASS=500) + materials = list(/datum/material/iron=250, /datum/material/glass=500) var/max_shield_integrity = 250 var/shield_integrity = 250 var/max_fields = 3 diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index f3a892f3a37..fb5db099a58 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -18,7 +18,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL = 150, MAT_GLASS = 150) + materials = list(/datum/material/iron = 150, /datum/material/glass = 150) var/grace = RAD_GRACE_PERIOD var/datum/looping_sound/geiger/soundloop diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 682661617f6..11996f3abc0 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -8,7 +8,7 @@ flags_1 = CONDUCT_1 item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=500, MAT_GLASS=500) + materials = list(/datum/material/iron=500, /datum/material/glass=500) w_class = WEIGHT_CLASS_SMALL var/turf/pointer_loc var/energy = 5 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index ff923f46873..fd7766e82d0 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -24,7 +24,7 @@ throwforce = 0 throw_range = 7 throw_speed = 3 - materials = list(MAT_METAL=50, MAT_GLASS=20) + materials = list(/datum/material/iron=50, /datum/material/glass=20) var/obj/machinery/buffer // simple machine buffer for device linkage toolspeed = 1 usesound = 'sound/weapons/empty.ogg' diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index 2d0af2cf3c8..7938603ee55 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -6,7 +6,7 @@ item_flags = NOBLUDGEON var/paint_color = "grey" - materials = list(MAT_METAL=5000, MAT_GLASS=2000) + materials = list(/datum/material/iron=5000, /datum/material/glass=2000) /obj/item/pipe_painter/afterattack(atom/A, mob/user, proximity_flag) . = ..() diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index a56d9e878af..515f4212001 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -13,7 +13,7 @@ throwforce = 5 throw_speed = 1 throw_range = 2 - materials = list(MAT_METAL=750) + materials = list(/datum/material/iron=750) var/drain_rate = 2000000 // amount of power to drain per tick var/power_drained = 0 // has drained this much power var/max_power = 6e8 // maximum power that can be drained before exploding diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 539caa5bf03..a94134499d4 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -9,7 +9,7 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE - materials = list(MAT_METAL=10000, MAT_GLASS=2500) + materials = list(/datum/material/iron=10000, /datum/material/glass=2500) var/on = TRUE var/code = 2 var/frequency = FREQ_ELECTROPACK diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index f91f439f047..3f40b38c233 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -19,7 +19,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( desc = "An updated, modular intercom that fits over the head. Takes encryption keys." icon_state = "headset" item_state = "headset" - materials = list(MAT_METAL=75) + materials = list(/datum/material/iron=75) subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index ce3b5adc6d1..fe0bac7b320 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -147,4 +147,4 @@ result_path = /obj/item/radio/intercom/unscrewed pixel_shift = 29 inverse = TRUE - materials = list(MAT_METAL = 75, MAT_GLASS = 25) + materials = list(/datum/material/iron = 75, /datum/material/glass = 25) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 0caa973c1f7..aa76c054155 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -11,7 +11,7 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=75, MAT_GLASS=25) + materials = list(/datum/material/iron=75, /datum/material/glass=25) obj_flags = USES_TGUI var/on = TRUE diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 26aae058c29..c12209b5813 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -22,7 +22,7 @@ GENE SCANNER item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=150) + materials = list(/datum/material/iron=150) /obj/item/t_scanner/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins to emit terahertz-rays into [user.p_their()] brain with [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -86,7 +86,7 @@ GENE SCANNER w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=200) + materials = list(/datum/material/iron=200) var/mode = 1 var/scanmode = 0 var/advanced = FALSE @@ -402,7 +402,7 @@ GENE SCANNER throw_speed = 3 throw_range = 7 tool_behaviour = TOOL_ANALYZER - materials = list(MAT_METAL=30, MAT_GLASS=20) + materials = list(/datum/material/iron=30, /datum/material/glass=20) grind_results = list(/datum/reagent/mercury = 5, /datum/reagent/iron = 5, /datum/reagent/silicon = 5) var/cooldown = FALSE var/cooldown_time = 250 @@ -597,7 +597,7 @@ GENE SCANNER throwforce = 0 throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=30, MAT_GLASS=20) + materials = list(/datum/material/iron=30, /datum/material/glass=20) /obj/item/slime_scanner/attack(mob/living/M, mob/living/user) if(user.stat || user.eye_blind) @@ -656,7 +656,7 @@ GENE SCANNER w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=200) + materials = list(/datum/material/iron=200) /obj/item/nanite_scanner/attack(mob/living/M, mob/living/carbon/human/user) user.visible_message("[user] has analyzed [M]'s nanites.") @@ -682,7 +682,7 @@ GENE SCANNER w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=200) + materials = list(/datum/material/iron=200) var/list/discovered = list() //hit a dna console to update the scanners database var/list/buffer var/ready = TRUE diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 7186cf6783c..a20cd121856 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -9,7 +9,7 @@ w_class = WEIGHT_CLASS_SMALL flags_1 = HEAR_1 slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=60, MAT_GLASS=30) + materials = list(/datum/material/iron=60, /datum/material/glass=30) force = 2 throwforce = 0 var/recording = 0 @@ -243,7 +243,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=20, MAT_GLASS=5) + materials = list(/datum/material/iron=20, /datum/material/glass=5) force = 1 throwforce = 0 var/max_capacity = 600 diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 12a0b7db289..768d4220a31 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -69,7 +69,7 @@ effective or pretty fucking useless. */ /obj/item/healthanalyzer/rad_laser - materials = list(MAT_METAL=400) + materials = list(/datum/material/iron=400) var/irradiate = 1 var/intensity = 10 // how much damage the radiation does var/wavelength = 10 // time it takes for the radiation to kick in, in seconds diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index f958470e793..0b442e148e8 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -11,7 +11,7 @@ throw_speed = 2 throw_range = 7 force = 10 - materials = list(MAT_METAL = 90) + materials = list(/datum/material/iron = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") dog_fashion = /datum/dog_fashion/back resistance_flags = FIRE_PROOF @@ -36,7 +36,7 @@ throwforce = 2 w_class = WEIGHT_CLASS_SMALL force = 3 - materials = list(MAT_METAL = 50, MAT_GLASS = 40) + materials = list(/datum/material/iron = 50, /datum/material/glass = 40) max_water = 30 sprite_name = "miniFE" dog_fashion = null diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 2503b799ff4..e21d2fcff2c 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -12,7 +12,7 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) resistance_flags = FIRE_PROOF var/status = FALSE var/lit = FALSE //on or off diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index fa9de999c30..9f81a2a8f65 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -34,7 +34,7 @@ w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) breakouttime = 1 MINUTES armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) var/cuffsound = 'sound/weapons/handcuffs.ogg' @@ -115,7 +115,7 @@ color = "#ff0000" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=150, MAT_GLASS=75) + materials = list(/datum/material/iron=150, /datum/material/glass=75) breakouttime = 30 SECONDS cuffsound = 'sound/weapons/cablecuff.ogg' diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index e26f38d7922..c17f0e3c829 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -9,7 +9,7 @@ throw_speed = 2 throw_range = 5 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_GLASS=500) + materials = list(/datum/material/glass=500) var/obj/item/implant/imp = null var/imp_type diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index c116e2cd291..afcdb3e10a2 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=600, MAT_GLASS=200) + materials = list(/datum/material/iron=600, /datum/material/glass=200) var/obj/item/implant/imp = null var/imp_type = null diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index b8cdf03c52b..c50f3d4ca66 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -22,7 +22,7 @@ throwforce = 0 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=80) + materials = list(/datum/material/iron=80) flags_1 = CONDUCT_1 attack_verb = list("attacked", "stabbed", "poked") hitsound = 'sound/weapons/bladeslice.ogg' @@ -68,7 +68,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' throw_speed = 3 throw_range = 6 - materials = list(MAT_METAL=12000) + materials = list(/datum/material/iron=12000) attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_SHARP_ACCURATE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) @@ -110,7 +110,7 @@ flags_1 = CONDUCT_1 force = 15 throwforce = 10 - materials = list(MAT_METAL=18000) + materials = list(/datum/material/iron=18000) attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") w_class = WEIGHT_CLASS_NORMAL custom_price = 60 diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 2355fb02b8b..52c8a35411c 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -23,7 +23,7 @@ w_class = WEIGHT_CLASS_NORMAL attack_verb = list("flogged", "whipped", "lashed", "disciplined") hitsound = 'sound/weapons/chainhit.ogg' - materials = list(MAT_METAL = 1000) + materials = list(/datum/material/iron = 1000) /obj/item/melee/chainofcommand/suicide_act(mob/user) user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") @@ -65,7 +65,7 @@ sharpness = IS_SHARP attack_verb = list("slashed", "cut") hitsound = 'sound/weapons/rapierhit.ogg' - materials = list(MAT_METAL = 1000) + materials = list(/datum/material/iron = 1000) /obj/item/melee/sabre/Initialize() . = ..() diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 41b6f052073..b4cce95b6bb 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -15,7 +15,7 @@ w_class = WEIGHT_CLASS_BULKY throw_speed = 2 throw_range = 3 - materials = list(MAT_METAL = 7500, MAT_GLASS = 100) + materials = list(/datum/material/iron = 7500, /datum/material/glass = 100) var/open = TRUE var/locked = FALSE var/list/occupants = list() diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index fef6f87fc76..b563e43fd68 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -12,7 +12,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL = 500, MAT_GLASS = 250) + materials = list(/datum/material/iron = 500, /datum/material/glass = 250) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/active = FALSE var/atom/movable/target //The thing we're searching for diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 11ed561848c..4c543776b6f 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -20,7 +20,7 @@ throw_speed = 2 throw_range = 3 w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_GLASS=7500, MAT_METAL=1000) + materials = list(/datum/material/glass=7500, /datum/material/iron=1000) attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time transparent = TRUE @@ -85,7 +85,7 @@ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' transparent = FALSE - materials = list(MAT_METAL=8500) + materials = list(/datum/material/iron=8500) max_integrity = 65 /obj/item/shield/riot/roman/fake diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index 7df139201a1..3e8674216df 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -7,7 +7,7 @@ item_color = "cosmos" singular_name = "bluespace crystal" w_class = WEIGHT_CLASS_TINY - materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT) points = 50 var/blink_range = 8 // The teleport range when crushed/thrown at someone. refined_type = /obj/item/stack/sheet/bluespace_crystal @@ -50,7 +50,7 @@ /obj/item/stack/ore/bluespace_crystal/artificial name = "artificial bluespace crystal" desc = "An artificially made bluespace crystal, it looks delicate." - materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT*0.5) + materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT*0.5) blink_range = 4 // Not as good as the organic stuff! points = 0 //nice try refined_type = null @@ -64,7 +64,7 @@ item_state = "sheet-polycrystal" singular_name = "bluespace polycrystal" desc = "A stable polycrystal, made of fused-together bluespace crystals. You could probably break one off." - materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT) attack_verb = list("bluespace polybashed", "bluespace polybattered", "bluespace polybludgeoned", "bluespace polythrashed", "bluespace polysmashed") novariants = TRUE grind_results = list(/datum/reagent/bluespace = 20) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 2c8c9157f74..36835ee1e3a 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ throwforce = 10 throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=1000) + materials = list(/datum/material/iron=1000) max_amount = 50 attack_verb = list("hit", "bludgeoned", "whacked") hitsound = 'sound/weapons/grenadelaunch.ogg' diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 01cd34523c8..10c33050a44 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -19,7 +19,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ singular_name = "glass sheet" icon_state = "sheet-glass" item_state = "sheet-glass" - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/glass @@ -83,7 +83,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ singular_name = "plasma glass sheet" icon_state = "sheet-pglass" item_state = "sheet-pglass" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmaglass @@ -134,7 +134,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ singular_name = "reinforced glass sheet" icon_state = "sheet-rglass" item_state = "sheet-rglass" - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/rglass @@ -177,7 +177,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ singular_name = "reinforced plasma glass sheet" icon_state = "sheet-prglass" item_state = "sheet-prglass" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT, MAT_METAL = MINERAL_MATERIAL_AMOUNT * 0.5,) + materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT, /datum/material/iron = MINERAL_MATERIAL_AMOUNT * 0.5,) armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmarglass @@ -198,7 +198,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( singular_name = "titanium glass sheet" icon_state = "sheet-titaniumglass" item_state = "sheet-titaniumglass" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass @@ -217,7 +217,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( singular_name = "plastitanium glass sheet" icon_state = "sheet-plastitaniumglass" item_state = "sheet-plastitaniumglass" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass @@ -237,7 +237,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( item_state = "shard-glass" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) attack_verb = list("stabbed", "slashed", "sliced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' resistance_flags = ACID_PROOF @@ -335,5 +335,5 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( force = 6 throwforce = 11 icon_state = "plasmalarge" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) icon_prefix = "plasma" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 48dbd240104..4049b1ab414 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ item_state = "sheet-sandstone" throw_speed = 3 throw_range = 5 - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) sheettype = "sandstone" merge_type = /obj/item/stack/sheet/mineral/sandstone @@ -103,7 +103,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ item_state = "sheet-diamond" singular_name = "diamond" sheettype = "diamond" - materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/diamond=MINERAL_MATERIAL_AMOUNT) novariants = TRUE grind_results = list(/datum/reagent/carbon = 20) point_value = 25 @@ -130,7 +130,7 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ item_state = "sheet-uranium" singular_name = "uranium sheet" sheettype = "uranium" - materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/uranium=MINERAL_MATERIAL_AMOUNT) novariants = TRUE grind_results = list(/datum/reagent/uranium = 20) point_value = 20 @@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ sheettype = "plasma" resistance_flags = FLAMMABLE max_integrity = 100 - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/toxin/plasma = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/plasma @@ -199,7 +199,7 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ item_state = "sheet-gold" singular_name = "gold bar" sheettype = "gold" - materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/gold=MINERAL_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/gold = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/gold @@ -228,7 +228,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ item_state = "sheet-silver" singular_name = "silver bar" sheettype = "silver" - materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/silver = 20) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/silver @@ -256,7 +256,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ item_state = "sheet-bananium" singular_name = "bananium sheet" sheettype = "bananium" - materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT) novariants = TRUE grind_results = list(/datum/reagent/consumable/banana = 20) point_value = 50 @@ -285,7 +285,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \ throw_speed = 1 throw_range = 3 sheettype = "titanium" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT) point_value = 20 merge_type = /obj/item/stack/sheet/mineral/titanium @@ -315,7 +315,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ throw_speed = 1 throw_range = 3 sheettype = "plastitanium" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT) point_value = 45 merge_type = /obj/item/stack/sheet/mineral/plastitanium diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 877b2e90849..c7b01437e90 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -98,7 +98,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ singular_name = "metal sheet" icon_state = "sheet-metal" item_state = "sheet-metal" - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) throwforce = 10 flags_1 = CONDUCT_1 resistance_flags = FIRE_PROOF @@ -159,7 +159,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ desc = "This sheet is an alloy of iron and plasma." icon_state = "sheet-plasteel" item_state = "sheet-metal" - materials = list(MAT_METAL=2000, MAT_PLASMA=2000) + materials = list(/datum/material/iron=2000, /datum/material/plasma=2000) throwforce = 10 flags_1 = CONDUCT_1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 80) @@ -654,7 +654,7 @@ GLOBAL_LIST_INIT(plastic_recipes, list( singular_name = "plastic sheet" icon_state = "sheet-plastic" item_state = "sheet-plastic" - materials = list(MAT_PLASTIC=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plastic=MINERAL_MATERIAL_AMOUNT) throwforce = 7 merge_type = /obj/item/stack/sheet/plastic diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index fc31dd9b52d..e73b419c639 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -5,7 +5,7 @@ icon_state = "tile_plasma" turf_type = /turf/open/floor/mineral/plasma mineralType = "plasma" - materials = list(MAT_PLASMA=500) + materials = list(/datum/material/plasma=500) /obj/item/stack/tile/mineral/uranium name = "uranium tile" @@ -14,7 +14,7 @@ icon_state = "tile_uranium" turf_type = /turf/open/floor/mineral/uranium mineralType = "uranium" - materials = list(MAT_URANIUM=500) + materials = list(/datum/material/uranium=500) /obj/item/stack/tile/mineral/gold name = "gold tile" @@ -23,7 +23,7 @@ icon_state = "tile_gold" turf_type = /turf/open/floor/mineral/gold mineralType = "gold" - materials = list(MAT_GOLD=500) + materials = list(/datum/material/gold=500) /obj/item/stack/tile/mineral/silver name = "silver tile" @@ -32,7 +32,7 @@ icon_state = "tile_silver" turf_type = /turf/open/floor/mineral/silver mineralType = "silver" - materials = list(MAT_SILVER=500) + materials = list(/datum/material/silver=500) /obj/item/stack/tile/mineral/diamond name = "diamond tile" @@ -41,7 +41,7 @@ icon_state = "tile_diamond" turf_type = /turf/open/floor/mineral/diamond mineralType = "diamond" - materials = list(MAT_DIAMOND=500) + materials = list(/datum/material/diamond=500) /obj/item/stack/tile/mineral/bananium name = "bananium tile" @@ -50,7 +50,7 @@ icon_state = "tile_bananium" turf_type = /turf/open/floor/mineral/bananium mineralType = "bananium" - materials = list(MAT_BANANIUM=500) + materials = list(/datum/material/bananium=500) /obj/item/stack/tile/mineral/abductor name = "alien floor tile" @@ -68,7 +68,7 @@ icon_state = "tile_shuttle" turf_type = /turf/open/floor/mineral/titanium mineralType = "titanium" - materials = list(MAT_TITANIUM=500) + materials = list(/datum/material/titanium=500) /obj/item/stack/tile/mineral/plastitanium name = "plastitanium tile" @@ -77,7 +77,7 @@ icon_state = "tile_darkshuttle" turf_type = /turf/open/floor/mineral/plastitanium mineralType = "plastitanium" - materials = list(MAT_TITANIUM=250, MAT_PLASMA=250) + materials = list(/datum/material/titanium=250, /datum/material/plasma=250) /obj/item/stack/tile/mineral/snow name = "snow tile" diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index b1e2b020366..8745cd03c2a 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -204,7 +204,7 @@ desc = "Those could work as a pretty decent throwing weapon." icon_state = "tile" force = 6 - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) throwforce = 10 flags_1 = CONDUCT_1 turf_type = /turf/open/floor/plasteel diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index c6429076b4c..f006a36c974 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -283,7 +283,7 @@ throw_range = 5 w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 - materials = list(MAT_METAL=3000) + materials = list(/datum/material/iron=3000) /obj/item/storage/bag/tray/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 46cf069f06b..e4f51415e73 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -324,7 +324,7 @@ desc = "Proves to the world that you are the strongest!" icon_state = "championbelt" item_state = "champion" - materials = list(MAT_GOLD=400) + materials = list(/datum/material/gold=400) /obj/item/storage/belt/champion/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 5ee014306a0..a7a594fcd9f 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -1,8 +1,8 @@ /obj/item/storage/toolbox name = "toolbox" desc = "Danger. Very robust." - icon_state = "red" - item_state = "toolbox_red" + icon_state = "toolbox_default" + item_state = "toolbox_default" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' flags_1 = CONDUCT_1 @@ -11,9 +11,10 @@ throw_speed = 2 throw_range = 7 w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) attack_verb = list("robusted") hitsound = 'sound/weapons/smash.ogg' + custom_materials = list(/datum/material/iron = 500) //Toolboxes by default use iron as their core, custom material. var/latches = "single_latch" var/has_latches = TRUE @@ -41,6 +42,7 @@ name = "emergency toolbox" icon_state = "red" item_state = "toolbox_red" + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/emergency/PopulateContents() new /obj/item/crowbar/red(src) @@ -59,11 +61,13 @@ name = "rusty red toolbox" icon_state = "toolbox_red_old" has_latches = FALSE + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/mechanical name = "mechanical toolbox" icon_state = "blue" item_state = "toolbox_blue" + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/mechanical/PopulateContents() new /obj/item/screwdriver(src) @@ -77,6 +81,7 @@ name = "rusty blue toolbox" icon_state = "toolbox_blue_old" has_latches = FALSE + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/mechanical/old/heirloom name = "toolbox" //this will be named "X family toolbox" @@ -124,6 +129,7 @@ name = "electrical toolbox" icon_state = "yellow" item_state = "toolbox_yellow" + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/electrical/PopulateContents() var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white") @@ -144,6 +150,7 @@ item_state = "toolbox_syndi" force = 15 throwforce = 18 + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/syndicate/ComponentInitialize() . = ..() @@ -163,6 +170,7 @@ name = "mechanical toolbox" icon_state = "blue" item_state = "toolbox_blue" + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/drone/PopulateContents() var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white") @@ -183,6 +191,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_HUGE attack_verb = list("robusted", "crushed", "smashed") + material_flags = MATERIAL_NO_COLOR var/fabricator_type = /obj/item/clockwork/replica_fabricator/scarab /obj/item/storage/toolbox/brass/ComponentInitialize() @@ -222,6 +231,7 @@ icon_state = "green" item_state = "artistic_toolbox" w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox! + material_flags = MATERIAL_NO_COLOR /obj/item/storage/toolbox/artistic/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 9b31b6c2624..dc9cf806351 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -11,7 +11,7 @@ throwforce = 10 throw_speed = 1 throw_range = 4 - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) actions_types = list(/datum/action/item_action/set_internals) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 30) var/datum/gas_mixture/air_contents = null diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index da806908df8..4b7299318d3 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -24,7 +24,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=400) + materials = list(/datum/material/iron=400) /obj/item/locator/attack_self(mob/user) user.set_machine(src) @@ -126,7 +126,7 @@ w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/list/active_portal_pairs diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index ae0f7f7d31d..c639f23bcdd 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -11,7 +11,7 @@ force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50) + materials = list(/datum/material/iron=50) attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") tool_behaviour = TOOL_CROWBAR @@ -50,7 +50,7 @@ w_class = WEIGHT_CLASS_NORMAL throw_speed = 3 throw_range = 3 - materials = list(MAT_METAL=70) + materials = list(/datum/material/iron=70) icon_state = "crowbar_large" item_state = "crowbar" toolspeed = 0.7 @@ -69,7 +69,7 @@ item_state = "jawsoflife" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) usesound = 'sound/items/jaws_pry.ogg' force = 15 diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index a1a4b6fcc34..ce1bb3b1368 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -13,7 +13,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=75) + materials = list(/datum/material/iron=75) attack_verb = list("stabbed") hitsound = 'sound/weapons/bladeslice.ogg' usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg') @@ -111,7 +111,7 @@ item_state = "drill" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) //done for balance reasons, making them high value for research, but harder to get + materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) //done for balance reasons, making them high value for research, but harder to get force = 8 //might or might not be too high, subject to change w_class = WEIGHT_CLASS_SMALL throwforce = 8 diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 842394aee81..248d6589ff1 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -21,7 +21,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF - materials = list(MAT_METAL=70, MAT_GLASS=30) + materials = list(/datum/material/iron=70, /datum/material/glass=30) var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) var/max_fuel = 20 //The max amount of fuel the welder can hold @@ -297,7 +297,7 @@ desc = "A slightly larger welder with a larger tank." icon_state = "indwelder" max_fuel = 40 - materials = list(MAT_GLASS=60) + materials = list(/datum/material/glass=60) /obj/item/weldingtool/largetank/cyborg name = "integrated welding tool" @@ -319,7 +319,7 @@ icon_state = "miniwelder" max_fuel = 10 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=30, MAT_GLASS=10) + materials = list(/datum/material/iron=30, /datum/material/glass=10) change_icons = 0 /obj/item/weldingtool/mini/flamethrower_screwdriver() @@ -345,7 +345,7 @@ icon_state = "upindwelder" item_state = "upindwelder" max_fuel = 80 - materials = list(MAT_METAL=70, MAT_GLASS=120) + materials = list(/datum/material/iron=70, /datum/material/glass=120) /obj/item/weldingtool/experimental name = "experimental welding tool" @@ -353,7 +353,7 @@ icon_state = "exwelder" item_state = "exwelder" max_fuel = 40 - materials = list(MAT_METAL=70, MAT_GLASS=120) + materials = list(/datum/material/iron=70, /datum/material/glass=120) var/last_gen = 0 change_icons = 0 can_off_process = 1 diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index c4de2bcb738..d98aa2968e5 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -12,7 +12,7 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=80) + materials = list(/datum/material/iron=80) attack_verb = list("pinched", "nipped") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' @@ -94,7 +94,7 @@ icon_state = "jaws_cutter" item_state = "jawsoflife" - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) usesound = 'sound/items/jaws_cut.ogg' toolspeed = 0.7 random_color = FALSE diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index c5bde43b2e8..158e5aee97b 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -11,7 +11,7 @@ throwforce = 7 w_class = WEIGHT_CLASS_SMALL usesound = 'sound/items/ratchet.ogg' - materials = list(MAT_METAL=150) + materials = list(/datum/material/iron=150) attack_verb = list("bashed", "battered", "bludgeoned", "whacked") tool_behaviour = TOOL_WRENCH @@ -52,7 +52,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' usesound = 'sound/items/drill_use.ogg' - materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + materials = list(/datum/material/iron=150,/datum/material/silver=50,/datum/material/titanium=25) //done for balance reasons, making them high value for research, but harder to get force = 8 //might or might not be too high, subject to change w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index f5481a67646..98a323617c8 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -164,7 +164,7 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=10, MAT_GLASS=10) + materials = list(/datum/material/iron=10, /datum/material/glass=10) attack_verb = list("struck", "pistol whipped", "hit", "bashed") var/bullets = 7 @@ -218,7 +218,7 @@ icon = 'icons/obj/ammo.dmi' icon_state = "357OLD-7" w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=10, MAT_GLASS=10) + materials = list(/datum/material/iron=10, /datum/material/glass=10) var/amount_left = 7 /obj/item/toy/ammo/gun/update_icon() diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 094984739a0..fe40c352491 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -467,7 +467,7 @@ throw_speed = 4 embedding = list("embedded_impact_pain_multiplier" = 3) armour_penetration = 10 - materials = list(MAT_METAL=1150, MAT_GLASS=2075) + materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") sharpness = IS_SHARP @@ -573,7 +573,7 @@ throwforce = 13 throw_speed = 2 throw_range = 4 - materials = list(MAT_METAL=13000) + materials = list(/datum/material/iron=13000) attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = "swing_hit" sharpness = IS_SHARP diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 4fd6b47973d..b9893197e3a 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -239,7 +239,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 9 throwforce = 10 w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=1150, MAT_GLASS=75) + materials = list(/datum/material/iron=1150, /datum/material/glass=75) attack_verb = list("hit", "bludgeoned", "whacked", "bonked") /obj/item/wirerod/attackby(obj/item/I, mob/user, params) @@ -283,7 +283,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0) w_class = WEIGHT_CLASS_SMALL sharpness = IS_SHARP - materials = list(MAT_METAL=500, MAT_GLASS=500) + materials = list(/datum/material/iron=500, /datum/material/glass=500) resistance_flags = FIRE_PROOF /obj/item/throwing_star/magspear @@ -309,7 +309,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throwforce = 5 throw_speed = 3 throw_range = 6 - materials = list(MAT_METAL=12000) + materials = list(/datum/material/iron=12000) hitsound = 'sound/weapons/genhit.ogg' attack_verb = list("stubbed", "poked") resistance_flags = FIRE_PROOF @@ -370,7 +370,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 5 throwforce = 5 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50) + materials = list(/datum/material/iron=50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/staff diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index eba50e7c329..dec72895758 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -261,7 +261,7 @@ throw_range = 3 hitsound = 'sound/items/trayhit1.ogg' hit_reaction_chance = 50 - materials = list(MAT_METAL = 2000) + materials = list(/datum/material/iron = 2000) var/break_chance = 5 //Likely hood of smashing the chair. var/obj/structure/chair/origin_type = /obj/structure/chair @@ -302,7 +302,7 @@ if(remaining_mats) for(var/M=1 to remaining_mats) new stack_type(get_turf(loc)) - else if(materials[MAT_METAL]) + else if(materials[/datum/material/iron]) new /obj/item/stack/rods(get_turf(loc), 2) qdel(src) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 965453c3ff5..42e4dda6c49 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -542,7 +542,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "rack_parts" flags_1 = CONDUCT_1 - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) var/building = FALSE /obj/item/rack_parts/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index a015cfd730b..033c121290a 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -4,7 +4,7 @@ desc = "A shell of swarmer that was completely powered down. It can no longer activate itself." icon = 'icons/mob/swarmer.dmi' icon_state = "swarmer_unactivated" - materials = list(MAT_METAL=10000, MAT_GLASS=4000) + materials = list(/datum/material/iron=10000, /datum/material/glass=4000) /obj/effect/mob_spawn/swarmer name = "unactivated swarmer" @@ -189,7 +189,7 @@ return 0 /obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item - if(materials[MAT_METAL] || materials[MAT_GLASS]) + if(materials[getmaterialref(/datum/material/iron)] || materials[getmaterialref(/datum/material/glass)]) return 1 return ..() diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 847528840a0..4a92d1804f7 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -12,7 +12,7 @@ icon_state = "" flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=100) + materials = list(/datum/material/iron=100) throwforce = 2 throw_speed = 3 throw_range = 7 diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 7ebc80f6499..0830c6d434f 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' throwforce = 0 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL = 300, MAT_GLASS = 300) + materials = list(/datum/material/iron = 300, /datum/material/glass = 300) light_color = LIGHT_COLOR_WHITE light_power = FLASH_LIGHT_POWER var/flashing_overlay = "flash-f" diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 5a132f033d4..19ec84f4433 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -2,7 +2,7 @@ name = "health sensor" desc = "Used for scanning and monitoring health." icon_state = "health" - materials = list(MAT_METAL=800, MAT_GLASS=200) + materials = list(/datum/material/iron=800, /datum/material/glass=200) attachable = TRUE var/scanning = FALSE diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index ec4848d47ed..4bbd009c229 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 combustible substances." icon_state = "igniter" - materials = list(MAT_METAL=500, MAT_GLASS=50) + materials = list(/datum/material/iron=500, /datum/material/glass=50) var/datum/effect_system/spark_spread/sparks heat = 1000 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 6314468139b..f598dafc003 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -2,7 +2,7 @@ name = "infrared emitter" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" - materials = list(MAT_METAL=1000, MAT_GLASS=500) + materials = list(/datum/material/iron=1000, /datum/material/glass=500) is_position_sensitive = TRUE var/on = FALSE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 09ed3e94b8b..55444ac2b61 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -3,7 +3,7 @@ desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" item_state = "mousetrap" - materials = list(MAT_METAL=100) + materials = list(/datum/material/iron=100) attachable = TRUE var/armed = FALSE diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 6b0017e9fc3..45da42b5320 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" - materials = list(MAT_METAL=800, MAT_GLASS=200) + materials = list(/datum/material/iron=800, /datum/material/glass=200) attachable = TRUE var/scanning = FALSE diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 29ab83e2cb7..500f6f03053 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -5,7 +5,7 @@ item_state = "signaler" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - materials = list(MAT_METAL=400, MAT_GLASS=120) + materials = list(/datum/material/iron=400, /datum/material/glass=120) wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE attachable = TRUE diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 04a57764b39..ac7c630714b 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" - materials = list(MAT_METAL=500, MAT_GLASS=50) + materials = list(/datum/material/iron=500, /datum/material/glass=50) attachable = TRUE var/timing = FALSE diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 7ad5f827e18..ad60c81b928 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -7,7 +7,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" - materials = list(MAT_METAL=500, MAT_GLASS=50) + materials = list(/datum/material/iron=500, /datum/material/glass=50) flags_1 = HEAR_1 attachable = TRUE verb_say = "beeps" diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index 39e1be9e64d..a7054556911 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -122,7 +122,7 @@ icon = 'icons/obj/economy.dmi' icon_state = "rupee" w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) /obj/item/rupee/Initialize() . = ..() diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm index 04dc76fd52b..4f478d3c6e8 100644 --- a/code/modules/cargo/exports/materials.dm +++ b/code/modules/cargo/exports/materials.dm @@ -14,10 +14,10 @@ if(!isitem(O)) return 0 var/obj/item/I = O - if(!(material_id in I.materials)) + if(!(getmaterialref(material_id) in I.materials)) return 0 - var/amount = I.materials[material_id] + var/amount = I.materials[getmaterialref(material_id)] if(istype(I, /obj/item/stack)) var/obj/item/stack/S = I @@ -31,49 +31,49 @@ /datum/export/material/bananium cost = 1000 - material_id = MAT_BANANIUM + material_id = /datum/material/bananium message = "cm3 of bananium" /datum/export/material/diamond cost = 500 - material_id = MAT_DIAMOND + material_id = /datum/material/diamond message = "cm3 of diamonds" /datum/export/material/plasma cost = 200 k_elasticity = 0 - material_id = MAT_PLASMA + material_id = /datum/material/plasma message = "cm3 of plasma" /datum/export/material/uranium cost = 100 - material_id = MAT_URANIUM + material_id = /datum/material/uranium message = "cm3 of uranium" /datum/export/material/gold cost = 125 - material_id = MAT_GOLD + material_id = /datum/material/gold message = "cm3 of gold" /datum/export/material/silver cost = 50 - material_id = MAT_SILVER + material_id = /datum/material/silver message = "cm3 of silver" /datum/export/material/titanium cost = 125 - material_id = MAT_TITANIUM + material_id = /datum/material/titanium message = "cm3 of titanium" /datum/export/material/plastitanium cost = 325 // plasma + titanium costs - material_id = MAT_TITANIUM // code can only check for one material_id; plastitanium is half plasma, half titanium + material_id = /datum/material/titanium // code can only check for one material_id; plastitanium is half plasma, half titanium message = "cm3 of plastitanium" /datum/export/material/metal cost = 5 message = "cm3 of metal" - material_id = MAT_METAL + material_id = /datum/material/iron export_types = list( /obj/item/stack/sheet/metal, /obj/item/stack/tile/plasteel, /obj/item/stack/rods, /obj/item/stack/ore, /obj/item/coin) @@ -81,6 +81,6 @@ /datum/export/material/glass cost = 5 message = "cm3 of glass" - material_id = MAT_GLASS + material_id = /datum/material/glass export_types = list(/obj/item/stack/sheet/glass, /obj/item/stack/ore, /obj/item/shard) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 4ccdc7da0b2..c351d127ef8 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -8,7 +8,7 @@ strip_delay = 20 equip_delay_other = 25 resistance_flags = NONE - materials = list(MAT_GLASS = 250) + materials = list(/datum/material/glass = 250) var/vision_flags = 0 var/darkness_view = 2//Base human is 2 var/invis_view = SEE_INVISIBLE_LIVING //admin only for now @@ -259,7 +259,7 @@ icon_state = "welding-g" item_state = "welding-g" actions_types = list(/datum/action/item_action/toggle) - materials = list(MAT_METAL = 250) + materials = list(/datum/material/iron = 250) flash_protect = 2 tint = 2 visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 54bdbc6b25f..2925fc9b774 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -19,7 +19,7 @@ icon_state = "welding" flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" - materials = list(MAT_METAL=1750, MAT_GLASS=400) + materials = list(/datum/material/iron=1750, /datum/material/glass=400) flash_protect = 2 tint = 2 armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 60) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 9949e47d80d..126f833ffaa 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -17,7 +17,7 @@ name = "welding mask" desc = "A gas mask with built-in welding goggles and a face shield. Looks like a skull - clearly designed by a nerd." icon_state = "weldingmask" - materials = list(MAT_METAL=4000, MAT_GLASS=2000) + materials = list(/datum/material/iron=4000, /datum/material/glass=2000) flash_protect = 2 tint = 2 armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 55) diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index eb0437cc1c5..d918f68e978 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -10,7 +10,7 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE, /obj/item/stack) + AddComponent(/datum/component/material_container, list(/datum/material/bananium), 200000, TRUE, /obj/item/stack) AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75) if(always_noslip) clothing_flags |= NOSLIP @@ -19,7 +19,7 @@ . = ..() var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) if(on) - if(bananium.amount(MAT_BANANIUM) < 100) + if(bananium.get_material_amount(/datum/material/bananium) < 100) on = !on if(!always_noslip) clothing_flags &= ~NOSLIP @@ -27,7 +27,7 @@ to_chat(loc, "You ran out of bananium!") else new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(usr.dir, 180))) //honk - bananium.use_amount_type(100, MAT_BANANIUM) + bananium.use_amount_mat(100, /datum/material/bananium) /obj/item/clothing/shoes/clown_shoes/banana_shoes/attack_self(mob/user) var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) @@ -43,7 +43,7 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user) var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - if(bananium.amount(MAT_BANANIUM)) + if(bananium.get_material_amount(/datum/material/bananium)) on = !on update_icon() to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 8155a9b2fdf..502271c6478 100755 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -112,7 +112,7 @@ desc = "A bronze medal." icon_state = "bronze" item_color = "bronze" - materials = list(MAT_METAL=1000) + materials = list(/datum/material/iron=1000) resistance_flags = FIRE_PROOF var/medaltype = "medal" //Sprite used for medalbox var/commended = FALSE @@ -182,7 +182,7 @@ icon_state = "silver" item_color = "silver" medaltype = "medal-silver" - materials = list(MAT_SILVER=1000) + materials = list(/datum/material/silver=1000) /obj/item/clothing/accessory/medal/silver/valor name = "medal of valor" @@ -202,7 +202,7 @@ icon_state = "gold" item_color = "gold" medaltype = "medal-gold" - materials = list(MAT_GOLD=1000) + materials = list(/datum/material/gold=1000) /obj/item/clothing/accessory/medal/gold/captain name = "medal of captaincy" @@ -220,7 +220,7 @@ item_color = "plasma" medaltype = "medal-plasma" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = 0) //It's made of plasma. Of course it's flammable. - materials = list(MAT_PLASMA=1000) + materials = list(/datum/material/plasma=1000) /obj/item/clothing/accessory/medal/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index e71e38b74b5..797d368b968 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -150,7 +150,7 @@ force = 1 throwforce = 1 amount_per_transfer_from_this = 5 - materials = list(MAT_METAL=100) + materials = list(/datum/material/iron=100) possible_transfer_amounts = list() volume = 5 flags_1 = CONDUCT_1 @@ -166,7 +166,7 @@ force = 14 throwforce = 10 amount_per_transfer_from_this = 20 - materials = list(MAT_GOLD=1000) + materials = list(/datum/material/gold=1000) volume = 150 /obj/item/reagent_containers/food/drinks/trophy/silver_cup @@ -177,7 +177,7 @@ force = 10 throwforce = 8 amount_per_transfer_from_this = 15 - materials = list(MAT_SILVER=800) + materials = list(/datum/material/silver=800) volume = 100 @@ -189,7 +189,7 @@ force = 5 throwforce = 4 amount_per_transfer_from_this = 10 - materials = list(MAT_METAL=400) + materials = list(/datum/material/iron=400) volume = 25 ///////////////////////////////////////////////Drinks @@ -364,7 +364,7 @@ name = "shaker" desc = "A metal shaker to mix drinks in." icon_state = "shaker" - materials = list(MAT_METAL=1500) + materials = list(/datum/material/iron=1500) amount_per_transfer_from_this = 10 volume = 100 isGlass = FALSE @@ -374,7 +374,7 @@ desc = "Every good spaceman knows it's a good idea to bring along a couple of pints of whiskey wherever they go." custom_price = 30 icon_state = "flask" - materials = list(MAT_METAL=250) + materials = list(/datum/material/iron=250) volume = 60 isGlass = FALSE @@ -382,7 +382,7 @@ name = "captain's flask" desc = "A gold flask belonging to the captain." icon_state = "flask_gold" - materials = list(MAT_GOLD=500) + materials = list(/datum/material/gold=500) /obj/item/reagent_containers/food/drinks/flask/det name = "detective's flask" diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index c3b5739a7ce..176bf61a40e 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -7,7 +7,7 @@ icon_state = "glass_empty" amount_per_transfer_from_this = 10 volume = 50 - materials = list(MAT_GLASS=500) + materials = list(/datum/material/glass=500) max_integrity = 20 spillable = TRUE resistance_flags = ACID_PROOF @@ -47,7 +47,7 @@ amount_per_transfer_from_this = 15 possible_transfer_amounts = list() volume = 15 - materials = list(MAT_GLASS=100) + materials = list(/datum/material/glass=100) /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change(changetype) cut_overlays() diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index 938d10fd76f..80f5b60cd4d 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -291,7 +291,7 @@ icon = 'icons/obj/food/soupsalad.dmi' icon_state = "bowl" reagent_flags = OPENCONTAINER - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) w_class = WEIGHT_CLASS_NORMAL /obj/item/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user, params) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 880b3718c30..db0fefaf3ba 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -309,8 +309,8 @@ var/metal = 0 for(var/obj/item/O in ingredients) O.microwave_act(src) - if(O.materials[MAT_METAL]) - metal += O.materials[MAT_METAL] + if(O.materials[/datum/material/iron]) + metal += O.materials[/datum/material/iron] if(metal) spark() diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 197beccec87..a70a8de7258 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -195,7 +195,7 @@ dat += "x5" if(ispath(D.build_path, /obj/item/stack)) dat += "x10" - dat += "([D.materials[MAT_BIOMASS]/efficiency])
" + dat += "([D.materials[getmaterialref(/datum/material/biomass)]/efficiency])
" dat += "" else dat += "
No container inside, please insert container.
" @@ -231,15 +231,15 @@ else menustat = "void" -/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = 1) - if(materials.len != 1 || materials[1] != MAT_BIOMASS) +/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE) + if(materials.len != 1 || materials[1] != getmaterialref(/datum/material/biomass)) return FALSE - if (materials[MAT_BIOMASS]*multiplier/efficiency > points) + if (materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency > points) menustat = "nopoints" return FALSE else if(remove_points) - points -= materials[MAT_BIOMASS]*multiplier/efficiency + points -= materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency update_icon() updateUsrDialog() return TRUE diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index d7ec7994f62..c6513f64737 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -415,7 +415,7 @@ name = "plant data disk" desc = "A disk for storing plant genetic data." icon_state = "datadisk_hydro" - materials = list(MAT_METAL=30, MAT_GLASS=10) + materials = list(/datum/material/iron=30, /datum/material/glass=10) var/datum/plant_gene/gene var/read_only = 0 //Well, it's still a floppy disk obj_flags = UNIQUE_RENAME diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index b1b92ff91ec..0ccd4bd6e19 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -9,7 +9,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=30, MAT_GLASS=20) + materials = list(/datum/material/iron=30, /datum/material/glass=20) // ************************************* // Hydroponics Tools @@ -57,7 +57,7 @@ force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=50) + materials = list(/datum/material/iron=50) attack_verb = list("slashed", "sliced", "cut", "clawed") hitsound = 'sound/weapons/bladeslice.ogg' @@ -89,7 +89,7 @@ throwforce = 15 throw_speed = 3 throw_range = 4 - materials = list(MAT_METAL = 15000) + materials = list(/datum/material/iron = 15000) attack_verb = list("chopped", "torn", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 5712be6915d..d7f0a3ed85d 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -16,7 +16,7 @@ throwforce = 5 throw_speed = 4 armour_penetration = 10 - materials = list(MAT_METAL=1150, MAT_GLASS=2075) + materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") sharpness = IS_SHARP diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index 541c3bb1df6..c5db9d3d9aa 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -11,7 +11,7 @@ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi' w_class = WEIGHT_CLASS_BULKY - materials = list(MAT_METAL=2000) //one sheet, but where can you make them? + materials = list(/datum/material/iron=2000) //one sheet, but where can you make them? tool_behaviour = TOOL_MINING toolspeed = 1 usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') @@ -32,7 +32,7 @@ throwforce = 7 slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=1000) + materials = list(/datum/material/iron=1000) /obj/item/pickaxe/silver name = "silver-plated pickaxe" @@ -106,7 +106,7 @@ throwforce = 4 item_state = "shovel" w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=50) + materials = list(/datum/material/iron=50) attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") sharpness = IS_SHARP diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 6d5711679fd..0ccc94074c7 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -116,28 +116,28 @@ name = "Kinetic Accelerator Offensive Mining Explosion Mod" desc = "A device which causes kinetic accelerators to fire AoE blasts that destroy rock and damage creatures." id = "hyperaoemod" - materials = list(MAT_METAL = 7000, MAT_GLASS = 3000, MAT_SILVER = 3000, MAT_GOLD = 3000, MAT_DIAMOND = 4000) + materials = list(/datum/material/iron = 7000, /datum/material/glass = 3000, /datum/material/silver = 3000, /datum/material/gold = 3000, /datum/material/diamond = 4000) build_path = /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs /datum/design/unique_modkit/rapid_repeater name = "Kinetic Accelerator Rapid Repeater Mod" desc = "A device which greatly reduces a kinetic accelerator's cooldown on striking a living target or rock, but greatly increases its base cooldown." id = "repeatermod" - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_URANIUM = 8000, MAT_BLUESPACE = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/uranium = 8000, /datum/material/bluespace = 2000) build_path = /obj/item/borg/upgrade/modkit/cooldown/repeater /datum/design/unique_modkit/resonator_blast name = "Kinetic Accelerator Resonator Blast Mod" desc = "A device which causes kinetic accelerators to fire shots that leave and detonate resonator blasts." id = "resonatormod" - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_SILVER = 5000, MAT_URANIUM = 5000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/silver = 5000, /datum/material/uranium = 5000) build_path = /obj/item/borg/upgrade/modkit/resonator_blasts /datum/design/unique_modkit/bounty name = "Kinetic Accelerator Death Syphon Mod" desc = "A device which causes kinetic accelerators to permanently gain damage against creature types killed with it." id = "bountymod" - materials = list(MAT_METAL = 4000, MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_BLUESPACE = 4000) + materials = list(/datum/material/iron = 4000, /datum/material/silver = 4000, /datum/material/gold = 4000, /datum/material/bluespace = 4000) reagents_list = list(/datum/reagent/blood = 40) build_path = /obj/item/borg/upgrade/modkit/bounty diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 16e8b0b26c8..20536442b0e 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -47,8 +47,10 @@ add_fingerprint(usr) if(href_list["material"]) - machine.selected_material = href_list["material"] - machine.selected_alloy = null + var/datum/material/new_material = locate(href_list["material"]) + if(istype(new_material)) + machine.selected_material = new_material + machine.selected_alloy = null if(href_list["alloy"]) machine.selected_material = null @@ -75,15 +77,16 @@ density = TRUE var/obj/machinery/mineral/CONSOLE = null var/on = FALSE - var/selected_material = MAT_METAL + var/datum/material/selected_material = null var/selected_alloy = null var/datum/techweb/stored_research /obj/machinery/mineral/processing_unit/Initialize() . = ..() proximity_monitor = new(src, 1) - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, TRUE, /obj/item/stack) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, TRUE, /obj/item/stack) stored_research = new /datum/techweb/specialized/autounlocking/smelter + selected_material = getmaterialref(/datum/material/iron) /obj/machinery/mineral/processing_unit/Destroy() CONSOLE = null @@ -108,13 +111,13 @@ /obj/machinery/mineral/processing_unit/proc/get_machine_data() var/dat = "Smelter control console

" var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - dat += "[M.name]: [M.amount] cm³" - if (selected_material == mat_id) + for(var/datum/material/M in materials.materials) + var/amount = materials.materials[M] + dat += "[M.name]: [amount] cm³" + if (selected_material == M) dat += " Smelting" else - dat += " Not Smelting " + dat += " Not Smelting " dat += "
" dat += "

" @@ -153,14 +156,14 @@ /obj/machinery/mineral/processing_unit/proc/smelt_ore() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/datum/material/mat = materials.materials[selected_material] + var/datum/material/mat = selected_material if(mat) - var/sheets_to_remove = (mat.amount >= (MINERAL_MATERIAL_AMOUNT * SMELT_AMOUNT) ) ? SMELT_AMOUNT : round(mat.amount / MINERAL_MATERIAL_AMOUNT) + var/sheets_to_remove = (materials.materials[mat] >= (MINERAL_MATERIAL_AMOUNT * SMELT_AMOUNT) ) ? SMELT_AMOUNT : round(materials.materials[mat] / MINERAL_MATERIAL_AMOUNT) if(!sheets_to_remove) on = FALSE else var/out = get_step(src, output_dir) - materials.retrieve_sheets(sheets_to_remove, selected_material, out) + materials.retrieve_sheets(sheets_to_remove, mat, out) /obj/machinery/mineral/processing_unit/proc/smelt_alloy() @@ -176,7 +179,7 @@ return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.use_amount(alloy.materials, amount) + materials.use_materials(alloy.materials, amount) generate_mineral(alloy.build_path) @@ -188,14 +191,11 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/mat_id in D.materials) - var/M = D.materials[mat_id] - var/datum/material/smelter_mat = materials.materials[mat_id] + for(var/mat_cat in D.materials) + var/required_amount = D.materials[mat_cat] + var/amount = materials.materials[mat_cat] - if(!M || !smelter_mat) - return FALSE - - build_amount = min(build_amount, round(smelter_mat.amount / M)) + build_amount = min(build_amount, round(amount / required_amount)) return build_amount diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 2c5b06de313..e774cd50eb5 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -17,7 +17,7 @@ var/points = 0 var/ore_pickup_rate = 15 var/sheet_per_ore = 1 - var/list/ore_values = list(MAT_GLASS = 1, MAT_METAL = 1, MAT_PLASMA = 15, MAT_SILVER = 16, MAT_GOLD = 18, MAT_TITANIUM = 30, MAT_URANIUM = 30, MAT_DIAMOND = 50, MAT_BLUESPACE = 50, MAT_BANANIUM = 60) + var/list/ore_values = list(/datum/material/iron = 1, /datum/material/glass = 1, /datum/material/plasma = 15, /datum/material/silver = 16, /datum/material/gold = 18, /datum/material/titanium = 30, /datum/material/uranium = 30, /datum/material/diamond = 50, /datum/material/bluespace = 50, /datum/material/bananium = 60) var/message_sent = FALSE var/list/ore_buffer = list() var/datum/techweb/stored_research @@ -44,7 +44,7 @@ ore_pickup_rate_temp = 15 * M.rating ore_pickup_rate = ore_pickup_rate_temp - sheet_per_ore = sheet_per_ore_temp + sheet_per_ore = round(sheet_per_ore_temp, 0.01) /obj/machinery/mineral/ore_redemption/examine(mob/user) . = ..() @@ -89,14 +89,14 @@ var/build_amount = 0 - for(var/mat_id in D.materials) - var/M = D.materials[mat_id] - var/datum/material/redemption_mat = mat_container.materials[mat_id] + for(var/mat in D.materials) + var/amount = D.materials[mat] + var/datum/material/redemption_mat_amount = mat_container.materials[mat] - if(!M || !redemption_mat) + if(!amount || !redemption_mat_amount) return FALSE - var/smeltable_sheets = FLOOR(redemption_mat.amount / M, 1) + var/smeltable_sheets = FLOOR(redemption_mat_amount / amount, 1) if(!smeltable_sheets) return FALSE @@ -126,9 +126,9 @@ var/has_minerals = FALSE - for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - var/mineral_amount = M.amount / MINERAL_MATERIAL_AMOUNT + for(var/mat in mat_container.materials) + var/datum/material/M = mat + var/mineral_amount = mat_container.materials[mat] / MINERAL_MATERIAL_AMOUNT if(mineral_amount) has_minerals = TRUE msg += "[capitalize(M.name)]: [mineral_amount] sheets
" @@ -223,10 +223,12 @@ data["materials"] = list() var/datum/component/material_container/mat_container = materials.mat_container if (mat_container) - for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - var/sheet_amount = M.amount ? M.amount / MINERAL_MATERIAL_AMOUNT : "0" - data["materials"] += list(list("name" = M.name, "id" = M.id, "amount" = sheet_amount, "value" = ore_values[M.id])) + for(var/mat in mat_container.materials) + var/datum/material/M = mat + var/amount = mat_container.materials[M] + var/sheet_amount = amount / MINERAL_MATERIAL_AMOUNT + var/ref = REF(M) + data["materials"] += list(list("name" = M.name, "id" = ref, "amount" = sheet_amount, "value" = ore_values[M.type])) data["alloys"] = list() for(var/v in stored_research.researched_designs) @@ -278,16 +280,19 @@ if("Release") if(!mat_container) return + if(materials.on_hold()) to_chat(usr, "Mineral access is on hold, please contact the quartermaster.") else if(!check_access(inserted_id) && !allowed(usr)) //Check the ID inside, otherwise check the user to_chat(usr, "Required access not found.") else - var/mat_id = params["id"] - if(!mat_container.materials[mat_id]) + var/datum/material/mat = locate(params["id"]) + + var/amount = mat_container.materials[mat] + if(!amount) return - var/datum/material/mat = mat_container.materials[mat_id] - var/stored_amount = mat.amount / MINERAL_MATERIAL_AMOUNT + + var/stored_amount = CEILING(amount / MINERAL_MATERIAL_AMOUNT, 0.1) if(!stored_amount) return @@ -299,10 +304,12 @@ desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num var/sheets_to_remove = round(min(desired,50,stored_amount)) - var/count = mat_container.retrieve_sheets(sheets_to_remove, mat_id, get_step(src, output_dir)) + + var/count = mat_container.retrieve_sheets(sheets_to_remove, mat, get_step(src, output_dir)) var/list/mats = list() - mats[mat_id] = MINERAL_MATERIAL_AMOUNT + mats[mat] = MINERAL_MATERIAL_AMOUNT materials.silo_log(src, "released", -count, "sheets", mats) + //Logging deleted for quick coding return TRUE if("diskInsert") var/obj/item/disk/design_disk/disk = usr.get_active_held_item() @@ -339,7 +346,7 @@ else desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num var/amount = round(min(desired,50,smelt_amount)) - mat_container.use_amount(alloy.materials, amount) + mat_container.use_materials(alloy.materials, amount) materials.silo_log(src, "released", -amount, "sheets", alloy.materials) var/output if(ispath(alloy.build_path, /obj/item/stack/sheet)) diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index e7532cae9ea..872f134688f 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -16,7 +16,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) /obj/machinery/ore_silo/Initialize(mapload) . = ..() AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), + list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace, /datum/material/plastic), INFINITY, FALSE, /obj/item/stack, @@ -75,15 +75,17 @@ GLOBAL_LIST_EMPTY(silo_access_logs) var/list/ui = list("Ore Silo

Stored Material:

") var/any = FALSE for(var/M in materials.materials) - var/datum/material/mat = materials.materials[M] - var/sheets = round(mat.amount) / MINERAL_MATERIAL_AMOUNT + var/datum/material/mat = M + var/amount = materials.materials[M] + var/sheets = round(amount) / MINERAL_MATERIAL_AMOUNT + var/ref = REF(M) if (sheets) - if (sheets >= 1) - ui += "Eject" + if (sheets >= 1) + ui += "Eject" else ui += "Eject" if (sheets >= 20) - ui += "20x" + ui += "20x" else ui += "20x" ui += "[mat.name]: [sheets] sheets
" @@ -148,7 +150,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) updateUsrDialog() return TRUE else if(href_list["ejectsheet"]) - var/eject_sheet = href_list["ejectsheet"] + var/datum/material/eject_sheet = locate(href_list["ejectsheet"]) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/count = materials.retrieve_sheets(text2num(href_list["eject_amt"]), eject_sheet, drop_location()) var/list/matlist = list() diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 8204977058d..a85f07c7cad 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -8,14 +8,16 @@ density = TRUE var/newCoins = 0 //how many coins the machine made in it's last load var/processing = FALSE - var/chosen = MAT_METAL //which material will be used to make coins + var/chosen = /datum/material/iron //which material will be used to make coins var/coinsToProduce = 10 speed_process = TRUE /obj/machinery/mineral/mint/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack) + AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/plasma, /datum/material/silver, /datum/material/gold, /datum/material/uranium, /datum/material/diamond, /datum/material/bananium), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack) + chosen = getmaterialref(chosen) + /obj/machinery/mineral/mint/process() var/turf/T = get_step(src, input_dir) @@ -33,17 +35,17 @@ var/dat = "Coin Press
" var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - if(!M.amount && chosen != mat_id) + for(var/datum/material/M in materials.materials) + var/amount = materials.get_material_amount(M) + if(!amount && chosen != M) continue - dat += "
[M.name] amount: [M.amount] cm3 " - if (chosen == mat_id) + dat += "
[M.name] amount: [amount] cm3 " + if (chosen == M) dat += "Chosen" else - dat += "Choose" + dat += "Choose" - var/datum/material/M = materials.materials[chosen] + var/datum/material/M = chosen dat += "

Will produce [coinsToProduce] [lowertext(M.name)] coins if enough materials are available.
" dat += "-10 " @@ -67,8 +69,9 @@ return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) if(href_list["choose"]) - if(materials.materials[href_list["choose"]]) - chosen = href_list["choose"] + var/datum/material/new_material = locate(href_list["choose"]) + if(istype(new_material)) + chosen = new_material if(href_list["chooseAmt"]) coinsToProduce = CLAMP(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000) if(href_list["makeCoins"]) @@ -76,12 +79,12 @@ processing = TRUE icon_state = "coinpress1" var/coin_mat = MINERAL_MATERIAL_AMOUNT * 0.2 - var/datum/material/M = materials.materials[chosen] + var/datum/material/M = chosen if(!M || !M.coin_type) updateUsrDialog() return - while(coinsToProduce > 0 && materials.use_amount_type(coin_mat, chosen)) + while(coinsToProduce > 0 && materials.use_amount_mat(coin_mat, chosen)) create_coins(M.coin_type) coinsToProduce-- newCoins++ diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 4d77f6b7fed..f3be436f619 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -69,7 +69,7 @@ item_state = "Uranium ore" singular_name = "uranium ore chunk" points = 30 - materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/uranium=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/uranium /obj/item/stack/ore/iron @@ -78,7 +78,7 @@ item_state = "Iron ore" singular_name = "iron ore chunk" points = 1 - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/metal /obj/item/stack/ore/glass @@ -87,7 +87,7 @@ item_state = "Glass ore" singular_name = "sand pile" points = 1 - materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/glass w_class = WEIGHT_CLASS_TINY @@ -129,7 +129,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Plasma ore" singular_name = "plasma ore chunk" points = 15 - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/plasma /obj/item/stack/ore/plasma/welder_act(mob/living/user, obj/item/I) @@ -143,7 +143,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Silver ore" singular_name = "silver ore chunk" points = 16 - materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/silver /obj/item/stack/ore/gold @@ -152,7 +152,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ icon_state = "Gold ore" singular_name = "gold ore chunk" points = 18 - materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/gold=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/gold /obj/item/stack/ore/diamond @@ -161,7 +161,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Diamond ore" singular_name = "diamond ore chunk" points = 50 - materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/diamond=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/diamond /obj/item/stack/ore/bananium @@ -170,7 +170,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Bananium ore" singular_name = "bananium ore chunk" points = 60 - materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/bananium /obj/item/stack/ore/titanium @@ -179,7 +179,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ item_state = "Titanium ore" singular_name = "titanium ore chunk" points = 50 - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/titanium /obj/item/stack/ore/slag @@ -351,7 +351,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "gold" icon_state = "coin_gold_heads" value = 25 - materials = list(MAT_GOLD = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/gold = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/gold = 4) /obj/item/coin/silver @@ -359,7 +359,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "silver" icon_state = "coin_silver_heads" value = 10 - materials = list(MAT_SILVER = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/silver = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/silver = 4) /obj/item/coin/diamond @@ -367,7 +367,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "diamond" icon_state = "coin_diamond_heads" value = 100 - materials = list(MAT_DIAMOND = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/diamond = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/carbon = 4) /obj/item/coin/iron @@ -375,7 +375,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "iron" icon_state = "coin_iron_heads" value = 1 - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/iron = 4) /obj/item/coin/plasma @@ -383,7 +383,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "plasma" icon_state = "coin_plasma_heads" value = 40 - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/toxin/plasma = 4) /obj/item/coin/uranium @@ -391,7 +391,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "uranium" icon_state = "coin_uranium_heads" value = 25 - materials = list(MAT_URANIUM = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/uranium = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/uranium = 4) /obj/item/coin/bananium @@ -399,7 +399,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ cmineral = "bananium" icon_state = "coin_bananium_heads" value = 200 //makes the clown cry - materials = list(MAT_BANANIUM = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/bananium = MINERAL_MATERIAL_AMOUNT*0.2) grind_results = list(/datum/reagent/consumable/banana = 4) /obj/item/coin/adamantine @@ -419,7 +419,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ icon_state = "coin_iron_heads" desc = "Hey, this coin's the same on both sides!" sideslist = list("heads") - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2) + materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT*0.2) value = 1 grind_results = list(/datum/reagent/iron = 4) diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 6b37cc0cc52..3886d23d30f 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -1,6 +1,7 @@ /mob/living/carbon/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE) + SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-blocked)/100 if(!damage || (!forced && hit_percent <= 0)) return 0 diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 54cd1a64185..fc4b5485bea 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1502,6 +1502,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) return TRUE /datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, forced = FALSE, spread_damage = FALSE) + SEND_SIGNAL(H, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-(blocked+armor))/100 hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100 if(!damage || (!forced && hit_percent <= 0)) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index d7272adafb2..32133d07ae5 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -9,6 +9,7 @@ standard 0 if fail */ /mob/living/proc/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE) + SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-blocked)/100 if(!damage || (!forced && hit_percent <= 0)) return 0 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 32e3bcfd035..61c9f8d6cdb 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -88,8 +88,8 @@ var/obj/item/stack/S = I if(is_type_in_list(S, list(/obj/item/stack/sheet/metal, /obj/item/stack/rods, /obj/item/stack/tile/plasteel))) - if(S.materials[MAT_METAL]) - S.cost = S.materials[MAT_METAL] * 0.25 + if(S.materials[/datum/material/iron]) + S.cost = S.materials[/datum/material/iron] * 0.25 S.source = get_or_create_estorage(/datum/robot_energy_storage/metal) else if(istype(S, /obj/item/stack/sheet/glass)) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 52698bedca5..c0a75b4097b 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -21,7 +21,7 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=10) + materials = list(/datum/material/iron=10) pressure_resistance = 2 grind_results = list(/datum/reagent/iron = 2, /datum/reagent/iodine = 1) var/colour = "black" //what colour the ink is! @@ -79,7 +79,7 @@ throwforce = 5 throw_speed = 4 colour = "crimson" - materials = list(MAT_GOLD = 750) + materials = list(/datum/material/gold = 750) sharpness = IS_SHARP resistance_flags = FIRE_PROOF unique_reskin = list("Oak" = "pen-fountain-o", diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 7235e0e658a..1c89c5707f3 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -8,7 +8,7 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=60) + materials = list(/datum/material/iron=60) item_color = "cargo" pressure_resistance = 2 attack_verb = list("stamped") diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 6882e532135..43f32ea927b 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -14,7 +14,7 @@ w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_NECK - materials = list(MAT_METAL = 50, MAT_GLASS = 150) + materials = list(/datum/material/iron = 50, /datum/material/glass = 150) var/flash_enabled = TRUE var/state_on = "camera" var/state_off = "camera_off" diff --git a/code/modules/photography/camera/film.dm b/code/modules/photography/camera/film.dm index 5d69824bade..5d7606d8551 100644 --- a/code/modules/photography/camera/film.dm +++ b/code/modules/photography/camera/film.dm @@ -11,4 +11,4 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE - materials = list(MAT_METAL = 10, MAT_GLASS = 10) + materials = list(/datum/material/iron = 10, /datum/material/glass = 10) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 52c40b49d03..e6907154101 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -374,7 +374,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=10, MAT_GLASS=5) + materials = list(/datum/material/iron=10, /datum/material/glass=5) flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index f1173b21520..e7d7e5d7a3e 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -13,7 +13,7 @@ w_class = WEIGHT_CLASS_SMALL var/charge = 0 // note %age conveted to actual charge in New var/maxcharge = 1000 - materials = list(MAT_METAL=700, MAT_GLASS=50) + materials = list(/datum/material/iron=700, /datum/material/glass=50) grind_results = list(/datum/reagent/lithium = 15, /datum/reagent/iron = 5, /datum/reagent/silicon = 5) var/rigged = FALSE // true if rigged to explode var/chargerate = 100 //how much power is given every tick in a recharger @@ -170,7 +170,7 @@ name = "\improper Nanotrasen brand rechargeable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT maxcharge = 500 - materials = list(MAT_GLASS=40) + materials = list(/datum/material/glass=40) /obj/item/stock_parts/cell/crap/empty/Initialize() . = ..() @@ -181,7 +181,7 @@ name = "upgraded power cell" desc = "A power cell with a slightly higher capacity than normal!" maxcharge = 2500 - materials = list(MAT_GLASS=50) + materials = list(/datum/material/glass=50) chargerate = 1000 /obj/item/stock_parts/cell/upgraded/plus @@ -192,7 +192,7 @@ /obj/item/stock_parts/cell/secborg name = "security borg rechargeable D battery" maxcharge = 600 //600 max charge / 100 charge per shot = six shots - materials = list(MAT_GLASS=40) + materials = list(/datum/material/glass=40) /obj/item/stock_parts/cell/secborg/empty/Initialize() . = ..() @@ -216,7 +216,7 @@ name = "high-capacity power cell" icon_state = "hcell" maxcharge = 10000 - materials = list(MAT_GLASS=60) + materials = list(/datum/material/glass=60) chargerate = 1500 /obj/item/stock_parts/cell/high/plus @@ -235,7 +235,7 @@ name = "super-capacity power cell" icon_state = "scell" maxcharge = 20000 - materials = list(MAT_GLASS=300) + materials = list(/datum/material/glass=300) chargerate = 2000 /obj/item/stock_parts/cell/super/empty/Initialize() @@ -247,7 +247,7 @@ name = "hyper-capacity power cell" icon_state = "hpcell" maxcharge = 30000 - materials = list(MAT_GLASS=400) + materials = list(/datum/material/glass=400) chargerate = 3000 /obj/item/stock_parts/cell/hyper/empty/Initialize() @@ -260,7 +260,7 @@ desc = "A rechargeable transdimensional power cell." icon_state = "bscell" maxcharge = 40000 - materials = list(MAT_GLASS=600) + materials = list(/datum/material/glass=600) chargerate = 4000 /obj/item/stock_parts/cell/bluespace/empty/Initialize() @@ -272,7 +272,7 @@ name = "infinite-capacity power cell!" icon_state = "icell" maxcharge = 30000 - materials = list(MAT_GLASS=1000) + materials = list(/datum/material/glass=1000) rating = 100 chargerate = 30000 @@ -347,7 +347,7 @@ name = "miniature power cell" desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage." maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell - materials = list(MAT_GLASS = 20) + materials = list(/datum/material/glass = 20) w_class = WEIGHT_CLASS_TINY /obj/item/stock_parts/cell/emergency_light/Initialize() diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index c00f37cf87a..fa16a284027 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -24,7 +24,7 @@ name = "small light fixture frame" icon_state = "bulb-construct-item" result_path = /obj/structure/light_construct/small - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) /obj/item/wallframe/light_fixture/try_build(turf/on_wall, user) if(!..()) @@ -762,7 +762,7 @@ var/status = LIGHT_OK // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/base_state var/switchcount = 0 // number of times switched - materials = list(MAT_GLASS=100) + materials = list(/datum/material/glass=100) grind_results = list(/datum/reagent/silicon = 5, /datum/reagent/nitrogen = 10) //Nitrogen is used as a cheaper alternative to argon in incandescent lighbulbs var/rigged = FALSE // true if rigged to explode var/brightness = 2 //how much light it gives off diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm index 450741cf57c..79f5ef83f9e 100644 --- a/code/modules/power/pipecleaners.dm +++ b/code/modules/power/pipecleaners.dm @@ -194,7 +194,7 @@ By design, d1 is the smallest direction and d2 is the highest w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=10, MAT_GLASS=5) + materials = list(/datum/material/iron=10, /datum/material/glass=5) flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 1196d7aef03..1ea4baa820b 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -7,7 +7,7 @@ slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) var/fire_sound = null //What sound should play when this ammo is fired var/caliber = null //Which kind of guns it can be loaded into var/projectile_type = null //The bullet type to create when New() is called diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index d5cbeb8ff8e..d867321deea 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -6,14 +6,14 @@ icon_state = "blshell" caliber = "shotgun" projectile_type = /obj/item/projectile/bullet/shotgun_slug - materials = list(MAT_METAL=4000) + materials = list(/datum/material/iron=4000) /obj/item/ammo_casing/shotgun/beanbag name = "beanbag slug" desc = "A weak beanbag slug for riot control." icon_state = "bshell" projectile_type = /obj/item/projectile/bullet/shotgun_beanbag - materials = list(MAT_METAL=250) + materials = list(/datum/material/iron=250) /obj/item/ammo_casing/shotgun/incendiary name = "incendiary slug" @@ -34,7 +34,7 @@ desc = "A stunning taser slug." icon_state = "stunshell" projectile_type = /obj/item/projectile/bullet/shotgun_stunslug - materials = list(MAT_METAL=250) + materials = list(/datum/material/iron=250) /obj/item/ammo_casing/shotgun/meteorslug name = "meteorslug shell" @@ -71,7 +71,7 @@ projectile_type = /obj/item/projectile/bullet/pellet/shotgun_rubbershot pellets = 6 variance = 25 - materials = list(MAT_METAL=4000) + materials = list(/datum/material/iron=4000) /obj/item/ammo_casing/shotgun/incapacitate name = "custom incapacitating shot" @@ -87,7 +87,7 @@ desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards." icon_state = "improvshell" projectile_type = /obj/item/projectile/bullet/pellet/shotgun_improvised - materials = list(MAT_METAL=250) + materials = list(/datum/material/iron=250) pellets = 10 variance = 25 diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index 5d9c650c784..a5a3dd23d53 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -5,7 +5,7 @@ caliber = "foam_force" icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart" - materials = list(MAT_METAL = 11.25) + materials = list(/datum/material/iron = 11.25) harmful = FALSE var/modified = FALSE @@ -62,4 +62,4 @@ desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up." projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/riot icon_state = "foamdart_riot" - materials = list(MAT_METAL = 1125) + materials = list(/datum/material/iron = 1125) diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index fdefd897931..f7dc1d3bb04 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -8,7 +8,7 @@ item_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) throwforce = 2 w_class = WEIGHT_CLASS_TINY throw_speed = 3 diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index b0780993b7e..5c1f2eed836 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -13,7 +13,7 @@ ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 - materials = list(MAT_METAL = 20000) + materials = list(/datum/material/iron = 20000) /obj/item/ammo_box/c38/trac name = "speed loader (.38 TRAC)" @@ -75,9 +75,9 @@ icon_state = "foambox" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 40 - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) /obj/item/ammo_box/foambox/riot icon_state = "foambox_riot" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - materials = list(MAT_METAL = 50000) \ No newline at end of file + materials = list(/datum/material/iron = 50000) \ No newline at end of file diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 7c3f041430b..2405df5259e 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -9,7 +9,7 @@ item_state = "gun" flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) w_class = WEIGHT_CLASS_NORMAL throwforce = 5 throw_speed = 3 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 66e47514ed0..758b6fbbc8e 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -4,7 +4,7 @@ icon_state = "laser" item_state = "laser" w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) ammo_type = list(/obj/item/ammo_casing/energy/lasergun) ammo_x_offset = 1 shaded_charge = 1 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index ee83b404bf5..a858f40701f 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -89,7 +89,7 @@ icon_state = "crossbow" item_state = "crossbow" w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) suppressed = TRUE ammo_type = list(/obj/item/ammo_casing/energy/bolt) weapon_weight = WEAPON_LIGHT @@ -112,7 +112,7 @@ desc = "A reverse engineered weapon using syndicate technology." icon_state = "crossbowlarge" w_class = WEIGHT_CLASS_NORMAL - materials = list(MAT_METAL=4000) + materials = list(/datum/material/iron=4000) suppressed = null ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) pin = null diff --git a/code/modules/projectiles/guns/misc/chem_gun.dm b/code/modules/projectiles/guns/misc/chem_gun.dm index 1c43ed6dab3..317969e806c 100644 --- a/code/modules/projectiles/guns/misc/chem_gun.dm +++ b/code/modules/projectiles/guns/misc/chem_gun.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 7 force = 4 - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) clumsy_check = FALSE fire_sound = 'sound/items/syringeproj.ogg' var/time_per_syringe = 250 diff --git a/code/modules/projectiles/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm index 4bc388a5e70..19bf7cbb93d 100644 --- a/code/modules/projectiles/guns/misc/grenade_launcher.dm +++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm @@ -10,7 +10,7 @@ force = 5 var/list/grenades = new/list() var/max_grenades = 3 - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) /obj/item/gun/grenadelauncher/examine(mob/user) . = ..() diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 5cb196088ad..9753e2f59af 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -7,7 +7,7 @@ throw_speed = 3 throw_range = 7 force = 4 - materials = list(MAT_METAL=2000) + materials = list(/datum/material/iron=2000) clumsy_check = 0 fire_sound = 'sound/items/syringeproj.ogg' var/list/syringes = list() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index a73ef998e7f..1005ccccf6d 100755 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -114,7 +114,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = "beaker" item_state = "beaker" - materials = list(MAT_GLASS=500) + materials = list(/datum/material/glass=500) /obj/item/reagent_containers/glass/beaker/Initialize() . = ..() @@ -162,7 +162,7 @@ name = "large beaker" desc = "A large beaker. Can hold up to 100 units." icon_state = "beakerlarge" - materials = list(MAT_GLASS=2500) + materials = list(/datum/material/glass=2500) volume = 100 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100) @@ -171,7 +171,7 @@ name = "x-large beaker" desc = "An extra-large beaker. Can hold up to 120 units." icon_state = "beakerwhite" - materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000) + materials = list(/datum/material/glass=2500, /datum/material/plastic=3000) volume = 120 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,60,120) @@ -185,7 +185,7 @@ name = "metamaterial beaker" desc = "A large beaker. Can hold up to 180 units." icon_state = "beakergold" - materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000, MAT_GOLD=1000, MAT_TITANIUM=1000) + materials = list(/datum/material/glass=2500, /datum/material/plastic=3000, /datum/material/gold=1000, /datum/material/titanium=1000) volume = 180 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,60,120,180) @@ -195,7 +195,7 @@ desc = "A cryostasis beaker that allows for chemical storage without \ reactions. Can hold up to 50 units." icon_state = "beakernoreact" - materials = list(MAT_METAL=3000) + materials = list(/datum/material/iron=3000) reagent_flags = OPENCONTAINER | NO_REACT volume = 50 amount_per_transfer_from_this = 10 @@ -206,7 +206,7 @@ and Element Cuban combined with the Compound Pete. Can hold up to \ 300 units." icon_state = "beakerbluespace" - materials = list(MAT_GLASS = 5000, MAT_PLASMA = 3000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000) + materials = list(/datum/material/glass = 5000, /datum/material/plasma = 3000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000) volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) @@ -247,7 +247,7 @@ item_state = "bucket" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - materials = list(MAT_METAL=200) + materials = list(/datum/material/iron=200) w_class = WEIGHT_CLASS_NORMAL amount_per_transfer_from_this = 20 possible_transfer_amounts = list(5,10,15,20,25,30,50,70) @@ -320,7 +320,7 @@ icon_state = "smallbottle" item_state = "bottle" list_reagents = list(/datum/reagent/water = 49.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard - materials = list(MAT_GLASS=0) + materials = list(/datum/material/glass=0) volume = 50 amount_per_transfer_from_this = 10 @@ -330,7 +330,7 @@ /obj/item/reagent_containers/glass/beaker/waterbottle/large desc = "A fresh commercial-sized bottle of water." icon_state = "largebottle" - materials = list(MAT_GLASS=0) + materials = list(/datum/material/glass=0) list_reagents = list(/datum/reagent/water = 100) volume = 100 amount_per_transfer_from_this = 20 diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 0a959b8fe8d..c6eb3373e17 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -12,7 +12,7 @@ var/mode = SYRINGE_DRAW var/busy = FALSE // needed for delayed drawing of blood var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun - materials = list(MAT_METAL=10, MAT_GLASS=20) + materials = list(/datum/material/iron=10, /datum/material/glass=20) reagent_flags = TRANSPARENT /obj/item/reagent_containers/syringe/Initialize() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 5cbe9a6f163..e72cd57e199 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -7,15 +7,6 @@ For the materials datum, it assumes you need reagents unless specified otherwise you use one of the material IDs below. These are NOT ids in the usual sense (they aren't defined in the object or part of a datum), they are simply references used as part of a "has materials?" type proc. They all start with a $ to denote that they aren't reagents. The currently supporting non-reagent materials. All material amounts are set as the define MINERAL_MATERIAL_AMOUNT, which defaults to 2000 -- MAT_METAL (/obj/item/stack/metal). -- MAT_GLASS (/obj/item/stack/glass). -- MAT_PLASMA (/obj/item/stack/plasma). -- MAT_SILVER (/obj/item/stack/silver). -- MAT_GOLD (/obj/item/stack/gold). -- MAT_URANIUM (/obj/item/stack/uranium). -- MAT_DIAMOND (/obj/item/stack/diamond). -- MAT_BANANIUM (/obj/item/stack/bananium). -(Insert new ones here) Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials. @@ -57,6 +48,19 @@ other types of metals and chemistry for reagents). SSresearch.techweb_designs -= id return ..() +/datum/design/proc/InitializeMaterials() + var/list/temp_list = list() + for(var/i in materials) //Go through all of our materials, get the subsystem instance, and then replace the list. + var/amount = materials[i] + if(!istext(i)) //Not a category, so get the ref the normal way + var/datum/material/M = getmaterialref(i) + temp_list[M] = amount + else + temp_list[i] = amount + materials = temp_list + for(var/i in materials) + to_chat("[i] [materials[i]]") + /datum/design/proc/icon_html(client/user) var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs) sheet.send(user) @@ -70,7 +74,7 @@ other types of metals and chemistry for reagents). name = "Component Design Disk" desc = "A disk for storing device design data for construction in lathes." icon_state = "datadisk1" - materials = list(MAT_METAL=300, MAT_GLASS=100) + materials = list(/datum/material/iron =300, /datum/material/glass =100) var/list/blueprints = list() var/max_blueprints = 1 @@ -84,5 +88,5 @@ other types of metals and chemistry for reagents). /obj/item/disk/design_disk/adv name = "Advanced Component Design Disk" desc = "A disk for storing device design data for construction in lathes. This one has extra storage space." - materials = list(MAT_METAL=300, MAT_GLASS=100, MAT_SILVER = 50) + materials = list(/datum/material/iron =300, /datum/material/glass = 100, /datum/material/silver = 50) max_blueprints = 5 diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index 8dadaa4c8e0..2ce56e9d18f 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -14,7 +14,7 @@ name = "Module Design (Safeguard)" desc = "Allows for the construction of a Safeguard AI Module." id = "safeguard_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/safeguard category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -23,7 +23,7 @@ name = "Module Design (OneHuman)" desc = "Allows for the construction of a OneHuman AI Module." id = "onehuman_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 6000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 6000) build_path = /obj/item/aiModule/zeroth/oneHuman category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -32,7 +32,7 @@ name = "Module Design (ProtectStation)" desc = "Allows for the construction of a ProtectStation AI Module." id = "protectstation_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/protectStation category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -41,7 +41,7 @@ name = "Module Design (Quarantine)" desc = "Allows for the construction of a Quarantine AI Module." id = "quarantine_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/quarantine category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -50,7 +50,7 @@ name = "Module Design (OxygenIsToxicToHumans)" desc = "Allows for the construction of a Safeguard AI Module." id = "oxygen_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/supplied/oxygen category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -59,7 +59,7 @@ name = "Module Design (Freeform)" desc = "Allows for the construction of a Freeform AI Module." id = "freeform_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 10000)//Custom inputs should be more expensive to get + materials = list(/datum/material/glass = 1000, /datum/material/gold = 10000)//Custom inputs should be more expensive to get build_path = /obj/item/aiModule/supplied/freeform category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -68,7 +68,7 @@ name = "Module Design (Reset)" desc = "Allows for the construction of a Reset AI Module." id = "reset_module" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/aiModule/reset category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -77,7 +77,7 @@ name = "Module Design (Purge)" desc = "Allows for the construction of a Purge AI Module." id = "purge_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/reset/purge category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -86,7 +86,7 @@ name = "Module Design (Law Removal)" desc = "Allows for the construction of a Law Removal AI Core Module." id = "remove_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/remove category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -95,7 +95,7 @@ name = "AI Core Module (Freeform)" desc = "Allows for the construction of a Freeform AI Core Module." id = "freeformcore_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 10000)//Ditto + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 10000)//Ditto build_path = /obj/item/aiModule/core/freeformcore category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -104,7 +104,7 @@ name = "Core Module Design (Asimov)" desc = "Allows for the construction of an Asimov AI Core Module." id = "asimov_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/asimov category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -114,7 +114,7 @@ desc = "Allows for the construction of a P.A.L.A.D.I.N. AI Core Module." id = "paladin_module" build_type = IMPRINTER - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/paladin category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -123,7 +123,7 @@ name = "Core Module Design (T.Y.R.A.N.T.)" desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module." id = "tyrant_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/tyrant category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -132,7 +132,7 @@ name = "Core Module Design (Overlord)" desc = "Allows for the construction of an Overlord AI Module." id = "overlord_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/overlord category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -141,7 +141,7 @@ name = "Core Module Design (Corporate)" desc = "Allows for the construction of a Corporate AI Core Module." id = "corporate_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/corp category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -150,7 +150,7 @@ name = "Core Module Design (Default)" desc = "Allows for the construction of a Default AI Core Module." id = "default_module" - materials = list(MAT_GLASS = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) build_path = /obj/item/aiModule/core/full/custom category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 8b431d4fc1a..e6ef511dde7 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -6,7 +6,7 @@ name = "Bucket" id = "bucket" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/reagent_containers/glass/bucket category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -15,7 +15,7 @@ name = "Mop" id = "mop" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 1000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/mop category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -24,7 +24,7 @@ name = "Pocket Crowbar" id = "crowbar" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50) + materials = list(/datum/material/iron = 50) build_path = /obj/item/crowbar category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -33,7 +33,7 @@ name = "Flashlight" id = "flashlight" build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 20) + materials = list(/datum/material/iron = 50, /datum/material/glass = 20) build_path = /obj/item/flashlight category = list("initial","Tools") @@ -41,7 +41,7 @@ name = "Fire Extinguisher" id = "extinguisher" build_type = AUTOLATHE - materials = list(MAT_METAL = 90) + materials = list(/datum/material/iron = 90) build_path = /obj/item/extinguisher category = list("initial","Tools") @@ -49,7 +49,7 @@ name = "Pocket Fire Extinguisher" id = "pocketfireextinguisher" build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 40) + materials = list(/datum/material/iron = 50, /datum/material/glass = 40) build_path = /obj/item/extinguisher/mini category = list("initial","Tools") @@ -57,7 +57,7 @@ name = "Multitool" id = "multitool" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 20) + materials = list(/datum/material/iron = 50, /datum/material/glass = 20) build_path = /obj/item/multitool category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -66,7 +66,7 @@ name = "Analyzer" id = "analyzer" build_type = AUTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 20) + materials = list(/datum/material/iron = 30, /datum/material/glass = 20) build_path = /obj/item/analyzer category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -75,7 +75,7 @@ name = "T-Ray Scanner" id = "tscanner" build_type = AUTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/t_scanner category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -84,7 +84,7 @@ name = "Welding Tool" id = "welding_tool" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 70, MAT_GLASS = 20) + materials = list(/datum/material/iron = 70, /datum/material/glass = 20) build_path = /obj/item/weldingtool category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -93,7 +93,7 @@ name = "Emergency Welding Tool" id = "mini_welding_tool" build_type = AUTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 10) + materials = list(/datum/material/iron = 30, /datum/material/glass = 10) build_path = /obj/item/weldingtool/mini category = list("initial","Tools") @@ -101,7 +101,7 @@ name = "Screwdriver" id = "screwdriver" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 75) + materials = list(/datum/material/iron = 75) build_path = /obj/item/screwdriver category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -110,7 +110,7 @@ name = "Wirecutters" id = "wirecutters" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 80) + materials = list(/datum/material/iron = 80) build_path = /obj/item/wirecutters category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -119,7 +119,7 @@ name = "Wrench" id = "wrench" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/wrench category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -128,7 +128,7 @@ name = "Welding Helmet" id = "welding_helmet" build_type = AUTOLATHE - materials = list(MAT_METAL = 1750, MAT_GLASS = 400) + materials = list(/datum/material/iron = 1750, /datum/material/glass = 400) build_path = /obj/item/clothing/head/welding category = list("initial","Tools") @@ -136,7 +136,7 @@ name = "Cable Coil" id = "cable_coil" build_type = AUTOLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 5) + materials = list(/datum/material/iron = 10, /datum/material/glass = 5) build_path = /obj/item/stack/cable_coil category = list("initial","Tools","Tool Designs") maxstack = MAXCOIL @@ -146,7 +146,7 @@ name = "Toolbox" id = "tool_box" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(MAT_CATEGORY_RIGID = 500) build_path = /obj/item/storage/toolbox category = list("initial","Tools") @@ -154,7 +154,7 @@ name = "APC Module" id = "power control" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/electronics/apc category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -163,7 +163,7 @@ name = "Airlock Electronics" id = "airlock_board" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/airlock category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -172,7 +172,7 @@ name = "Firelock Circuitry" id = "firelock_board" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/firelock category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -181,7 +181,7 @@ name = "Air Alarm Electronics" id = "airalarm_electronics" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/airalarm category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -190,7 +190,7 @@ name = "Fire Alarm Electronics" id = "firealarm_electronics" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/electronics/firealarm category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -199,7 +199,7 @@ name = "Camera" id = "camera" build_type = AUTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 100) + materials = list(/datum/material/iron = 50, /datum/material/glass = 100) build_path = /obj/item/camera category = list("initial", "Misc") @@ -207,7 +207,7 @@ name = "Camera Film Cartridge" id = "camera_film" build_type = AUTOLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 10) + materials = list(/datum/material/iron = 10, /datum/material/glass = 10) build_path = /obj/item/camera_film category = list("initial", "Misc") @@ -215,7 +215,7 @@ name = "Earmuffs" id = "earmuffs" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/ears/earmuffs category = list("initial", "Misc") @@ -223,7 +223,7 @@ name = "Pipe Painter" id = "pipe_painter" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2000) build_path = /obj/item/pipe_painter category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -232,7 +232,7 @@ name = "Airlock Painter" id = "airlock_painter" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50, MAT_GLASS = 50) + materials = list(/datum/material/iron = 50, /datum/material/glass = 50) build_path = /obj/item/airlock_painter category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -241,7 +241,7 @@ name = "Emergency Oxygen Tank" id = "emergency_oxygen" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/tank/internals/emergency_oxygen/empty category = list("initial","Misc","Equipment") @@ -249,7 +249,7 @@ name = "Extended-Capacity Emergency Oxygen Tank" id = "emergency_oxygen_engi" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 750) + materials = list(/datum/material/iron = 750) build_path = /obj/item/tank/internals/emergency_oxygen/engi/empty category = list("hacked","Misc","Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO @@ -258,7 +258,7 @@ name = "Plasmaman Belt Tank" id = "plasmaman_tank_belt" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 800) + materials = list(/datum/material/iron = 800) build_path = /obj/item/tank/internals/plasmaman/belt/empty category = list("hacked","Misc","Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO @@ -267,7 +267,7 @@ name = "Metal" id = "metal" build_type = AUTOLATHE - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/metal category = list("initial","Construction") maxstack = 50 @@ -276,7 +276,7 @@ name = "Glass" id = "glass" build_type = AUTOLATHE - materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/glass category = list("initial","Construction") maxstack = 50 @@ -285,7 +285,7 @@ name = "Reinforced Glass" id = "rglass" build_type = AUTOLATHE | SMELTER | PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron = 1000, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/rglass category = list("initial","Construction","Stock Parts") maxstack = 50 @@ -294,7 +294,7 @@ name = "Metal Rod" id = "rods" build_type = AUTOLATHE - materials = list(MAT_METAL = 1000) + materials = list(/datum/material/iron = 1000) build_path = /obj/item/stack/rods category = list("initial","Construction") maxstack = 50 @@ -303,7 +303,7 @@ name = "Compressed Matter Cartridge" id = "rcd_ammo" build_type = AUTOLATHE - materials = list(MAT_METAL = 12000, MAT_GLASS=8000) + materials = list(/datum/material/iron = 12000, /datum/material/glass = 8000) build_path = /obj/item/rcd_ammo category = list("initial","Construction") @@ -311,7 +311,7 @@ name = "Kitchen Knife" id = "kitchen_knife" build_type = AUTOLATHE - materials = list(MAT_METAL = 12000) + materials = list(/datum/material/iron = 12000) build_path = /obj/item/kitchen/knife category = list("initial","Dinnerware") @@ -319,7 +319,7 @@ name = "Fork" id = "fork" build_type = AUTOLATHE - materials = list(MAT_METAL = 80) + materials = list(/datum/material/iron = 80) build_path = /obj/item/kitchen/fork category = list("initial","Dinnerware") @@ -327,7 +327,7 @@ name = "Tray" id = "tray" build_type = AUTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/storage/bag/tray category = list("initial","Dinnerware") @@ -335,7 +335,7 @@ name = "Bowl" id = "bowl" build_type = AUTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/reagent_containers/glass/bowl category = list("initial","Dinnerware") @@ -343,7 +343,7 @@ name = "Drinking Glass" id = "drinking_glass" build_type = AUTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/reagent_containers/food/drinks/drinkingglass category = list("initial","Dinnerware") @@ -351,7 +351,7 @@ name = "Shot Glass" id = "shot_glass" build_type = AUTOLATHE - materials = list(MAT_GLASS = 100) + materials = list(/datum/material/glass = 100) build_path = /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass category = list("initial","Dinnerware") @@ -359,7 +359,7 @@ name = "Shaker" id = "shaker" build_type = AUTOLATHE - materials = list(MAT_METAL = 1500) + materials = list(/datum/material/iron = 1500) build_path = /obj/item/reagent_containers/food/drinks/shaker category = list("initial","Dinnerware") @@ -367,7 +367,7 @@ name = "Cultivator" id = "cultivator" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL=50) + materials = list(/datum/material/iron=50) build_path = /obj/item/cultivator category = list("initial","Misc", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -376,7 +376,7 @@ name = "Plant Analyzer" id = "plant_analyzer" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 20) + materials = list(/datum/material/iron = 30, /datum/material/glass = 20) build_path = /obj/item/plant_analyzer category = list("initial","Misc", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -385,7 +385,7 @@ name = "Shovel" id = "shovel" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50) + materials = list(/datum/material/iron = 50) build_path = /obj/item/shovel category = list("initial","Misc", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -394,7 +394,7 @@ name = "Spade" id = "spade" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 50) + materials = list(/datum/material/iron = 50) build_path = /obj/item/shovel/spade category = list("initial","Misc", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -403,7 +403,7 @@ name = "Hatchet" id = "hatchet" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 15000) + materials = list(/datum/material/iron = 15000) build_path = /obj/item/hatchet category = list("initial","Misc", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -412,7 +412,7 @@ name = "Tinfoil Hat" id = "tinfoil_hat" build_type = AUTOLATHE - materials = list(MAT_METAL = 5500) + materials = list(/datum/material/iron = 5500) build_path = /obj/item/clothing/head/foilhat category = list("hacked", "Misc") @@ -420,7 +420,7 @@ name = "Scalpel" id = "scalpel" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 1000) build_path = /obj/item/scalpel category = list("initial", "Medical", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -429,7 +429,7 @@ name = "Circular Saw" id = "circular_saw" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 6000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000) build_path = /obj/item/circular_saw category = list("initial", "Medical", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -438,7 +438,7 @@ name = "Surgical Drill" id = "surgicaldrill" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 6000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000) build_path = /obj/item/surgicaldrill category = list("initial", "Medical", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -447,7 +447,7 @@ name = "Retractor" id = "retractor" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 3000) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3000) build_path = /obj/item/retractor category = list("initial", "Medical", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -456,7 +456,7 @@ name = "Cautery" id = "cautery" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 750) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 750) build_path = /obj/item/cautery category = list("initial", "Medical", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -465,7 +465,7 @@ name = "Hemostat" id = "hemostat" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500) build_path = /obj/item/hemostat category = list("initial", "Medical", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -474,7 +474,7 @@ name = "Beaker" id = "beaker" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/reagent_containers/glass/beaker category = list("initial", "Medical", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE @@ -483,7 +483,7 @@ name = "Large Beaker" id = "large_beaker" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_GLASS = 2500) + materials = list(/datum/material/glass = 2500) build_path = /obj/item/reagent_containers/glass/beaker/large category = list("initial", "Medical", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SERVICE @@ -492,7 +492,7 @@ name = "Health Analyzer" id = "healthanalyzer" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/healthanalyzer category = list("initial", "Medical", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -501,7 +501,7 @@ name = "Pill Bottle" id = "pillbottle" build_type = AUTOLATHE - materials = list(MAT_METAL = 20, MAT_GLASS = 100) + materials = list(/datum/material/iron = 20, /datum/material/glass = 100) build_path = /obj/item/storage/pill_bottle category = list("initial", "Medical", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -510,7 +510,7 @@ name = "Beanbag Slug" id = "beanbag_slug" build_type = AUTOLATHE - materials = list(MAT_METAL = 2000) + materials = list(/datum/material/iron = 2000) build_path = /obj/item/ammo_casing/shotgun/beanbag category = list("initial", "Security") @@ -518,7 +518,7 @@ name = "Rubber Shot" id = "rubber_shot" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/rubbershot category = list("initial", "Security") @@ -526,7 +526,7 @@ name = "Speed Loader (.38)" id = "c38" build_type = AUTOLATHE - materials = list(MAT_METAL = 20000) + materials = list(/datum/material/iron = 20000) build_path = /obj/item/ammo_box/c38 category = list("initial", "Security") @@ -534,7 +534,7 @@ name = "Universal Recorder" id = "recorder" build_type = AUTOLATHE - materials = list(MAT_METAL = 60, MAT_GLASS = 30) + materials = list(/datum/material/iron = 60, /datum/material/glass = 30) build_path = /obj/item/taperecorder/empty category = list("initial", "Misc") @@ -542,7 +542,7 @@ name = "Tape" id = "tape" build_type = AUTOLATHE - materials = list(MAT_METAL = 20, MAT_GLASS = 5) + materials = list(/datum/material/iron = 20, /datum/material/glass = 5) build_path = /obj/item/tape/random category = list("initial", "Misc") @@ -550,7 +550,7 @@ name = "Igniter" id = "igniter" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/assembly/igniter category = list("initial", "Misc") @@ -558,7 +558,7 @@ name = "Remote Signaling Device" id = "signaler" build_type = AUTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 120) + materials = list(/datum/material/iron = 400, /datum/material/glass = 120) build_path = /obj/item/assembly/signaler category = list("initial", "T-Comm") @@ -566,7 +566,7 @@ name = "Radio Headset" id = "radio_headset" build_type = AUTOLATHE - materials = list(MAT_METAL = 75) + materials = list(/datum/material/iron = 75) build_path = /obj/item/radio/headset category = list("initial", "T-Comm") @@ -574,7 +574,7 @@ name = "Station Bounced Radio" id = "bounced_radio" build_type = AUTOLATHE - materials = list(MAT_METAL = 75, MAT_GLASS = 25) + materials = list(/datum/material/iron = 75, /datum/material/glass = 25) build_path = /obj/item/radio/off category = list("initial", "T-Comm") @@ -582,7 +582,7 @@ name = "Intercom Frame" id = "intercom_frame" build_type = AUTOLATHE - materials = list(MAT_METAL = 75, MAT_GLASS = 25) + materials = list(/datum/material/iron = 75, /datum/material/glass = 25) build_path = /obj/item/wallframe/intercom category = list("initial", "T-Comm") @@ -590,7 +590,7 @@ name = "Infrared Emitter" id = "infrared_emitter" build_type = AUTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) build_path = /obj/item/assembly/infra category = list("initial", "Misc") @@ -598,7 +598,7 @@ name = "Health Sensor" id = "health_sensor" build_type = AUTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/assembly/health category = list("initial", "Medical") @@ -606,7 +606,7 @@ name = "Timer" id = "timer" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/assembly/timer category = list("initial", "Misc") @@ -614,7 +614,7 @@ name = "Voice Analyser" id = "voice_analyser" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 50) + materials = list(/datum/material/iron = 500, /datum/material/glass = 50) build_path = /obj/item/assembly/voice category = list("initial", "Misc") @@ -622,7 +622,7 @@ name = "Light Tube" id = "light_tube" build_type = AUTOLATHE - materials = list(MAT_GLASS = 100) + materials = list(/datum/material/glass = 100) build_path = /obj/item/light/tube category = list("initial", "Construction") @@ -630,7 +630,7 @@ name = "Light Bulb" id = "light_bulb" build_type = AUTOLATHE - materials = list(MAT_GLASS = 100) + materials = list(/datum/material/glass = 100) build_path = /obj/item/light/bulb category = list("initial", "Construction") @@ -638,7 +638,7 @@ name = "Camera Assembly" id = "camera_assembly" build_type = AUTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 250) + materials = list(/datum/material/iron = 400, /datum/material/glass = 250) build_path = /obj/item/wallframe/camera category = list("initial", "Construction") @@ -646,7 +646,7 @@ name = "Newscaster Frame" id = "newscaster_frame" build_type = AUTOLATHE - materials = list(MAT_METAL = 14000, MAT_GLASS = 8000) + materials = list(/datum/material/iron = 14000, /datum/material/glass = 8000) build_path = /obj/item/wallframe/newscaster category = list("initial", "Construction") @@ -654,7 +654,7 @@ name = "Syringe" id = "syringe" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 20) + materials = list(/datum/material/iron = 10, /datum/material/glass = 20) build_path = /obj/item/reagent_containers/syringe category = list("initial", "Medical", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -663,7 +663,7 @@ name = "Proximity Sensor" id = "prox_sensor" build_type = AUTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/assembly/prox_sensor category = list("initial", "Misc") @@ -671,7 +671,7 @@ name = "Box of Foam Darts" id = "foam_dart" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/ammo_box/foambox category = list("initial", "Misc") @@ -680,7 +680,7 @@ name = "Flamethrower" id = "flamethrower" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/flamethrower/full category = list("hacked", "Security") @@ -688,7 +688,7 @@ name = "Rapid Construction Device (RCD)" id = "rcd" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/construction/rcd category = list("hacked", "Construction") @@ -696,7 +696,7 @@ name = "Rapid Pipe Dispenser (RPD)" id = "rpd" build_type = AUTOLATHE - materials = list(MAT_METAL = 75000, MAT_GLASS = 37500) + materials = list(/datum/material/iron = 75000, /datum/material/glass = 37500) build_path = /obj/item/pipe_dispenser category = list("hacked", "Construction") @@ -704,7 +704,7 @@ name = "Electropack" id = "electropack" build_type = AUTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 2500) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 2500) build_path = /obj/item/electropack category = list("hacked", "Tools") @@ -712,7 +712,7 @@ name = "Industrial Welding Tool" id = "large_welding_tool" build_type = AUTOLATHE - materials = list(MAT_METAL = 70, MAT_GLASS = 60) + materials = list(/datum/material/iron = 70, /datum/material/glass = 60) build_path = /obj/item/weldingtool/largetank category = list("hacked", "Tools") @@ -720,7 +720,7 @@ name = "Handcuffs" id = "handcuffs" build_type = AUTOLATHE - materials = list(MAT_METAL = 500) + materials = list(/datum/material/iron = 500) build_path = /obj/item/restraints/handcuffs category = list("hacked", "Security") @@ -728,7 +728,7 @@ name = "Modular Receiver" id = "receiver" build_type = AUTOLATHE - materials = list(MAT_METAL = 15000) + materials = list(/datum/material/iron = 15000) build_path = /obj/item/weaponcrafting/receiver category = list("hacked", "Security") @@ -736,7 +736,7 @@ name = "Shotgun Slug" id = "shotgun_slug" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun category = list("hacked", "Security") @@ -744,7 +744,7 @@ name = "Buckshot Shell" id = "buckshot_shell" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/buckshot category = list("hacked", "Security") @@ -752,7 +752,7 @@ name = "Shotgun Dart" id = "shotgun_dart" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/dart category = list("hacked", "Security") @@ -760,7 +760,7 @@ name = "Incendiary Slug" id = "incendiary_slug" build_type = AUTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_casing/shotgun/incendiary category = list("hacked", "Security") @@ -768,7 +768,7 @@ name = "Foam Riot Dart" id = "riot_dart" build_type = AUTOLATHE - materials = list(MAT_METAL = 1000) //Discount for making individually - no box = less metal! + materials = list(/datum/material/iron = 1000) //Discount for making individually - no box = less metal! build_path = /obj/item/ammo_casing/caseless/foam_dart/riot category = list("hacked", "Security") @@ -776,7 +776,7 @@ name = "Foam Riot Dart Box" id = "riot_darts" build_type = AUTOLATHE - materials = list(MAT_METAL = 50000) //Comes with 40 darts + materials = list(/datum/material/iron = 50000) //Comes with 40 darts build_path = /obj/item/ammo_box/foambox/riot category = list("hacked", "Security") @@ -784,7 +784,7 @@ name = "Speed Loader (.357)" id = "a357" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/a357 category = list("hacked", "Security") @@ -792,7 +792,7 @@ name = "Ammo Box (10mm)" id = "c10mm" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/c10mm category = list("hacked", "Security") @@ -800,7 +800,7 @@ name = "Ammo Box (.45)" id = "c45" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/c45 category = list("hacked", "Security") @@ -808,7 +808,7 @@ name = "Ammo Box (9mm)" id = "c9mm" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(/datum/material/iron = 30000) build_path = /obj/item/ammo_box/c9mm category = list("hacked", "Security") @@ -816,7 +816,7 @@ name = "Butcher's Cleaver" id = "cleaver" build_type = AUTOLATHE - materials = list(MAT_METAL = 18000) + materials = list(/datum/material/iron = 18000) build_path = /obj/item/kitchen/knife/butcher category = list("hacked", "Dinnerware") @@ -824,7 +824,7 @@ name = "Spraycan" id = "spraycan" build_type = AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/toy/crayon/spraycan category = list("initial", "Tools") @@ -832,7 +832,7 @@ name = "Destination Tagger" id = "desttagger" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 250, MAT_GLASS = 125) + materials = list(/datum/material/iron = 250, /datum/material/glass = 125) build_path = /obj/item/destTagger category = list("initial", "Electronics") @@ -840,7 +840,7 @@ name = "Hand Labeler" id = "handlabel" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 125) + materials = list(/datum/material/iron = 150, /datum/material/glass = 125) build_path = /obj/item/hand_labeler category = list("initial", "Electronics") @@ -848,7 +848,7 @@ name = "Geiger Counter" id = "geigercounter" build_type = AUTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 150) + materials = list(/datum/material/iron = 150, /datum/material/glass = 150) build_path = /obj/item/geiger_counter category = list("initial", "Tools") @@ -856,7 +856,7 @@ name = "Turret Control Frame" id = "turret_control" build_type = AUTOLATHE - materials = list(MAT_METAL = 12000) + materials = list(/datum/material/iron = 12000) build_path = /obj/item/wallframe/turret_control category = list("initial", "Construction") @@ -864,7 +864,7 @@ name = "Conveyor Belt" id = "conveyor_belt" build_type = AUTOLATHE - materials = list(MAT_METAL = 5000) + materials = list(/datum/material/iron = 5000) build_path = /obj/item/conveyor_construct category = list("initial", "Construction") @@ -872,7 +872,7 @@ name = "Conveyor Belt Switch" id = "conveyor_switch" build_type = AUTOLATHE - materials = list(MAT_METAL = 450, MAT_GLASS = 190) + materials = list(/datum/material/iron = 450, /datum/material/glass = 190) build_path = /obj/item/conveyor_switch_construct category = list("initial", "Construction") @@ -880,7 +880,7 @@ name = "Laptop Frame" id = "laptop" build_type = AUTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 1000) build_path = /obj/item/modular_computer/laptop/buildable category = list("initial","Misc") @@ -888,7 +888,7 @@ name = "Tablet Frame" id = "tablet" build_type = AUTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/modular_computer/tablet category = list("initial","Misc") @@ -896,7 +896,7 @@ name = "Slime Scanner" id = "slime_scanner" build_type = AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 200) + materials = list(/datum/material/iron = 300, /datum/material/glass = 200) build_path = /obj/item/slime_scanner category = list("initial", "Misc") @@ -904,7 +904,7 @@ name = "Pet Carrier" id = "pet_carrier" build_type = AUTOLATHE - materials = list(MAT_METAL = 7500, MAT_GLASS = 100) + materials = list(/datum/material/iron = 7500, /datum/material/glass = 100) build_path = /obj/item/pet_carrier category = list("initial", "Misc") @@ -912,7 +912,7 @@ name = "Light Fixture Battery" id = "miniature_power_cell" build_type = AUTOLATHE - materials = list(MAT_GLASS = 20) + materials = list(/datum/material/glass = 20) build_path = /obj/item/stock_parts/cell/emergency_light category = list("initial", "Electronics") @@ -920,7 +920,7 @@ name = "Package Wrapping" id = "packagewrap" build_type = AUTOLATHE | PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200) build_path = /obj/item/stack/packageWrap category = list("initial", "Misc", "Equipment") maxstack = 30 @@ -929,7 +929,7 @@ name = "Holodisk" id = "holodisk" build_type = AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/disk/holodisk category = list("initial", "Misc") @@ -937,7 +937,7 @@ name = "Blue Circuit Tile" id = "circuit" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/stack/tile/circuit category = list("initial", "Misc") maxstack = 50 @@ -946,7 +946,7 @@ name = "Green Circuit Tile" id = "circuitgreen" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/stack/tile/circuit/green category = list("initial", "Misc") maxstack = 50 @@ -955,7 +955,7 @@ name = "Red Circuit Tile" id = "circuitred" build_type = AUTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/stack/tile/circuit/red category = list("initial", "Misc") maxstack = 50 diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index c96f58e5c52..324491e2a3f 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -6,7 +6,7 @@ name = "10 Milk" id = "milk" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 20) + materials = list(/datum/material/biomass= 20) make_reagents = list(/datum/reagent/consumable/milk = 10) category = list("initial","Food") @@ -14,7 +14,7 @@ name = "10 Cream" id = "cream" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 30) + materials = list(/datum/material/biomass= 30) make_reagents = list(/datum/reagent/consumable/cream = 10) category = list("initial","Food") @@ -22,7 +22,7 @@ name = "Milk Carton" id = "milk_carton" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 100) + materials = list(/datum/material/biomass= 100) build_path = /obj/item/reagent_containers/food/condiment/milk category = list("initial","Food") @@ -30,7 +30,7 @@ name = "Cream Carton" id = "cream_carton" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass= 300) build_path = /obj/item/reagent_containers/food/drinks/bottle/cream category = list("initial","Food") @@ -38,7 +38,7 @@ name = "10u Black Pepper" id = "black_pepper" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 25) + materials = list(/datum/material/biomass= 25) make_reagents = list(/datum/reagent/consumable/blackpepper = 10) category = list("initial","Food") @@ -46,7 +46,7 @@ name = "Pepper Mill" id = "pepper_mill" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass= 50) build_path = /obj/item/reagent_containers/food/condiment/peppermill make_reagents = list() category = list("initial","Food") @@ -55,7 +55,7 @@ name = "10u Universal Enzyme" id = "enzyme" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 30) + materials = list(/datum/material/biomass= 30) make_reagents = list(/datum/reagent/consumable/enzyme = 10) category = list("initial","Food") @@ -63,7 +63,7 @@ name = "Flour Sack" id = "flour_sack" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 150) + materials = list(/datum/material/biomass= 150) build_path = /obj/item/reagent_containers/food/condiment/flour category = list("initial","Food") @@ -71,7 +71,7 @@ name = "Monkey Cube" id = "mcube" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 250) + materials = list(/datum/material/biomass= 250) build_path = /obj/item/reagent_containers/food/snacks/monkeycube category = list("initial", "Food") @@ -79,7 +79,7 @@ name = "E-Z Nutrient" id = "ez_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 10) + materials = list(/datum/material/biomass= 10) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/ez category = list("initial","Botany Chemicals") @@ -87,7 +87,7 @@ name = "Left 4 Zed" id = "l4z_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 20) + materials = list(/datum/material/biomass= 20) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/l4z category = list("initial","Botany Chemicals") @@ -95,7 +95,7 @@ name = "Robust Harvest" id = "rh_nut" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 25) + materials = list(/datum/material/biomass= 25) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/rh category = list("initial","Botany Chemicals") @@ -103,7 +103,7 @@ name = "Weed Killer" id = "weed_killer" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass= 50) build_path = /obj/item/reagent_containers/glass/bottle/killer/weedkiller category = list("initial","Botany Chemicals") @@ -111,7 +111,7 @@ name = "Pest Killer" id = "pest_spray" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass= 50) build_path = /obj/item/reagent_containers/glass/bottle/killer/pestkiller category = list("initial","Botany Chemicals") @@ -119,7 +119,7 @@ name = "Empty Bottle" id = "botany_bottle" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 5) + materials = list(/datum/material/biomass= 5) build_path = /obj/item/reagent_containers/glass/bottle/nutrient/empty category = list("initial", "Botany Chemicals") @@ -127,7 +127,7 @@ name = "Roll of Cloth" id = "cloth" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) + materials = list(/datum/material/biomass= 50) build_path = /obj/item/stack/sheet/cloth category = list("initial","Organic Materials") @@ -135,7 +135,7 @@ name = "Sheet of Cardboard" id = "cardboard" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 25) + materials = list(/datum/material/biomass= 25) build_path = /obj/item/stack/sheet/cardboard category = list("initial","Organic Materials") @@ -143,7 +143,7 @@ name = "Sheet of Leather" id = "leather" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 150) + materials = list(/datum/material/biomass= 150) build_path = /obj/item/stack/sheet/leather category = list("initial","Organic Materials") @@ -151,7 +151,7 @@ name = "Security Belt" id = "secbelt" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass= 300) build_path = /obj/item/storage/belt/security category = list("initial","Organic Materials") @@ -159,7 +159,7 @@ name = "Medical Belt" id = "medbel" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass= 300) build_path = /obj/item/storage/belt/medical category = list("initial","Organic Materials") @@ -167,7 +167,7 @@ name = "Janitorial Belt" id = "janibelt" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass= 300) build_path = /obj/item/storage/belt/janitor category = list("initial","Organic Materials") @@ -175,7 +175,7 @@ name = "Shoulder Holster" id = "s_holster" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 400) + materials = list(/datum/material/biomass= 400) build_path = /obj/item/storage/belt/holster category = list("initial","Organic Materials") @@ -183,6 +183,6 @@ name = "Rice Hat" id = "rice_hat" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 300) + materials = list(/datum/material/biomass= 300) build_path = /obj/item/clothing/head/rice_hat category = list("initial","Organic Materials") diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm index e3f231578b2..cc44bb6e37f 100644 --- a/code/modules/research/designs/bluespace_designs.dm +++ b/code/modules/research/designs/bluespace_designs.dm @@ -8,7 +8,7 @@ desc = "A bluespace tracking beacon." id = "beacon" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 100) + materials = list(/datum/material/iron = 150, /datum/material/glass = 100) build_path = /obj/item/beacon category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SECURITY @@ -18,7 +18,7 @@ desc = "A backpack that opens into a localized pocket of bluespace." id = "bag_holding" build_type = PROTOLATHE - materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250, MAT_BLUESPACE = 2000) + materials = list(/datum/material/gold = 3000, /datum/material/diamond = 1500, /datum/material/uranium = 250, /datum/material/bluespace = 2000) build_path = /obj/item/storage/backpack/holding category = list("Bluespace Designs") dangerous_construction = TRUE @@ -29,7 +29,7 @@ desc = "A small blue crystal with mystical properties." id = "bluespace_crystal" build_type = PROTOLATHE - materials = list(MAT_DIAMOND = 1500, MAT_PLASMA = 1500) + materials = list(/datum/material/diamond = 1500, /datum/material/plasma = 1500) build_path = /obj/item/stack/ore/bluespace_crystal/artificial category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -39,7 +39,7 @@ desc = "Little thingie that can track its position at all times." id = "telesci_gps" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000) build_path = /obj/item/gps category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO @@ -49,7 +49,7 @@ desc = "A device that can desynchronize the user from spacetime." id = "desynchronizer" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_SILVER = 1500, MAT_BLUESPACE = 1000) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/silver = 1500, /datum/material/bluespace = 1000) build_path = /obj/item/desynchronizer category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -59,7 +59,7 @@ desc = "A mining satchel that can hold an infinite amount of ores." id = "minerbag_holding" build_type = PROTOLATHE - materials = list(MAT_GOLD = 250, MAT_URANIUM = 500) //quite cheap, for more convenience + materials = list(/datum/material/gold = 250, /datum/material/uranium = 500) //quite cheap, for more convenience build_path = /obj/item/storage/bag/ore/holding category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -69,7 +69,7 @@ desc = "An experimental device that is able to swap the locations of two entities by switching their particles' spin values. Must be linked to another device to function." id = "swapper" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 1000, MAT_BLUESPACE = 2000, MAT_GOLD = 1500, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000, /datum/material/bluespace = 2000, /datum/material/gold = 1500, /datum/material/silver = 1000) build_path = /obj/item/swapper category = list("Bluespace Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 5a7fd68ccbe..94db73dbd47 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -4,7 +4,7 @@ name = "Computer Design ( NULL ENTRY )" desc = "I promise this doesn't give you syndicate goodies!" build_type = IMPRINTER - materials = list(MAT_GLASS = 1000) + materials = list(/datum/material/glass = 1000) /datum/design/board/arcade_battle name = "Computer Design (Battle Arcade Machine)" @@ -50,7 +50,7 @@ name = "Computer Design (AI Upload)" desc = "Allows for the construction of circuit boards used to build an AI Upload Console." id = "aiupload" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/circuitboard/computer/aiupload category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -59,7 +59,7 @@ name = "Computer Design (Cyborg Upload)" desc = "Allows for the construction of circuit boards used to build a Cyborg Upload Console." id = "borgupload" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/circuitboard/computer/borgupload category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/computer_part_designs.dm b/code/modules/research/designs/computer_part_designs.dm index a8813b726d0..683fd8b61ec 100644 --- a/code/modules/research/designs/computer_part_designs.dm +++ b/code/modules/research/designs/computer_part_designs.dm @@ -6,7 +6,7 @@ name = "Hard Disk Drive" id = "hdd_basic" build_type = PROTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 100) + materials = list(/datum/material/iron = 400, /datum/material/glass = 100) build_path = /obj/item/computer_hardware/hard_drive category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -15,7 +15,7 @@ name = "Advanced Hard Disk Drive" id = "hdd_advanced" build_type = PROTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/computer_hardware/hard_drive/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -24,7 +24,7 @@ name = "Super Hard Disk Drive" id = "hdd_super" build_type = PROTOLATHE - materials = list(MAT_METAL = 1600, MAT_GLASS = 400) + materials = list(/datum/material/iron = 1600, /datum/material/glass = 400) build_path = /obj/item/computer_hardware/hard_drive/super category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -33,7 +33,7 @@ name = "Cluster Hard Disk Drive" id = "hdd_cluster" build_type = PROTOLATHE - materials = list(MAT_METAL = 3200, MAT_GLASS = 800) + materials = list(/datum/material/iron = 3200, /datum/material/glass = 800) build_path = /obj/item/computer_hardware/hard_drive/cluster category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -42,7 +42,7 @@ name = "Solid State Drive" id = "ssd_small" build_type = PROTOLATHE - materials = list(MAT_METAL = 800, MAT_GLASS = 200) + materials = list(/datum/material/iron = 800, /datum/material/glass = 200) build_path = /obj/item/computer_hardware/hard_drive/small category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -51,7 +51,7 @@ name = "Micro Solid State Drive" id = "ssd_micro" build_type = PROTOLATHE - materials = list(MAT_METAL = 400, MAT_GLASS = 100) + materials = list(/datum/material/iron = 400, /datum/material/glass = 100) build_path = /obj/item/computer_hardware/hard_drive/micro category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -61,7 +61,7 @@ name = "Network Card" id = "netcard_basic" build_type = IMPRINTER - materials = list(MAT_METAL = 250, MAT_GLASS = 100) + materials = list(/datum/material/iron = 250, /datum/material/glass = 100) build_path = /obj/item/computer_hardware/network_card category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -70,7 +70,7 @@ name = "Advanced Network Card" id = "netcard_advanced" build_type = IMPRINTER - materials = list(MAT_METAL = 500, MAT_GLASS = 200) + materials = list(/datum/material/iron = 500, /datum/material/glass = 200) build_path = /obj/item/computer_hardware/network_card/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -79,7 +79,7 @@ name = "Wired Network Card" id = "netcard_wired" build_type = IMPRINTER - materials = list(MAT_METAL = 2500, MAT_GLASS = 400) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 400) build_path = /obj/item/computer_hardware/network_card/wired category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -89,7 +89,7 @@ name = "Data Disk" id = "portadrive_basic" build_type = IMPRINTER - materials = list(MAT_GLASS = 800) + materials = list(/datum/material/glass = 800) build_path = /obj/item/computer_hardware/hard_drive/portable category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -98,7 +98,7 @@ name = "Advanced Data Disk" id = "portadrive_advanced" build_type = IMPRINTER - materials = list(MAT_GLASS = 1600) + materials = list(/datum/material/glass = 1600) build_path = /obj/item/computer_hardware/hard_drive/portable/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -107,7 +107,7 @@ name = "Super Data Disk" id = "portadrive_super" build_type = IMPRINTER - materials = list(MAT_GLASS = 3200) + materials = list(/datum/material/glass = 3200) build_path = /obj/item/computer_hardware/hard_drive/portable/super category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -117,7 +117,7 @@ name = "ID Card Slot" id = "cardslot" build_type = PROTOLATHE - materials = list(MAT_METAL = 600) + materials = list(/datum/material/iron = 600) build_path = /obj/item/computer_hardware/card_slot category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -127,7 +127,7 @@ name = "Intellicard Slot" id = "aislot" build_type = PROTOLATHE - materials = list(MAT_METAL = 600) + materials = list(/datum/material/iron = 600) build_path = /obj/item/computer_hardware/ai_slot category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -137,7 +137,7 @@ name = "Miniprinter" id = "miniprinter" build_type = PROTOLATHE - materials = list(MAT_METAL = 600) + materials = list(/datum/material/iron = 600) build_path = /obj/item/computer_hardware/printer/mini category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -147,7 +147,7 @@ name = "Area Power Connector" id = "APClink" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000) + materials = list(/datum/material/iron = 2000) build_path = /obj/item/computer_hardware/recharger/APC category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -157,7 +157,7 @@ name = "Power Cell Controller" id = "bat_control" build_type = PROTOLATHE - materials = list(MAT_METAL = 400) + materials = list(/datum/material/iron = 400) build_path = /obj/item/computer_hardware/battery category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -166,7 +166,7 @@ name = "Battery Module" id = "bat_normal" build_type = PROTOLATHE - materials = list(MAT_METAL = 400) + materials = list(/datum/material/iron = 400) build_path = /obj/item/stock_parts/cell/computer category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -175,7 +175,7 @@ name = "Advanced Battery Module" id = "bat_advanced" build_type = PROTOLATHE - materials = list(MAT_METAL = 800) + materials = list(/datum/material/iron = 800) build_path = /obj/item/stock_parts/cell/computer/advanced category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -184,7 +184,7 @@ name = "Super Battery Module" id = "bat_super" build_type = PROTOLATHE - materials = list(MAT_METAL = 1600) + materials = list(/datum/material/iron = 1600) build_path = /obj/item/stock_parts/cell/computer/super category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -193,7 +193,7 @@ name = "Nano Battery Module" id = "bat_nano" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/stock_parts/cell/computer/nano category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -202,7 +202,7 @@ name = "Micro Battery Module" id = "bat_micro" build_type = PROTOLATHE - materials = list(MAT_METAL = 400) + materials = list(/datum/material/iron = 400) build_path = /obj/item/stock_parts/cell/computer/micro category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -212,7 +212,7 @@ name = "Processor Board" id = "cpu_normal" build_type = IMPRINTER - materials = list(MAT_GLASS = 1600) + materials = list(/datum/material/glass = 1600) build_path = /obj/item/computer_hardware/processor_unit category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -221,7 +221,7 @@ name = "Microprocessor" id = "cpu_small" build_type = IMPRINTER - materials = list(MAT_GLASS = 800) + materials = list(/datum/material/glass = 800) build_path = /obj/item/computer_hardware/processor_unit/small category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -230,7 +230,7 @@ name = "Photonic Processor Board" id = "pcpu_normal" build_type = IMPRINTER - materials = list(MAT_GLASS= 6400, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 6400, /datum/material/gold = 2000) build_path = /obj/item/computer_hardware/processor_unit/photonic category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -239,7 +239,7 @@ name = "Photonic Microprocessor" id = "pcpu_small" build_type = IMPRINTER - materials = list(MAT_GLASS = 3200, MAT_GOLD = 1000) + materials = list(/datum/material/glass = 3200, /datum/material/gold = 1000) build_path = /obj/item/computer_hardware/processor_unit/photonic/small category = list("Computer Parts") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/electronics_designs.dm b/code/modules/research/designs/electronics_designs.dm index 96d797650d1..109a41207d8 100644 --- a/code/modules/research/designs/electronics_designs.dm +++ b/code/modules/research/designs/electronics_designs.dm @@ -8,7 +8,7 @@ desc = "Allows for the construction of an intellicard." id = "intellicard" build_type = PROTOLATHE - materials = list(MAT_GLASS = 1000, MAT_GOLD = 200) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 200) build_path = /obj/item/aicard category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -18,7 +18,7 @@ desc = "Allows for the construction of a pAI Card." id = "paicard" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/paicard category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_ALL @@ -28,7 +28,7 @@ desc = "A software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading." id = "ai_cam_upgrade" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 5000, MAT_GOLD = 15000, MAT_SILVER = 15000, MAT_DIAMOND = 20000, MAT_PLASMA = 10000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 5000, /datum/material/gold = 15000, /datum/material/silver = 15000, /datum/material/diamond = 20000, /datum/material/plasma = 10000) build_path = /obj/item/surveillance_upgrade category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -41,7 +41,7 @@ desc = "Allows for the construction of a nanite remote." id = "nanite_remote" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/nanite_remote category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -51,7 +51,7 @@ desc = "Allows for the construction of a nanite communication remote." id = "nanite_comm_remote" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/nanite_remote/comm category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -61,7 +61,7 @@ desc = "Allows for the construction of a nanite scanner." id = "nanite_scanner" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500) build_path = /obj/item/nanite_scanner category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -75,7 +75,7 @@ desc = "Produce additional disks for storing device designs." id = "design_disk" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) build_path = /obj/item/disk/design_disk category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -85,7 +85,7 @@ desc = "Produce additional disks for storing device designs." id = "design_disk_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100, MAT_SILVER=50) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100, /datum/material/silver=50) build_path = /obj/item/disk/design_disk/adv category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -95,7 +95,7 @@ desc = "Produce additional disks for storing technology data." id = "tech_disk" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) build_path = /obj/item/disk/tech_disk category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -105,7 +105,7 @@ desc = "Stores nanite programs." id = "nanite_disk" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100) build_path = /obj/item/disk/nanite_program category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 5a581d13510..8f18869d053 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -422,7 +422,7 @@ name = "Machine Design (Weapon Recharger Board)" desc = "The circuit board for a Weapon Recharger." id = "recharger" - materials = list(MAT_GLASS = 1000, MAT_GOLD = 2000) + materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) build_path = /obj/item/circuitboard/machine/recharger category = list("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_ALL diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 09264d95530..6d0de74cf5a 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -110,7 +110,7 @@ name = "\"Phazon\" Central Control module" desc = "Allows for the construction of a \"Phazon\" Central Control module." id = "phazon_main" - materials = list(MAT_GLASS = 1000, MAT_BLUESPACE = 100) + materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 100) build_path = /obj/item/circuitboard/mecha/phazon/main category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -119,7 +119,7 @@ name = "\"Phazon\" Peripherals Control module" desc = "Allows for the construction of a \"Phazon\" Peripheral Control module." id = "phazon_peri" - materials = list(MAT_GLASS = 1000, MAT_BLUESPACE = 100) + materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 100) build_path = /obj/item/circuitboard/mecha/phazon/peripherals category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -128,7 +128,7 @@ name = "\"Phazon\" Weapons & Targeting Control module" desc = "Allows for the construction of a \"Phazon\" Weapons & Targeting Control module." id = "phazon_targ" - materials = list(MAT_GLASS = 1000, MAT_BLUESPACE = 100) + materials = list(/datum/material/glass = 1000, /datum/material/bluespace = 100) build_path = /obj/item/circuitboard/mecha/phazon/targeting category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -143,7 +143,7 @@ id = "mech_scattershot" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -153,7 +153,7 @@ id = "mech_scattershot_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/scattershot - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -164,7 +164,7 @@ id = "mech_carbine" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -174,7 +174,7 @@ id = "mech_carbine_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/incendiary - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -185,7 +185,7 @@ id = "mech_ion" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion - materials = list(MAT_METAL=20000,MAT_SILVER=6000,MAT_URANIUM=2000) + materials = list(/datum/material/iron=20000,/datum/material/silver=6000,/datum/material/uranium=2000) construction_time = 100 category = list("Exosuit Equipment") @@ -195,7 +195,7 @@ id = "mech_tesla" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/tesla - materials = list(MAT_METAL=20000,MAT_SILVER=8000) + materials = list(/datum/material/iron=20000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") @@ -205,7 +205,7 @@ id = "mech_laser" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -215,7 +215,7 @@ id = "mech_laser_heavy" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -225,7 +225,7 @@ id = "mech_disabler" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/disabler - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -235,7 +235,7 @@ id = "mech_grenade_launcher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang - materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000) + materials = list(/datum/material/iron=22000,/datum/material/gold=6000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") @@ -245,7 +245,7 @@ id = "mech_grenade_launcher_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/flashbang - materials = list(MAT_METAL=4000,MAT_GOLD=500,MAT_SILVER=500) + materials = list(/datum/material/iron=4000,/datum/material/gold=500,/datum/material/iron=500) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -256,7 +256,7 @@ id = "mech_missile_rack" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breaching - materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000) + materials = list(/datum/material/iron=22000,/datum/material/gold=6000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") @@ -266,7 +266,7 @@ id = "mech_missile_rack_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/missiles_br - materials = list(MAT_METAL=8000,MAT_GOLD=500,MAT_SILVER=500) + materials = list(/datum/material/iron=8000,/datum/material/gold=500,/datum/material/iron=500) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -277,7 +277,7 @@ id = "clusterbang_launcher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang - materials = list(MAT_METAL=20000,MAT_GOLD=10000,MAT_URANIUM=10000) + materials = list(/datum/material/iron=20000,/datum/material/gold=10000,/datum/material/uranium=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -287,7 +287,7 @@ id = "clusterbang_launcher_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/clusterbang - materials = list(MAT_METAL=6000,MAT_GOLD=1500,MAT_URANIUM=1500) + materials = list(/datum/material/iron=6000,/datum/material/gold=1500,/datum/material/uranium=1500) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -298,7 +298,7 @@ id = "mech_wormhole_gen" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/wormhole_generator - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -308,7 +308,7 @@ id = "mech_teleporter" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/teleporter - materials = list(MAT_METAL=10000,MAT_DIAMOND=10000) + materials = list(/datum/material/iron=10000,/datum/material/diamond=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -318,7 +318,7 @@ id = "mech_rcd" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/rcd - materials = list(MAT_METAL=30000,MAT_GOLD=20000,MAT_PLASMA=25000,MAT_SILVER=20000) + materials = list(/datum/material/iron=30000,/datum/material/gold=20000,/datum/material/plasma=25000,/datum/material/silver=20000) construction_time = 1200 category = list("Exosuit Equipment") @@ -328,7 +328,7 @@ id = "mech_gravcatapult" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/gravcatapult - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -338,7 +338,7 @@ id = "mech_repair_droid" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid - materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_GOLD=1000,MAT_SILVER=2000) + materials = list(/datum/material/iron=10000,/datum/material/glass = 5000,/datum/material/gold=1000,/datum/material/silver=2000) construction_time = 100 category = list("Exosuit Equipment") @@ -348,7 +348,7 @@ id = "mech_energy_relay" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay - materials = list(MAT_METAL=10000,MAT_GLASS=2000,MAT_GOLD=2000,MAT_SILVER=3000) + materials = list(/datum/material/iron=10000,/datum/material/glass = 2000,/datum/material/gold=2000,/datum/material/silver=3000) construction_time = 100 category = list("Exosuit Equipment") @@ -358,7 +358,7 @@ id = "mech_ccw_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster - materials = list(MAT_METAL=20000,MAT_SILVER=5000) + materials = list(/datum/material/iron=20000,/datum/material/silver=5000) construction_time = 100 category = list("Exosuit Equipment") @@ -368,7 +368,7 @@ id = "mech_proj_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster - materials = list(MAT_METAL=20000,MAT_GOLD=5000) + materials = list(/datum/material/iron=20000,/datum/material/gold=5000) construction_time = 100 category = list("Exosuit Equipment") @@ -378,7 +378,7 @@ id = "mech_diamond_drill" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill - materials = list(MAT_METAL=10000,MAT_DIAMOND=6500) + materials = list(/datum/material/iron=10000,/datum/material/diamond=6500) construction_time = 100 category = list("Exosuit Equipment") @@ -388,7 +388,7 @@ id = "mech_generator_nuclear" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear - materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=500) + materials = list(/datum/material/iron=10000,/datum/material/glass = 1000,/datum/material/silver=500) construction_time = 100 category = list("Exosuit Equipment") @@ -398,7 +398,7 @@ id = "mech_plasma_cutter" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma - materials = list(MAT_METAL = 8000, MAT_GLASS = 1000, MAT_PLASMA = 2000) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 1000, /datum/material/plasma = 2000) construction_time = 100 category = list("Exosuit Equipment") @@ -408,7 +408,7 @@ id = "mech_lmg" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -418,7 +418,7 @@ id = "mech_lmg_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/lmg - materials = list(MAT_METAL=4000) + materials = list(/datum/material/iron=4000) construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -429,7 +429,7 @@ id = "mech_sleeper" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/medical/sleeper - materials = list(MAT_METAL=5000,MAT_GLASS=10000) + materials = list(/datum/material/iron=5000, /datum/material/glass = 10000) construction_time = 100 category = list("Exosuit Equipment") @@ -439,7 +439,7 @@ id = "mech_syringe_gun" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun - materials = list(MAT_METAL=3000,MAT_GLASS=2000) + materials = list(/datum/material/iron=3000, /datum/material/glass = 2000) construction_time = 200 category = list("Exosuit Equipment") @@ -448,7 +448,7 @@ desc = "Equipment for medical exosuits. A mounted medical nanite projector which will treat patients with a focused beam." id = "mech_medi_beam" build_type = MECHFAB - materials = list(MAT_METAL = 15000, MAT_GLASS = 8000, MAT_PLASMA = 3000, MAT_GOLD = 8000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 8000, /datum/material/plasma = 3000, /datum/material/gold = 8000, /datum/material/diamond = 2000) construction_time = 250 build_path = /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam category = list("Exosuit Equipment") diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 80b5117e02f..d58343c4f42 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -4,7 +4,7 @@ id = "borg_suit" build_type = MECHFAB build_path = /obj/item/robot_suit - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 500 category = list("Cyborg") @@ -13,7 +13,7 @@ id = "borg_chest" build_type = MECHFAB build_path = /obj/item/bodypart/chest/robot - materials = list(MAT_METAL=40000) + materials = list(/datum/material/iron=40000) construction_time = 350 category = list("Cyborg") @@ -22,7 +22,7 @@ id = "borg_head" build_type = MECHFAB build_path = /obj/item/bodypart/head/robot - materials = list(MAT_METAL=5000) + materials = list(/datum/material/iron=5000) construction_time = 350 category = list("Cyborg") @@ -31,7 +31,7 @@ id = "borg_l_arm" build_type = MECHFAB build_path = /obj/item/bodypart/l_arm/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -40,7 +40,7 @@ id = "borg_r_arm" build_type = MECHFAB build_path = /obj/item/bodypart/r_arm/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -49,7 +49,7 @@ id = "borg_l_leg" build_type = MECHFAB build_path = /obj/item/bodypart/l_leg/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -58,7 +58,7 @@ id = "borg_r_leg" build_type = MECHFAB build_path = /obj/item/bodypart/r_leg/robot - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 200 category = list("Cyborg") @@ -68,7 +68,7 @@ id = "ripley_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/ripley - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Ripley") @@ -78,7 +78,7 @@ id = "firefighter_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/firefighter - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Firefighter") @@ -87,7 +87,7 @@ id = "ripley_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_torso - materials = list(MAT_METAL=20000, MAT_GLASS=7500) + materials = list(/datum/material/iron=20000,/datum/material/glass = 7500) construction_time = 200 category = list("Ripley","Firefighter") @@ -96,7 +96,7 @@ id = "ripley_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_left_arm - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -105,7 +105,7 @@ id = "ripley_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_right_arm - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -114,7 +114,7 @@ id = "ripley_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_left_leg - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -123,7 +123,7 @@ id = "ripley_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/ripley_right_leg - materials = list(MAT_METAL=15000) + materials = list(/datum/material/iron=15000) construction_time = 150 category = list("Ripley","Firefighter") @@ -133,7 +133,7 @@ id = "odysseus_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/odysseus - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Odysseus") @@ -142,7 +142,7 @@ id = "odysseus_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_torso - materials = list(MAT_METAL=12000) + materials = list(/datum/material/iron=12000) construction_time = 180 category = list("Odysseus") @@ -151,7 +151,7 @@ id = "odysseus_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_head - materials = list(MAT_METAL=6000,MAT_GLASS=10000) + materials = list(/datum/material/iron=6000,/datum/material/glass = 10000) construction_time = 100 category = list("Odysseus") @@ -160,7 +160,7 @@ id = "odysseus_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_left_arm - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 120 category = list("Odysseus") @@ -169,7 +169,7 @@ id = "odysseus_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_right_arm - materials = list(MAT_METAL=6000) + materials = list(/datum/material/iron=6000) construction_time = 120 category = list("Odysseus") @@ -178,7 +178,7 @@ id = "odysseus_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_left_leg - materials = list(MAT_METAL=7000) + materials = list(/datum/material/iron=7000) construction_time = 130 category = list("Odysseus") @@ -187,7 +187,7 @@ id = "odysseus_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/odysseus_right_leg - materials = list(MAT_METAL=7000) + materials = list(/datum/material/iron=7000) construction_time = 130 category = list("Odysseus") @@ -197,7 +197,7 @@ id = "gygax_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/gygax - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Gygax") @@ -206,7 +206,7 @@ id = "gygax_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_torso - materials = list(MAT_METAL=20000,MAT_GLASS=10000,MAT_DIAMOND=2000) + materials = list(/datum/material/iron=20000,/datum/material/glass = 10000,/datum/material/diamond=2000) construction_time = 300 category = list("Gygax") @@ -215,7 +215,7 @@ id = "gygax_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_head - materials = list(MAT_METAL=10000,MAT_GLASS=5000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=10000,/datum/material/glass = 5000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") @@ -224,7 +224,7 @@ id = "gygax_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_left_arm - materials = list(MAT_METAL=15000, MAT_DIAMOND=1000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Gygax") @@ -233,7 +233,7 @@ id = "gygax_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_right_arm - materials = list(MAT_METAL=15000, MAT_DIAMOND=1000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Gygax") @@ -242,7 +242,7 @@ id = "gygax_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_left_leg - materials = list(MAT_METAL=15000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") @@ -251,7 +251,7 @@ id = "gygax_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_right_leg - materials = list(MAT_METAL=15000, MAT_DIAMOND=2000) + materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") @@ -260,7 +260,7 @@ id = "gygax_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/gygax_armor - materials = list(MAT_METAL=15000,MAT_DIAMOND=10000,MAT_TITANIUM=10000) + materials = list(/datum/material/iron=15000,/datum/material/diamond=10000,/datum/material/titanium=10000) construction_time = 600 category = list("Gygax") @@ -270,7 +270,7 @@ id = "durand_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/durand - materials = list(MAT_METAL=25000) + materials = list(/datum/material/iron=25000) construction_time = 100 category = list("Durand") @@ -279,7 +279,7 @@ id = "durand_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_torso - materials = list(MAT_METAL=25000,MAT_GLASS=10000,MAT_SILVER=10000) + materials = list(/datum/material/iron=25000, /datum/material/glass = 10000,/datum/material/silver=10000) construction_time = 300 category = list("Durand") @@ -288,7 +288,7 @@ id = "durand_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_head - materials = list(MAT_METAL=10000,MAT_GLASS=15000,MAT_SILVER=2000) + materials = list(/datum/material/iron=10000,/datum/material/glass = 15000,/datum/material/silver=2000) construction_time = 200 category = list("Durand") @@ -297,7 +297,7 @@ id = "durand_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_left_arm - materials = list(MAT_METAL=10000,MAT_SILVER=4000) + materials = list(/datum/material/iron=10000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -306,7 +306,7 @@ id = "durand_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_right_arm - materials = list(MAT_METAL=10000,MAT_SILVER=4000) + materials = list(/datum/material/iron=10000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -315,7 +315,7 @@ id = "durand_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_left_leg - materials = list(MAT_METAL=15000,MAT_SILVER=4000) + materials = list(/datum/material/iron=15000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -324,7 +324,7 @@ id = "durand_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_right_leg - materials = list(MAT_METAL=15000,MAT_SILVER=4000) + materials = list(/datum/material/iron=15000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") @@ -333,7 +333,7 @@ id = "durand_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/durand_armor - materials = list(MAT_METAL=30000,MAT_URANIUM=25000,MAT_TITANIUM=20000) + materials = list(/datum/material/iron=30000,/datum/material/uranium=25000,/datum/material/titanium=20000) construction_time = 600 category = list("Durand") @@ -343,7 +343,7 @@ id = "honk_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/honker - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("H.O.N.K") @@ -352,7 +352,7 @@ id = "honk_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_torso - materials = list(MAT_METAL=20000,MAT_GLASS=10000,MAT_BANANIUM=10000) + materials = list(/datum/material/iron=20000,/datum/material/glass = 10000,/datum/material/bananium=10000) construction_time = 300 category = list("H.O.N.K") @@ -361,7 +361,7 @@ id = "honk_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_head - materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=10000,/datum/material/glass = 5000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -370,7 +370,7 @@ id = "honk_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_left_arm - materials = list(MAT_METAL=15000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=15000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -379,7 +379,7 @@ id = "honk_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_right_arm - materials = list(MAT_METAL=15000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=15000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -388,7 +388,7 @@ id = "honk_left_leg" build_type = MECHFAB build_path =/obj/item/mecha_parts/part/honker_left_leg - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -397,7 +397,7 @@ id = "honk_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/honker_right_leg - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 200 category = list("H.O.N.K") @@ -408,7 +408,7 @@ id = "phazon_chassis" build_type = MECHFAB build_path = /obj/item/mecha_parts/chassis/phazon - materials = list(MAT_METAL=20000) + materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Phazon") @@ -417,7 +417,7 @@ id = "phazon_torso" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_torso - materials = list(MAT_METAL=35000,MAT_GLASS=10000,MAT_PLASMA=20000) + materials = list(/datum/material/iron=35000,/datum/material/glass = 10000,/datum/material/plasma=20000) construction_time = 300 category = list("Phazon") @@ -426,7 +426,7 @@ id = "phazon_head" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_head - materials = list(MAT_METAL=15000,MAT_GLASS=5000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=15000,/datum/material/glass = 5000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -435,7 +435,7 @@ id = "phazon_left_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_left_arm - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -444,7 +444,7 @@ id = "phazon_right_arm" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_right_arm - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -453,7 +453,7 @@ id = "phazon_left_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_left_leg - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -462,7 +462,7 @@ id = "phazon_right_leg" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_right_leg - materials = list(MAT_METAL=20000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") @@ -471,7 +471,7 @@ id = "phazon_armor" build_type = MECHFAB build_path = /obj/item/mecha_parts/part/phazon_armor - materials = list(MAT_METAL=25000,MAT_PLASMA=20000,MAT_TITANIUM=20000) + materials = list(/datum/material/iron=25000,/datum/material/plasma=20000,/datum/material/titanium=20000) construction_time = 300 category = list("Phazon") @@ -481,7 +481,7 @@ id = "ripleyupgrade" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/ripleyupgrade - materials = list(MAT_METAL=10000,MAT_PLASMA=10000) + materials = list(/datum/material/iron=10000,/datum/material/plasma=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -490,7 +490,7 @@ id = "mech_hydraulic_clamp" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -499,7 +499,7 @@ id = "mech_drill" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/drill - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -508,7 +508,7 @@ id = "mech_mscanner" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/mining_scanner - materials = list(MAT_METAL=5000,MAT_GLASS=2500) + materials = list(/datum/material/iron=5000,/datum/material/glass = 2500) construction_time = 50 category = list("Exosuit Equipment") @@ -517,7 +517,7 @@ id = "mech_extinguisher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/extinguisher - materials = list(MAT_METAL=10000) + materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") @@ -526,7 +526,7 @@ id = "mech_generator" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/generator - materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=2000,MAT_PLASMA=5000) + materials = list(/datum/material/iron=10000,/datum/material/glass = 1000,/datum/material/silver=2000,/datum/material/plasma=5000) construction_time = 100 category = list("Exosuit Equipment") @@ -535,7 +535,7 @@ id = "mech_mousetrap_mortar" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 300 category = list("Exosuit Equipment") @@ -544,7 +544,7 @@ id = "mech_banana_mortar" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar - materials = list(MAT_METAL=20000,MAT_BANANIUM=5000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=5000) construction_time = 300 category = list("Exosuit Equipment") @@ -553,7 +553,7 @@ id = "mech_honker" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/honker - materials = list(MAT_METAL=20000,MAT_BANANIUM=10000) + materials = list(/datum/material/iron=20000,/datum/material/bananium=10000) construction_time = 500 category = list("Exosuit Equipment") @@ -562,7 +562,7 @@ id = "mech_punching_face" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - materials = list(MAT_METAL=20000,MAT_BANANIUM=7500) + materials = list(/datum/material/iron=20000,/datum/material/bananium=7500) construction_time = 400 category = list("Exosuit Equipment") @@ -575,7 +575,7 @@ id = "borg_upgrade_rename" build_type = MECHFAB build_path = /obj/item/borg/upgrade/rename - materials = list(MAT_METAL = 5000) + materials = list(/datum/material/iron = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -584,7 +584,7 @@ id = "borg_upgrade_restart" build_type = MECHFAB build_path = /obj/item/borg/upgrade/restart - materials = list(MAT_METAL = 20000 , MAT_GLASS = 5000) + materials = list(/datum/material/iron = 20000 , /datum/material/glass = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -593,7 +593,7 @@ id = "borg_upgrade_thrusters" build_type = MECHFAB build_path = /obj/item/borg/upgrade/thrusters - materials = list(MAT_METAL = 10000, MAT_GLASS = 6000, MAT_PLASMA = 5000, MAT_URANIUM = 6000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 6000, /datum/material/plasma = 5000, /datum/material/uranium = 6000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -602,7 +602,7 @@ id = "borg_upgrade_disablercooler" build_type = MECHFAB build_path = /obj/item/borg/upgrade/disablercooler - materials = list(MAT_METAL = 20000 , MAT_GLASS = 6000, MAT_GOLD = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 20000 , /datum/material/glass = 6000, /datum/material/gold = 2000, /datum/material/diamond = 2000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -611,7 +611,7 @@ id = "borg_upgrade_diamonddrill" build_type = MECHFAB build_path = /obj/item/borg/upgrade/ddrill - materials = list(MAT_METAL=10000, MAT_GLASS = 6000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron=10000, /datum/material/glass = 6000, /datum/material/diamond = 2000) construction_time = 80 category = list("Cyborg Upgrade Modules") @@ -620,7 +620,7 @@ id = "borg_upgrade_holding" build_type = MECHFAB build_path = /obj/item/borg/upgrade/soh - materials = list(MAT_METAL = 10000, MAT_GOLD = 2000, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 10000, /datum/material/gold = 2000, /datum/material/uranium = 1000) construction_time = 40 category = list("Cyborg Upgrade Modules") @@ -629,7 +629,7 @@ id = "borg_upgrade_lavaproof" build_type = MECHFAB build_path = /obj/item/borg/upgrade/lavaproof - materials = list(MAT_METAL = 10000, MAT_PLASMA = 4000, MAT_TITANIUM = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/plasma = 4000, /datum/material/titanium = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -638,7 +638,7 @@ id = "borg_syndicate_module" build_type = MECHFAB build_path = /obj/item/borg/upgrade/syndicate - materials = list(MAT_METAL = 15000, MAT_GLASS = 15000, MAT_DIAMOND = 10000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 15000, /datum/material/diamond = 10000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -647,7 +647,7 @@ id = "borg_transform_clown" build_type = MECHFAB build_path = /obj/item/borg/upgrade/transform/clown - materials = list(MAT_METAL = 15000, MAT_GLASS = 15000, MAT_BANANIUM = 1000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 15000, /datum/material/bananium = 1000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -656,7 +656,7 @@ id = "borg_upgrade_selfrepair" build_type = MECHFAB build_path = /obj/item/borg/upgrade/selfrepair - materials = list(MAT_METAL = 15000, MAT_GLASS = 15000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 15000) construction_time = 80 category = list("Cyborg Upgrade Modules") @@ -665,7 +665,7 @@ id = "borg_upgrade_expandedsynthesiser" build_type = MECHFAB build_path = /obj/item/borg/upgrade/hypospray/expanded - materials = list(MAT_METAL = 15000, MAT_GLASS = 15000, MAT_PLASMA = 8000, MAT_URANIUM = 8000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 15000, /datum/material/plasma = 8000, /datum/material/uranium = 8000) construction_time = 80 category = list("Cyborg Upgrade Modules") @@ -674,7 +674,7 @@ id = "borg_upgrade_piercinghypospray" build_type = MECHFAB build_path = /obj/item/borg/upgrade/piercing_hypospray - materials = list(MAT_METAL = 15000, MAT_GLASS = 15000, MAT_TITANIUM = 5000, MAT_DIAMOND = 3000) + materials = list(/datum/material/iron = 15000, /datum/material/glass = 15000, /datum/material/titanium = 5000, /datum/material/diamond = 3000) construction_time = 80 category = list("Cyborg Upgrade Modules") @@ -683,7 +683,7 @@ id = "borg_upgrade_defibrillator" build_type = MECHFAB build_path = /obj/item/borg/upgrade/defib - materials = list(MAT_METAL = 8000, MAT_GLASS = 5000, MAT_SILVER = 4000, MAT_GOLD = 3000) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 5000, /datum/material/silver = 4000, /datum/material/gold = 3000) construction_time = 80 category = list("Cyborg Upgrade Modules") @@ -692,7 +692,7 @@ id = "borg_upgrade_surgicalprocessor" build_type = MECHFAB build_path = /obj/item/borg/upgrade/processor - materials = list(MAT_METAL = 5000, MAT_GLASS = 4000, MAT_SILVER = 4000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 4000, /datum/material/silver = 4000) construction_time = 40 category = list("Cyborg Upgrade Modules") @@ -701,7 +701,7 @@ id = "borg_upgrade_trashofholding" build_type = MECHFAB build_path = /obj/item/borg/upgrade/tboh - materials = list(MAT_GOLD = 2000, MAT_URANIUM = 1000) + materials = list(/datum/material/gold = 2000, /datum/material/uranium = 1000) construction_time = 40 category = list("Cyborg Upgrade Modules") @@ -710,7 +710,7 @@ id = "borg_upgrade_advancedmop" build_type = MECHFAB build_path = /obj/item/borg/upgrade/amop - materials = list(MAT_METAL = 2000, MAT_GLASS = 2000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 2000) construction_time = 40 category = list("Cyborg Upgrade Modules") @@ -719,7 +719,7 @@ id = "borg_upgrade_expand" build_type = MECHFAB build_path = /obj/item/borg/upgrade/expand - materials = list(MAT_METAL = 200000, MAT_TITANIUM = 5000) + materials = list(/datum/material/iron = 200000, /datum/material/titanium = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -728,7 +728,7 @@ id = "borg_ai_control" build_type = MECHFAB build_path = /obj/item/borg/upgrade/ai - materials = list(MAT_METAL = 1200, MAT_GLASS = 1500, MAT_GOLD = 200) + materials = list(/datum/material/iron = 1200, /datum/material/glass = 1500, /datum/material/gold = 200) construction_time = 50 category = list("Misc") @@ -737,7 +737,7 @@ id = "borg_upgrade_rped" build_type = MECHFAB build_path = /obj/item/borg/upgrade/rped - materials = list(MAT_METAL = 10000, MAT_GLASS = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -746,7 +746,7 @@ id = "borg_upgrade_pinpointer" build_type = MECHFAB build_path = /obj/item/borg/upgrade/pinpointer - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -756,7 +756,7 @@ id = "mecha_tracking" build_type = MECHFAB build_path =/obj/item/mecha_parts/mecha_tracking - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) construction_time = 50 category = list("Misc") @@ -765,7 +765,7 @@ id = "mecha_tracking_ai_control" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_tracking/ai_control - materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_SILVER = 200) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/silver = 200) construction_time = 50 category = list("Misc") @@ -774,7 +774,7 @@ desc = "When a problem arises, SCIENCE is the solution." id = "sflash" build_type = MECHFAB - materials = list(MAT_METAL = 750, MAT_GLASS = 750) + materials = list(/datum/material/iron = 750, /datum/material/glass = 750) construction_time = 100 build_path = /obj/item/assembly/flash/handheld category = list("Misc") diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index d672dc012f6..e4d813a4207 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -7,7 +7,7 @@ desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." id = "mmi" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) construction_time = 75 build_path = /obj/item/mmi category = list("Misc","Medical Designs") @@ -18,7 +18,7 @@ desc = "The latest in Artificial Intelligences." id = "mmi_posi" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG. + materials = list(/datum/material/iron = 1700, /datum/material/glass = 1350, /datum/material/gold = 500) //Gold, because SWAG. construction_time = 75 build_path = /obj/item/mmi/posibrain category = list("Misc", "Medical Designs") @@ -29,7 +29,7 @@ desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units." id = "bluespacebeaker" build_type = PROTOLATHE - materials = list(MAT_GLASS = 5000, MAT_PLASMA = 3000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000) + materials = list(/datum/material/glass = 5000, /datum/material/plasma = 3000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000) build_path = /obj/item/reagent_containers/glass/beaker/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -39,7 +39,7 @@ desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." id = "splitbeaker" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/reagent_containers/glass/beaker/noreact category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -49,7 +49,7 @@ id = "xlarge_beaker" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000) + materials = list(/datum/material/glass = 2500, /datum/material/plastic = 3000) build_path = /obj/item/reagent_containers/glass/beaker/plastic category = list("Medical Designs") @@ -58,7 +58,7 @@ id = "meta_beaker" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000, MAT_GOLD = 1000, MAT_TITANIUM = 1000) + materials = list(/datum/material/glass = 2500, /datum/material/plastic = 3000, /datum/material/gold = 1000, /datum/material/titanium = 1000) build_path = /obj/item/reagent_containers/glass/beaker/meta category = list("Medical Designs") @@ -67,7 +67,7 @@ desc = "An advanced syringe that can hold 60 units of chemicals" id = "bluespacesyringe" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_PLASMA = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 500) + materials = list(/datum/material/glass = 2000, /datum/material/plasma = 1000, /datum/material/diamond = 1000, /datum/material/bluespace = 500) build_path = /obj/item/reagent_containers/syringe/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -77,7 +77,7 @@ desc = "Produce additional disks for storing genetic data." id = "cloning_disk" build_type = PROTOLATHE - materials = list(MAT_METAL = 300, MAT_GLASS = 100, MAT_SILVER = 50) + materials = list(/datum/material/iron = 300, /datum/material/glass = 100, /datum/material/silver = 50) build_path = /obj/item/disk/data category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -87,7 +87,7 @@ desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units." id = "noreactsyringe" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_GOLD = 1000) + materials = list(/datum/material/glass = 2000, /datum/material/gold = 1000) build_path = /obj/item/reagent_containers/syringe/noreact category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -97,7 +97,7 @@ desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units." id = "piercesyringe" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_DIAMOND = 1000) + materials = list(/datum/material/glass = 2000, /datum/material/diamond = 1000) build_path = /obj/item/reagent_containers/syringe/piercing category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -107,7 +107,7 @@ desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures." id = "bluespacebodybag" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) + materials = list(/datum/material/iron = 3000, /datum/material/plasma = 2000, /datum/material/diamond = 500, /datum/material/bluespace = 500) build_path = /obj/item/bodybag/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -117,7 +117,7 @@ desc = "A refill pack for the auto-extinguisher on Plasma-man suits." id = "plasmarefiller" //Why did this have no plasmatech build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/plasma = 1000) build_path = /obj/item/extinguisher_refill category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_ALL @@ -127,7 +127,7 @@ desc = "Allows tracking of someone's location if their suit sensors are turned to tracking beacon." id = "crewpinpointer" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1500, MAT_GOLD = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1500, /datum/material/gold = 200) build_path = /obj/item/pinpointer/crew category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -138,7 +138,7 @@ id = "defibrillator" build_type = PROTOLATHE build_path = /obj/item/defibrillator - materials = list(MAT_METAL = 8000, MAT_GLASS = 4000, MAT_SILVER = 3000, MAT_GOLD = 1500) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 4000, /datum/material/silver = 3000, /datum/material/gold = 1500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -147,7 +147,7 @@ desc = "An all-in-one mounted frame for holding defibrillators, complete with ID-locked clamps and recharging cables." id = "defibmount" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/wallframe/defib_mount category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -158,7 +158,7 @@ id = "defibrillator_compact" build_type = PROTOLATHE build_path = /obj/item/defibrillator/compact - materials = list(MAT_METAL = 16000, MAT_GLASS = 8000, MAT_SILVER = 6000, MAT_GOLD = 3000) + materials = list(/datum/material/iron = 16000, /datum/material/glass = 8000, /datum/material/silver = 6000, /datum/material/gold = 3000) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -168,7 +168,7 @@ id = "genescanner" build_path = /obj/item/sequence_scanner build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -178,7 +178,7 @@ id = "healthanalyzer_advanced" build_path = /obj/item/healthanalyzer/advanced build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500, /datum/material/silver = 2000, /datum/material/gold = 1500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -188,7 +188,7 @@ id = "medigel" build_path = /obj/item/reagent_containers/medigel build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -196,7 +196,7 @@ name = "Surgical Drapes" id = "surgical_drapes" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 2000) + materials = list(/datum/material/plastic = 2000) build_path = /obj/item/surgical_drapes category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -207,7 +207,7 @@ id = "laserscalpel" build_path = /obj/item/scalpel/advanced build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 1500, MAT_DIAMOND = 200, MAT_TITANIUM = 4000) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 1500, /datum/material/silver = 2000, /datum/material/gold = 1500, /datum/material/diamond = 200, /datum/material/titanium = 4000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -217,7 +217,7 @@ id = "mechanicalpinches" build_path = /obj/item/retractor/advanced build_type = PROTOLATHE - materials = list(MAT_METAL = 12000, MAT_GLASS = 4000, MAT_SILVER = 4000, MAT_TITANIUM = 5000) + materials = list(/datum/material/iron = 12000, /datum/material/glass = 4000, /datum/material/silver = 4000, /datum/material/titanium = 5000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -227,7 +227,7 @@ id = "searingtool" build_path = /obj/item/cautery/advanced build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_PLASMA = 2000, MAT_URANIUM = 3000, MAT_TITANIUM = 3000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 2000, /datum/material/plasma = 2000, /datum/material/uranium = 3000, /datum/material/titanium = 3000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE @@ -237,7 +237,7 @@ id = "med_spray_bottle" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_PLASTIC = 2000) + materials = list(/datum/material/plastic = 2000) build_path = /obj/item/reagent_containers/spray/medical category = list("Medical Designs") @@ -247,7 +247,7 @@ id = "chem_pack" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_PLASTIC = 2000) + materials = list(/datum/material/plastic = 2000) build_path = /obj/item/reagent_containers/chem_pack category = list("Medical Designs") @@ -257,7 +257,7 @@ id = "blood_pack" build_type = PROTOLATHE departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - materials = list(MAT_PLASTIC = 1000) + materials = list(/datum/material/plastic = 1000) build_path = /obj/item/reagent_containers/blood category = list("Medical Designs") @@ -271,7 +271,7 @@ id = "ci-welding" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 600, MAT_GLASS = 400) + materials = list(/datum/material/iron = 600, /datum/material/glass = 400) build_path = /obj/item/organ/eyes/robotic/shield category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -282,7 +282,7 @@ id = "ci-gloweyes" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 600, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 1000) build_path = /obj/item/organ/eyes/robotic/glow category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -293,7 +293,7 @@ id = "ci-breather" build_type = PROTOLATHE | MECHFAB construction_time = 35 - materials = list(MAT_METAL = 600, MAT_GLASS = 250) + materials = list(/datum/material/iron = 600, /datum/material/glass = 250) build_path = /obj/item/organ/cyberimp/mouth/breathing_tube category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -303,7 +303,7 @@ desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." id = "ci-surgery" build_type = PROTOLATHE | MECHFAB - materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500) + materials = list (/datum/material/iron = 2500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/surgery category = list("Misc", "Medical Designs") @@ -314,7 +314,7 @@ desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm." id = "ci-toolset" build_type = PROTOLATHE | MECHFAB - materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500) + materials = list (/datum/material/iron = 2500, /datum/material/glass = 1500, /datum/material/silver = 1500) construction_time = 200 build_path = /obj/item/organ/cyberimp/arm/toolset category = list("Misc", "Medical Designs") @@ -326,7 +326,7 @@ id = "ci-medhud" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 500, /datum/material/gold = 500) build_path = /obj/item/organ/cyberimp/eyes/hud/medical category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -337,7 +337,7 @@ id = "ci-sechud" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 750, /datum/material/gold = 750) build_path = /obj/item/organ/cyberimp/eyes/hud/security category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -348,7 +348,7 @@ id = "ci-diaghud" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 600, /datum/material/gold = 600) build_path = /obj/item/organ/cyberimp/eyes/hud/diagnostic category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -359,7 +359,7 @@ id = "ci-xray" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 600, /datum/material/gold = 600, /datum/material/plasma = 1000, /datum/material/uranium = 1000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000) build_path = /obj/item/organ/eyes/robotic/xray category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -370,7 +370,7 @@ id = "ci-thermals" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 600, /datum/material/gold = 600, /datum/material/plasma = 1000, /datum/material/diamond = 2000) build_path = /obj/item/organ/eyes/robotic/thermals category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -381,7 +381,7 @@ id = "ci-antidrop" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 400, /datum/material/gold = 400) build_path = /obj/item/organ/cyberimp/brain/anti_drop category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -392,7 +392,7 @@ id = "ci-antistun" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/silver = 500, /datum/material/gold = 1000) build_path = /obj/item/organ/cyberimp/brain/anti_stun category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -403,7 +403,7 @@ id = "ci-nutriment" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/gold = 500) build_path = /obj/item/organ/cyberimp/chest/nutriment category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -414,7 +414,7 @@ id = "ci-nutrimentplus" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/gold = 500, /datum/material/uranium = 750) build_path = /obj/item/organ/cyberimp/chest/nutriment/plus category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -425,7 +425,7 @@ id = "ci-reviver" build_type = PROTOLATHE | MECHFAB construction_time = 60 - materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 300, MAT_URANIUM = 500) + materials = list(/datum/material/iron = 800, /datum/material/glass = 800, /datum/material/gold = 300, /datum/material/uranium = 500) build_path = /obj/item/organ/cyberimp/chest/reviver category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -436,7 +436,7 @@ id = "ci-thrusters" build_type = PROTOLATHE | MECHFAB construction_time = 80 - materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 2000, /datum/material/silver = 1000, /datum/material/diamond = 1000) build_path = /obj/item/organ/cyberimp/chest/thrusters category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -450,7 +450,7 @@ desc = "A sterile automatic implant injector." id = "implanter" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 200) + materials = list(/datum/material/iron = 600, /datum/material/glass = 200) build_path = /obj/item/implanter category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -460,7 +460,7 @@ desc = "A glass case for containing an implant." id = "implantcase" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500) + materials = list(/datum/material/glass = 500) build_path = /obj/item/implantcase category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -470,7 +470,7 @@ desc = "Makes death amusing." id = "implant_trombone" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_BANANIUM = 500) + materials = list(/datum/material/glass = 500, /datum/material/bananium = 500) build_path = /obj/item/implantcase/sad_trombone category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_ALL //if you get bananium you get the sad trombones. @@ -480,7 +480,7 @@ desc = "A glass case containing an implant." id = "implant_chem" build_type = PROTOLATHE - materials = list(MAT_GLASS = 700) + materials = list(/datum/material/glass = 700) build_path = /obj/item/implantcase/chem category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -490,7 +490,7 @@ desc = "A glass case containing an implant." id = "implant_tracking" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/implantcase/tracking category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -503,7 +503,7 @@ id = "cybernetic_liver" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/liver/cybernetic category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -514,7 +514,7 @@ id = "cybernetic_liver_u" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/liver/cybernetic/upgraded category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -525,7 +525,7 @@ id = "cybernetic_heart" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/heart/cybernetic category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -536,7 +536,7 @@ id = "cybernetic_heart_u" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER=500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver=500) build_path = /obj/item/organ/heart/cybernetic/upgraded category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -547,7 +547,7 @@ id = "cybernetic_lungs" build_type = PROTOLATHE | MECHFAB construction_time = 40 - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/organ/lungs/cybernetic category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -558,7 +558,7 @@ id = "cybernetic_lungs_u" build_type = PROTOLATHE | MECHFAB construction_time = 50 - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 500) build_path = /obj/item/organ/lungs/cybernetic/upgraded category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 18934d021cf..c5c80de7322 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -7,7 +7,7 @@ desc = "Allows for the construction of circuit boards used to build an Express Supply Console."//who? id = "cargoexpress"//the coder reading this build_type = IMPRINTER - materials = list(MAT_GLASS = 1000) + materials = list(/datum/material/glass = 1000) build_path = /obj/item/circuitboard/computer/cargo/express category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -17,7 +17,7 @@ desc = "Allows the Cargo Express Console to call down the Bluespace Drop Pod, greatly increasing user safety."//who? id = "bluespace_pod"//the coder reading this build_type = PROTOLATHE - materials = list(MAT_GLASS = 1000) + materials = list(/datum/material/glass = 1000) build_path = /obj/item/disk/cargo/bluespace_pod category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -27,7 +27,7 @@ desc = "Yours is the drill that will pierce through the rock walls." id = "drill" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 1000) //expensive, but no need for miners. + materials = list(/datum/material/iron = 6000, /datum/material/glass = 1000) //expensive, but no need for miners. build_path = /obj/item/pickaxe/drill category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -37,7 +37,7 @@ desc = "Yours is the drill that will pierce the heavens!" id = "drill_diamond" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) //Yes, a whole diamond is needed. + materials = list(/datum/material/iron = 6000, /datum/material/glass = 1000, /datum/material/diamond = 2000) //Yes, a whole diamond is needed. build_path = /obj/item/pickaxe/drill/diamonddrill category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -47,7 +47,7 @@ desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff." id = "plasmacutter" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_GLASS = 500, MAT_PLASMA = 400) + materials = list(/datum/material/iron = 1500, /datum/material/glass = 500, /datum/material/plasma = 400) build_path = /obj/item/gun/energy/plasmacutter category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -57,7 +57,7 @@ desc = "It's an advanced plasma cutter, oh my god." id = "plasmacutter_adv" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_PLASMA = 2000, MAT_GOLD = 500) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000, /datum/material/plasma = 2000, /datum/material/gold = 500) build_path = /obj/item/gun/energy/plasmacutter/adv category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -67,7 +67,7 @@ desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well." id = "jackhammer" build_type = PROTOLATHE - materials = list(MAT_METAL = 6000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_DIAMOND = 6000) + materials = list(/datum/material/iron = 6000, /datum/material/glass = 2000, /datum/material/silver = 2000, /datum/material/diamond = 6000) build_path = /obj/item/pickaxe/drill/jackhammer category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -77,7 +77,7 @@ desc = "An upgraded version of the resonator that allows more fields to be active at once." id = "superresonator" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 1500, /datum/material/silver = 1000, /datum/material/uranium = 1000) build_path = /obj/item/resonator/upgraded category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -87,7 +87,7 @@ desc = "A device which allows kinetic accelerators to be wielded by any organism." id = "triggermod" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/trigger_guard category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -97,7 +97,7 @@ desc = "A device which allows kinetic accelerators to deal more damage." id = "damagemod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/damage category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -107,7 +107,7 @@ desc = "A device which decreases the cooldown of a Kinetic Accelerator." id = "cooldownmod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/cooldown category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -117,7 +117,7 @@ desc = "A device which allows kinetic accelerators to fire at a further range." id = "rangemod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_GOLD = 1500, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1500, /datum/material/gold = 1500, /datum/material/uranium = 1000) build_path = /obj/item/borg/upgrade/modkit/range category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO @@ -127,7 +127,7 @@ desc = "A modification kit for Kinetic Accelerators which causes it to fire AoE blasts that destroy rock." id = "hypermod" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 8000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 8000, /datum/material/glass = 1500, /datum/material/silver = 2000, /datum/material/gold = 2000, /datum/material/diamond = 2000) build_path = /obj/item/borg/upgrade/modkit/aoe/turfs category = list("Mining Designs", "Cyborg Upgrade Modules") departmental_flags = DEPARTMENTAL_FLAG_CARGO diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 8495383952a..73f0ea1d2a3 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -8,7 +8,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." id = "health_hud" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/hud/health category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -18,7 +18,7 @@ desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness." id = "health_hud_night" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_SILVER = 350) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/uranium = 1000, /datum/material/silver = 350) build_path = /obj/item/clothing/glasses/hud/health/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -28,7 +28,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status." id = "security_hud" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/hud/security category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -38,7 +38,7 @@ desc = "A heads-up display which provides id data and vision in complete darkness." id = "security_hud_night" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_GOLD = 350) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/uranium = 1000, /datum/material/gold = 350) build_path = /obj/item/clothing/glasses/hud/security/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -48,7 +48,7 @@ desc = "A HUD used to analyze and determine faults within robotic machinery." id = "diagnostic_hud" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/hud/diagnostic category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -58,7 +58,7 @@ desc = "Upgraded version of the diagnostic HUD designed to function during a power failure." id = "diagnostic_hud_night" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_PLASMA = 300) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/uranium = 1000, /datum/material/plasma = 300) build_path = /obj/item/clothing/glasses/hud/diagnostic/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -72,7 +72,7 @@ desc = "A gas mask with built in welding goggles and face shield. Looks like a skull, clearly designed by a nerd." id = "weldingmask" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000) build_path = /obj/item/clothing/mask/gas/welding category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -82,7 +82,7 @@ desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant." id = "portaseeder" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 400) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 400) build_path = /obj/item/storage/bag/plants/portaseeder category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -92,7 +92,7 @@ desc = "Damn son, where'd you find this?" id = "air_horn" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_BANANIUM = 1000) + materials = list(/datum/material/iron = 4000, /datum/material/bananium = 1000) build_path = /obj/item/bikehorn/airhorn category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ALL //HONK! @@ -102,7 +102,7 @@ desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." id = "mesons" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/meson category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING @@ -112,7 +112,7 @@ desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes." id = "engine_goggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_PLASMA = 100) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/plasma = 100) build_path = /obj/item/clothing/glasses/meson/engine category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -122,7 +122,7 @@ desc = "Used by engineering staff to see underfloor objects such as cables and pipes." id = "tray_goggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/meson/engine/tray category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -132,7 +132,7 @@ desc = "Prototype meson scanners fitted with an extra sensor which amplifies the visible light spectrum and overlays it to the UHD display." id = "nvgmesons" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/plasma = 350, /datum/material/uranium = 1000) build_path = /obj/item/clothing/glasses/meson/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO @@ -142,7 +142,7 @@ desc = "Goggles that let you see through darkness unhindered." id = "night_visision_goggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000) + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/plasma = 350, /datum/material/uranium = 1000) build_path = /obj/item/clothing/glasses/night category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SECURITY @@ -152,7 +152,7 @@ desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." id = "magboots" build_type = PROTOLATHE - materials = list(MAT_METAL = 4500, MAT_SILVER = 1500, MAT_GOLD = 2500) + materials = list(/datum/material/iron = 4500, /datum/material/silver = 1500, /datum/material/gold = 2500) build_path = /obj/item/clothing/shoes/magboots category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -162,7 +162,7 @@ desc = "A device which can project temporary forcefields to seal off an area." id = "forcefield_projector" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 1000) build_path = /obj/item/forcefield_projector category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -172,7 +172,7 @@ desc = "Goggles fitted with a portable analyzer capable of determining the research worth of an item or components of a machine." id = "scigoggles" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 500) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) build_path = /obj/item/clothing/glasses/science category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -182,7 +182,7 @@ desc = "A disk for storing plant genetic data." id = "diskplantgene" build_type = PROTOLATHE - materials = list(MAT_METAL=200, MAT_GLASS=100) + materials = list(/datum/material/iron=200, /datum/material/glass = 100) build_path = /obj/item/disk/plantgene category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -192,7 +192,7 @@ desc = "A roasting stick for cooking sausages in exotic ovens." id = "roastingstick" build_type = PROTOLATHE - materials = list(MAT_METAL=1000, MAT_GLASS=500, MAT_BLUESPACE = 250) + materials = list(/datum/material/iron=1000, /datum/material/glass = 500, /datum/material/bluespace = 250) build_path = /obj/item/melee/roastingstick category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -202,7 +202,7 @@ desc = "Used to track portable teleportation beacons and targets with embedded tracking implants." id = "locator" build_type = PROTOLATHE - materials = list(MAT_METAL=1000, MAT_GLASS=500, MAT_SILVER = 500) + materials = list(/datum/material/iron=1000, /datum/material/glass = 500, /datum/material/silver = 500) build_path = /obj/item/locator category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -212,7 +212,7 @@ desc = "Allows for the construction of a quantum keycard." id = "quantum_keycard" build_type = PROTOLATHE - materials = list(MAT_GLASS = 500, MAT_METAL = 500, MAT_SILVER = 500, MAT_BLUESPACE = 1000) + materials = list(/datum/material/glass = 500, /datum/material/iron = 500, /datum/material/silver = 500, /datum/material/bluespace = 1000) build_path = /obj/item/quantum_keycard category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -222,7 +222,7 @@ desc = "An advanced tool capable of instantly neutralizing anomalies, designed to capture the fleeting aberrations created by the engine." id = "anomaly_neutralizer" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GOLD = 2000, MAT_PLASMA = 5000, MAT_URANIUM = 2000) + materials = list(/datum/material/iron = 2000, /datum/material/gold = 2000, /datum/material/plasma = 5000, /datum/material/uranium = 2000) build_path = /obj/item/anomaly_neutralizer category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -232,7 +232,7 @@ desc = "A refill canister for Donksoft Toy Vendors." id = "donksoft_refill" build_type = PROTOLATHE - materials = list(MAT_METAL = 25000, MAT_GLASS = 15000, MAT_PLASMA = 20000, MAT_GOLD = 10000, MAT_SILVER = 10000) + materials = list(/datum/material/iron = 25000, /datum/material/glass = 15000, /datum/material/plasma = 20000, /datum/material/gold = 10000, /datum/material/silver = 10000) build_path = /obj/item/vending_refill/donksoft category = list("Equipment") @@ -241,7 +241,7 @@ desc = "An empty oxygen tank." id = "oxygen_tank" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000) + materials = list(/datum/material/iron = 2000) build_path = /obj/item/tank/internals/oxygen/empty category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -251,7 +251,7 @@ desc = "An empty oxygen tank." id = "plasma_tank" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000) + materials = list(/datum/material/iron = 2000) build_path = /obj/item/tank/internals/plasma/empty category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -265,7 +265,7 @@ desc = "An upgraded mop with a large internal capacity for holding water or other cleaning chemicals." id = "advmop" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500, MAT_GLASS = 200) + materials = list(/datum/material/iron = 2500, /datum/material/glass = 200) build_path = /obj/item/mop/advanced category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -275,7 +275,7 @@ desc = "An advanced trash bag with bluespace properties; capable of holding a plethora of garbage." id = "blutrash" build_type = PROTOLATHE - materials = list(MAT_GOLD = 1500, MAT_URANIUM = 250, MAT_PLASMA = 1500) + materials = list(/datum/material/gold = 1500, /datum/material/uranium = 250, /datum/material/plasma = 1500) build_path = /obj/item/storage/bag/trash/bluespace category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -285,7 +285,7 @@ desc = "A floor buffer that can be attached to vehicular janicarts." id = "buffer" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 200) build_path = /obj/item/janiupgrade category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -295,7 +295,7 @@ desc = "A spray bottle, with an unscrewable top." id = "spraybottle" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 200) build_path = /obj/item/reagent_containers/spray category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -305,7 +305,7 @@ desc = "A trap used to catch space bears and other legged creatures." id = "beartrap" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_TITANIUM = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/titanium = 1000) build_path = /obj/item/restraints/legcuffs/beartrap category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -319,7 +319,7 @@ desc = "A holograpic projector used to project various warning signs." id = "holosign" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/holosign_creator category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -329,7 +329,7 @@ desc = "A holograpic projector used to project hard light wet floor barriers." id = "holobarrier_jani" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000, /datum/material/silver = 1000) build_path = /obj/structure/holosign/barrier/wetsign category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE @@ -340,7 +340,7 @@ desc = "A holographic projector that creates holographic security barriers." id = "holosignsec" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/security category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -350,7 +350,7 @@ desc = "A holographic projector that creates holographic engineering barriers." id = "holosignengi" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/engineering category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -360,7 +360,7 @@ desc = "A holographic projector that creates holographic barriers that prevent changes in atmospheric conditions." id = "holosignatmos" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000) build_path = /obj/item/holosign_creator/atmos category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -370,7 +370,7 @@ desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases." build_type = PROTOLATHE build_path = /obj/item/holosign_creator/medical - materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease) + materials = list(/datum/material/iron = 500, /datum/material/glass = 500, /datum/material/silver = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease) id = "holobarrier_med" category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -384,7 +384,7 @@ desc = "An experimental suit of armour capable of utilizing an implanted anomaly core to protect the user." id = "reactive_armour" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_DIAMOND = 5000, MAT_URANIUM = 8000, MAT_SILVER = 4500, MAT_GOLD = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/diamond = 5000, /datum/material/uranium = 8000, /datum/material/silver = 4500, /datum/material/gold = 5000) build_path = /obj/item/reactive_armour_shell category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -398,7 +398,7 @@ desc = "A robust flashlight used by security." id = "seclite" build_type = PROTOLATHE - materials = list(MAT_METAL = 2500) + materials = list(/datum/material/iron = 2500) build_path = /obj/item/flashlight/seclite category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -408,7 +408,7 @@ desc = "Used to remotely scan objects and biomass for DNA and fingerprints. Can print a report of the findings." id = "detective_scanner" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 2500, MAT_SILVER = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 2500, /datum/material/silver = 2000) build_path = /obj/item/detective_scanner category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -418,7 +418,7 @@ desc = "Manufactured by UhangInc, used to blind and down an opponent quickly. Printed pepper sprays do not contain reagents." id = "pepperspray" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000) build_path = /obj/item/reagent_containers/spray/pepper/empty category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -428,7 +428,7 @@ desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests." id = "bola_energy" build_type = PROTOLATHE - materials = list(MAT_SILVER = 500, MAT_PLASMA = 500, MAT_TITANIUM = 500) + materials = list(/datum/material/silver = 500, /datum/material/plasma = 500, /datum/material/titanium = 500) build_path = /obj/item/restraints/legcuffs/bola/energy category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -438,7 +438,7 @@ desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use." id = "zipties" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 250) + materials = list(/datum/material/plastic = 250) build_path = /obj/item/restraints/handcuffs/cable/zipties category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -448,7 +448,7 @@ desc = "An empty evidence bag." id = "evidencebag" build_type = PROTOLATHE - materials = list(MAT_PLASTIC = 100) + materials = list(/datum/material/plastic = 100) build_path = /obj/item/evidencebag category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SECURITY diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 9def198276c..fdbeab1968f 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -7,7 +7,7 @@ desc = "A basic power cell that holds 1 MJ of energy." id = "basic_cell" build_type = PROTOLATHE | AUTOLATHE |MECHFAB - materials = list(MAT_METAL = 700, MAT_GLASS = 50) + materials = list(/datum/material/iron = 700, /datum/material/glass = 50) construction_time=100 build_path = /obj/item/stock_parts/cell/empty category = list("Misc","Power Designs","Machinery","initial") @@ -18,7 +18,7 @@ desc = "A power cell that holds 10 MJ of energy." id = "high_cell" build_type = PROTOLATHE | AUTOLATHE | MECHFAB - materials = list(MAT_METAL = 700, MAT_GLASS = 60) + materials = list(/datum/material/iron = 700, /datum/material/glass = 60) construction_time=100 build_path = /obj/item/stock_parts/cell/high/empty category = list("Misc","Power Designs") @@ -29,7 +29,7 @@ desc = "A power cell that holds 20 MJ of energy." id = "super_cell" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 700, MAT_GLASS = 70) + materials = list(/datum/material/iron = 700, /datum/material/glass = 70) construction_time=100 build_path = /obj/item/stock_parts/cell/super/empty category = list("Misc","Power Designs") @@ -40,7 +40,7 @@ desc = "A power cell that holds 30 MJ of energy." id = "hyper_cell" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 700, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 80) + materials = list(/datum/material/iron = 700, /datum/material/gold = 150, /datum/material/silver = 150, /datum/material/glass = 80) construction_time=100 build_path = /obj/item/stock_parts/cell/hyper/empty category = list("Misc","Power Designs") @@ -51,7 +51,7 @@ desc = "A power cell that holds 40 MJ of energy." id = "bluespace_cell" build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 800, MAT_GOLD = 120, MAT_GLASS = 160, MAT_DIAMOND = 160, MAT_TITANIUM = 300, MAT_BLUESPACE = 100) + materials = list(/datum/material/iron = 800, /datum/material/gold = 120, /datum/material/glass = 160, /datum/material/diamond = 160, /datum/material/titanium = 300, /datum/material/bluespace = 100) construction_time=100 build_path = /obj/item/stock_parts/cell/bluespace/empty category = list("Misc","Power Designs") @@ -62,7 +62,7 @@ desc = "A device to automatically replace lights. Refill with working light bulbs." id = "light_replacer" build_type = PROTOLATHE - materials = list(MAT_METAL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000) + materials = list(/datum/material/iron = 1500, /datum/material/silver = 150, /datum/material/glass = 3000) build_path = /obj/item/lightreplacer category = list("Power Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_ENGINEERING @@ -72,7 +72,7 @@ desc = "The NT-75 Electromagnetic Power Inducer can wirelessly induce electric charge in an object, allowing you to recharge power cells without having to remove them." id = "inducer" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1000) build_path = /obj/item/inducer/sci category = list("Power Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/smelting_designs.dm b/code/modules/research/designs/smelting_designs.dm index f52bc500498..35f40fb422f 100644 --- a/code/modules/research/designs/smelting_designs.dm +++ b/code/modules/research/designs/smelting_designs.dm @@ -4,7 +4,7 @@ name = "Plasma + Iron alloy" id = "plasteel" build_type = SMELTER | PROTOLATHE - materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT, /datum/material/plasma = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasteel category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -15,7 +15,7 @@ name = "Plasma + Titanium alloy" id = "plastitanium" build_type = SMELTER | PROTOLATHE - materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium = MINERAL_MATERIAL_AMOUNT, /datum/material/plasma = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/mineral/plastitanium category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -25,7 +25,7 @@ name = "Plasma + Glass alloy" id = "plasmaglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasmaglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -35,7 +35,7 @@ name = "Plasma + Metal + Glass alloy" id = "plasmareinforcedglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_METAL = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/iron = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasmarglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -45,7 +45,7 @@ name = "Titanium + Glass alloy" id = "titaniumglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/titanium = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/titaniumglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -55,7 +55,7 @@ name = "Plasma + Titanium + Glass alloy" id = "plastitaniumglass" build_type = SMELTER | PROTOLATHE - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(/datum/material/plasma = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/titanium = MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plastitaniumglass category = list("initial", "Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -66,7 +66,7 @@ desc = "A sheet of reverse-engineered alien alloy." id = "alienalloy" build_type = PROTOLATHE | SMELTER - materials = list(MAT_METAL = 4000, MAT_PLASMA = 4000) + materials = list(/datum/material/iron = 4000, /datum/material/plasma = 4000) build_path = /obj/item/stack/sheet/mineral/abductor category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index ea67fad434c..ce8a46ea879 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -7,7 +7,7 @@ desc = "Special mechanical module made to store, sort, and apply standard machine parts." id = "rped" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 5000) //hardcore + materials = list(/datum/material/iron = 10000, /datum/material/glass = 5000) //hardcore build_path = /obj/item/storage/part_replacer category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -17,7 +17,7 @@ desc = "Powered by bluespace technology, this RPED variant can upgrade buildings from a distance, without needing to remove the panel first." id = "bs_rped" build_type = PROTOLATHE - materials = list(MAT_METAL = 15000, MAT_GLASS = 5000, MAT_SILVER = 2500) //hardcore + materials = list(/datum/material/iron = 15000, /datum/material/glass = 5000, /datum/material/silver = 2500) //hardcore build_path = /obj/item/storage/part_replacer/bluespace category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -28,7 +28,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_capacitor" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 100) + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) build_path = /obj/item/stock_parts/capacitor category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -39,7 +39,7 @@ desc = "A stock part used in the construction of various devices." id = "adv_capacitor" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 150) + materials = list(/datum/material/iron = 150, /datum/material/glass = 150) build_path = /obj/item/stock_parts/capacitor/adv category = list("Stock Parts") lathe_time_factor = 0.2 @@ -50,7 +50,7 @@ desc = "A stock part used in the construction of various devices." id = "super_capacitor" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 100) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/gold = 100) build_path = /obj/item/stock_parts/capacitor/super category = list("Stock Parts") lathe_time_factor = 0.2 @@ -61,7 +61,7 @@ desc = "A stock part used in the construction of various devices." id = "quadratic_capacitor" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 100, MAT_DIAMOND = 100) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/gold = 100, /datum/material/diamond = 100) build_path = /obj/item/stock_parts/capacitor/quadratic category = list("Stock Parts") lathe_time_factor = 0.2 @@ -73,7 +73,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_scanning" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 50) + materials = list(/datum/material/iron = 100, /datum/material/glass = 50) build_path = /obj/item/stock_parts/scanning_module category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -84,7 +84,7 @@ desc = "A stock part used in the construction of various devices." id = "adv_scanning" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 100) + materials = list(/datum/material/iron = 150, /datum/material/glass = 100) build_path = /obj/item/stock_parts/scanning_module/adv category = list("Stock Parts") lathe_time_factor = 0.2 @@ -95,7 +95,7 @@ desc = "A stock part used in the construction of various devices." id = "phasic_scanning" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 150, MAT_SILVER = 60) + materials = list(/datum/material/iron = 200, /datum/material/glass = 150, /datum/material/silver = 60) build_path = /obj/item/stock_parts/scanning_module/phasic category = list("Stock Parts") lathe_time_factor = 0.2 @@ -106,7 +106,7 @@ desc = "A stock part used in the construction of various devices." id = "triphasic_scanning" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_DIAMOND = 30, MAT_BLUESPACE = 30) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/diamond = 30, /datum/material/bluespace = 30) build_path = /obj/item/stock_parts/scanning_module/triphasic category = list("Stock Parts") lathe_time_factor = 0.2 @@ -118,7 +118,7 @@ desc = "A stock part used in the construction of various devices." id = "micro_mani" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100) + materials = list(/datum/material/iron = 100) build_path = /obj/item/stock_parts/manipulator category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -129,7 +129,7 @@ desc = "A stock part used in the construction of various devices." id = "nano_mani" build_type = PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/stock_parts/manipulator/nano category = list("Stock Parts") lathe_time_factor = 0.2 @@ -140,7 +140,7 @@ desc = "A stock part used in the construction of various devices." id = "pico_mani" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/stock_parts/manipulator/pico category = list("Stock Parts") lathe_time_factor = 0.2 @@ -151,7 +151,7 @@ desc = "A stock part used in the construction of various devices." id = "femto_mani" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_DIAMOND = 30, MAT_TITANIUM = 30) + materials = list(/datum/material/iron = 200, /datum/material/diamond = 30, /datum/material/titanium = 30) build_path = /obj/item/stock_parts/manipulator/femto category = list("Stock Parts") lathe_time_factor = 0.2 @@ -163,7 +163,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_micro_laser" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100, MAT_GLASS = 50) + materials = list(/datum/material/iron = 100, /datum/material/glass = 50) build_path = /obj/item/stock_parts/micro_laser category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -174,7 +174,7 @@ desc = "A stock part used in the construction of various devices." id = "high_micro_laser" build_type = PROTOLATHE - materials = list(MAT_METAL = 150, MAT_GLASS = 100) + materials = list(/datum/material/iron = 150, /datum/material/glass = 100) build_path = /obj/item/stock_parts/micro_laser/high category = list("Stock Parts") lathe_time_factor = 0.2 @@ -185,7 +185,7 @@ desc = "A stock part used in the construction of various devices." id = "ultra_micro_laser" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 150, MAT_URANIUM = 60) + materials = list(/datum/material/iron = 200, /datum/material/glass = 150, /datum/material/uranium = 60) build_path = /obj/item/stock_parts/micro_laser/ultra category = list("Stock Parts") lathe_time_factor = 0.2 @@ -196,7 +196,7 @@ desc = "A stock part used in the construction of various devices." id = "quadultra_micro_laser" build_type = PROTOLATHE - materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_URANIUM = 100, MAT_DIAMOND = 60) + materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/uranium = 100, /datum/material/diamond = 60) build_path = /obj/item/stock_parts/micro_laser/quadultra category = list("Stock Parts") lathe_time_factor = 0.2 @@ -207,7 +207,7 @@ desc = "A stock part used in the construction of various devices." id = "basic_matter_bin" build_type = PROTOLATHE | AUTOLATHE - materials = list(MAT_METAL = 100) + materials = list(/datum/material/iron = 100) build_path = /obj/item/stock_parts/matter_bin category = list("Stock Parts","Machinery","initial") lathe_time_factor = 0.2 @@ -218,7 +218,7 @@ desc = "A stock part used in the construction of various devices." id = "adv_matter_bin" build_type = PROTOLATHE - materials = list(MAT_METAL = 150) + materials = list(/datum/material/iron = 150) build_path = /obj/item/stock_parts/matter_bin/adv category = list("Stock Parts") lathe_time_factor = 0.2 @@ -229,7 +229,7 @@ desc = "A stock part used in the construction of various devices." id = "super_matter_bin" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/stock_parts/matter_bin/super category = list("Stock Parts") lathe_time_factor = 0.2 @@ -240,7 +240,7 @@ desc = "A stock part used in the construction of various devices." id = "bluespace_matter_bin" build_type = PROTOLATHE - materials = list(MAT_METAL = 250, MAT_DIAMOND = 100, MAT_BLUESPACE = 100) + materials = list(/datum/material/iron = 250, /datum/material/diamond = 100, /datum/material/bluespace = 100) build_path = /obj/item/stock_parts/matter_bin/bluespace category = list("Stock Parts") lathe_time_factor = 0.2 @@ -252,7 +252,7 @@ desc = "A compact module capable of sensing extradimensional activity." id = "s-ansible" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_SILVER = 100) + materials = list(/datum/material/iron = 100, /datum/material/silver = 100) build_path = /obj/item/stock_parts/subspace/ansible category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -262,7 +262,7 @@ desc = "A tiny device capable of filtering and converting super-intense radiowaves." id = "s-filter" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_SILVER = 100) + materials = list(/datum/material/iron = 100, /datum/material/silver = 100) build_path = /obj/item/stock_parts/subspace/filter category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -272,7 +272,7 @@ desc = "A compact micro-machine capable of amplifying weak subspace transmissions." id = "s-amplifier" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_GOLD = 100, MAT_URANIUM = 100) + materials = list(/datum/material/iron = 100, /datum/material/gold = 100, /datum/material/uranium = 100) build_path = /obj/item/stock_parts/subspace/amplifier category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -282,7 +282,7 @@ desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." id = "s-treatment" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_SILVER = 200) + materials = list(/datum/material/iron = 100, /datum/material/silver = 200) build_path = /obj/item/stock_parts/subspace/treatment category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -292,7 +292,7 @@ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-analyzer" build_type = PROTOLATHE - materials = list(MAT_METAL = 100, MAT_GOLD = 100) + materials = list(/datum/material/iron = 100, /datum/material/gold = 100) build_path = /obj/item/stock_parts/subspace/analyzer category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -302,7 +302,7 @@ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-crystal" build_type = PROTOLATHE - materials = list(MAT_GLASS = 800, MAT_SILVER = 100, MAT_GOLD = 100) + materials = list(/datum/material/glass = 800, /datum/material/silver = 100, /datum/material/gold = 100) build_path = /obj/item/stock_parts/subspace/crystal category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE @@ -312,7 +312,7 @@ desc = "A large piece of equipment used to open a window into the subspace dimension." id = "s-transmitter" build_type = PROTOLATHE - materials = list(MAT_GLASS = 100, MAT_SILVER = 100, MAT_URANIUM = 100) + materials = list(/datum/material/glass = 100, /datum/material/silver = 100, /datum/material/uranium = 100) build_path = /obj/item/stock_parts/subspace/transmitter category = list("Stock Parts") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm index e381e5458bd..0dc8972f9d8 100644 --- a/code/modules/research/designs/tool_designs.dm +++ b/code/modules/research/designs/tool_designs.dm @@ -8,7 +8,7 @@ desc = "A small electric hand drill with an interchangeable screwdriver and bolt bit" id = "handdrill" build_type = PROTOLATHE - materials = list(MAT_METAL = 3500, MAT_SILVER = 1500, MAT_TITANIUM = 2500) + materials = list(/datum/material/iron = 3500, /datum/material/silver = 1500, /datum/material/titanium = 2500) build_path = /obj/item/screwdriver/power category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -19,7 +19,7 @@ id = "jawsoflife" // added one more requirment since the Jaws of Life are a bit OP build_path = /obj/item/crowbar/power build_type = PROTOLATHE - materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500) + materials = list(/datum/material/iron = 4500, /datum/material/silver = 2500, /datum/material/titanium = 3500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -28,7 +28,7 @@ desc = "An experimental welder capable of self-fuel generation." id = "exwelder" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_PLASMA = 1500, MAT_URANIUM = 200) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/plasma = 1500, /datum/material/uranium = 200) build_path = /obj/item/weldingtool/experimental category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING @@ -38,7 +38,7 @@ desc = "Adds the computer frame and machine frame to the RCD." id = "rcd_upgrade" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 2500, /datum/material/silver = 1500, /datum/material/titanium = 2000) build_path = /obj/item/rcd_upgrade category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -53,7 +53,7 @@ id = "alien_wrench" build_path = /obj/item/wrench/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -63,7 +63,7 @@ id = "alien_wirecutters" build_path = /obj/item/wirecutters/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -73,7 +73,7 @@ id = "alien_screwdriver" build_path = /obj/item/screwdriver/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -83,7 +83,7 @@ id = "alien_crowbar" build_path = /obj/item/crowbar/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -93,7 +93,7 @@ id = "alien_welder" build_path = /obj/item/weldingtool/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 5000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -103,7 +103,7 @@ id = "alien_multitool" build_path = /obj/item/multitool/abductor build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000) + materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 5000, /datum/material/titanium = 2000, /datum/material/diamond = 2000) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING @@ -117,7 +117,7 @@ id = "alien_scalpel" build_path = /obj/item/scalpel/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -127,7 +127,7 @@ id = "alien_hemostat" build_path = /obj/item/hemostat/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -137,7 +137,7 @@ id = "alien_retractor" build_path = /obj/item/retractor/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -147,7 +147,7 @@ id = "alien_saw" build_path = /obj/item/circular_saw/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 10000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -157,7 +157,7 @@ id = "alien_drill" build_path = /obj/item/surgicaldrill/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 10000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -167,6 +167,6 @@ id = "alien_cautery" build_path = /obj/item/cautery/alien build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 1500, /datum/material/plasma = 500, /datum/material/titanium = 1500) category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 11787dab202..9e55253c24d 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -13,7 +13,7 @@ desc = "Designed to quickly reload revolvers. TRAC bullets embed a tracking implant within the target's body." id = "c38_trac" build_type = PROTOLATHE - materials = list(MAT_METAL = 20000, MAT_SILVER = 5000, MAT_GOLD = 1000) + materials = list(/datum/material/iron = 20000, /datum/material/silver = 5000, /datum/material/gold = 1000) build_path = /obj/item/ammo_box/c38/trac category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -23,7 +23,7 @@ desc = "Designed to quickly reload revolvers. Hot Shot bullets contain an incendiary payload." id = "c38_hotshot" build_type = PROTOLATHE - materials = list(MAT_METAL = 20000, MAT_PLASMA = 5000) + materials = list(/datum/material/iron = 20000, /datum/material/plasma = 5000) build_path = /obj/item/ammo_box/c38/hotshot category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -33,7 +33,7 @@ desc = "Designed to quickly reload revolvers. Iceblox bullets contain a cryogenic payload." id = "c38_iceblox" build_type = PROTOLATHE - materials = list(MAT_METAL = 20000, MAT_PLASMA = 5000) + materials = list(/datum/material/iron = 20000, /datum/material/plasma = 5000) build_path = /obj/item/ammo_box/c38/iceblox category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -79,7 +79,7 @@ desc = "This safety firing pin allows firearms to be operated within proximity to a firing range." id = "pin_testing" build_type = PROTOLATHE - materials = list(MAT_METAL = 500, MAT_GLASS = 300) + materials = list(/datum/material/iron = 500, /datum/material/glass = 300) build_path = /obj/item/firing_pin/test_range category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -89,7 +89,7 @@ desc = "This is a security firing pin which only authorizes users who are mindshield-implanted." id = "pin_loyalty" build_type = PROTOLATHE - materials = list(MAT_SILVER = 600, MAT_DIAMOND = 600, MAT_URANIUM = 200) + materials = list(/datum/material/silver = 600, /datum/material/diamond = 600, /datum/material/uranium = 200) build_path = /obj/item/firing_pin/implant/mindshield category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -99,7 +99,7 @@ desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers." id = "stunrevolver" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 10000, MAT_SILVER = 10000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 10000, /datum/material/silver = 10000) build_path = /obj/item/gun/energy/tesla_revolver category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -109,7 +109,7 @@ desc = "An energy gun with an experimental miniaturized reactor." id = "nuclear_gun" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 3000, MAT_TITANIUM = 1000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 2000, /datum/material/uranium = 3000, /datum/material/titanium = 1000) build_path = /obj/item/gun/energy/e_gun/nuclear category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -119,7 +119,7 @@ desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." id = "tele_shield" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000, MAT_GLASS = 4000, MAT_SILVER = 300, MAT_TITANIUM = 200) + materials = list(/datum/material/iron = 4000, /datum/material/glass = 4000, /datum/material/silver = 300, /datum/material/titanium = 200) build_path = /obj/item/shield/riot/tele category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -129,7 +129,7 @@ desc = "A powerful long ranged anti-material rifle that fires charged particle beams to obliterate targets." id = "beamrifle" build_type = PROTOLATHE - materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_DIAMOND = 5000, MAT_URANIUM = 8000, MAT_SILVER = 4500, MAT_GOLD = 5000) + materials = list(/datum/material/iron = 10000, /datum/material/glass = 5000, /datum/material/diamond = 5000, /datum/material/uranium = 8000, /datum/material/silver = 4500, /datum/material/gold = 5000) build_path = /obj/item/gun/energy/beam_rifle category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -139,7 +139,7 @@ desc = "Your opponent will bubble into a messy pile of goop." id = "decloner" build_type = PROTOLATHE - materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000) + materials = list(/datum/material/gold = 5000,/datum/material/uranium = 10000) reagents_list = list(/datum/reagent/toxin/mutagen = 40) build_path = /obj/item/gun/energy/decloner category = list("Weapons") @@ -150,7 +150,7 @@ desc = "A gun that fires many syringes." id = "rapidsyringe" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000) build_path = /obj/item/gun/syringe/rapidsyringe category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL //uwu @@ -160,7 +160,7 @@ desc = "A gun that shoots temperature bullet energythings to change temperature."//Change it if you want id = "temp_gun" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 500, /datum/material/silver = 3000) build_path = /obj/item/gun/energy/temperature category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -170,7 +170,7 @@ desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life." id = "flora_gun" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 2000, /datum/material/glass = 500) reagents_list = list(/datum/reagent/uranium/radium = 20) build_path = /obj/item/gun/energy/floragun category = list("Weapons") @@ -181,7 +181,7 @@ desc = "A grenade that affects a larger area and use larger containers." id = "large_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000) + materials = list(/datum/material/iron = 3000) build_path = /obj/item/grenade/chem_grenade/large category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -191,7 +191,7 @@ desc = "An advanced grenade that is able to self ignite its mixture." id = "pyro_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_PLASMA = 500) + materials = list(/datum/material/iron = 2000, /datum/material/plasma = 500) build_path = /obj/item/grenade/chem_grenade/pyro category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -201,7 +201,7 @@ desc = "An advanced grenade that rapidly cools its contents upon detonation." id = "cryo_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 500) build_path = /obj/item/grenade/chem_grenade/cryo category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -211,7 +211,7 @@ desc = "An advanced grenade that can be detonated several times, best used with a repeating igniter." id = "adv_Grenade" build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 500) build_path = /obj/item/grenade/chem_grenade/adv_release category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL @@ -221,7 +221,7 @@ desc = "Not quite as menacing as it sounds" id = "xray_laser" build_type = PROTOLATHE - materials = list(MAT_GOLD = 5000, MAT_URANIUM = 4000, MAT_METAL = 5000, MAT_TITANIUM = 2000, MAT_BLUESPACE = 2000) + materials = list(/datum/material/gold = 5000, /datum/material/uranium = 4000, /datum/material/iron = 5000, /datum/material/titanium = 2000, /datum/material/bluespace = 2000) build_path = /obj/item/gun/energy/xray category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -231,7 +231,7 @@ desc = "How to dismantle a cyborg : The gun." id = "ioncarbine" build_type = PROTOLATHE - materials = list(MAT_SILVER = 6000, MAT_METAL = 8000, MAT_URANIUM = 2000) + materials = list(/datum/material/silver = 6000, /datum/material/iron = 8000, /datum/material/uranium = 2000) build_path = /obj/item/gun/energy/ionrifle/carbine category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -241,7 +241,7 @@ desc = "A projector that emits high density quantum-coupled bluespace beams." id = "wormholeprojector" build_type = PROTOLATHE - materials = list(MAT_SILVER = 2000, MAT_METAL = 5000, MAT_DIAMOND = 2000, MAT_BLUESPACE = 3000) + materials = list(/datum/material/silver = 2000, /datum/material/iron = 5000, /datum/material/diamond = 2000, /datum/material/bluespace = 3000) build_path = /obj/item/gun/energy/wormhole_projector category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -253,7 +253,7 @@ desc = "A 20 round magazine for the out of date security WT-550 Auto Rifle" id = "mag_oldsmg" build_type = PROTOLATHE - materials = list(MAT_METAL = 4000) + materials = list(/datum/material/iron = 4000) build_path = /obj/item/ammo_box/magazine/wt550m9 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -262,7 +262,7 @@ name = "WT-550 Auto Gun Armour Piercing Magazine (4.6x30mm AP)" desc = "A 20 round armour piercing magazine for the out of date security WT-550 Auto Rifle" id = "mag_oldsmg_ap" - materials = list(MAT_METAL = 6000, MAT_SILVER = 600) + materials = list(/datum/material/iron = 6000, /datum/material/silver = 600) build_path = /obj/item/ammo_box/magazine/wt550m9/wtap departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -270,7 +270,7 @@ name = "WT-550 Auto Gun Incendiary Magazine (4.6x30mm IC)" desc = "A 20 round armour piercing magazine for the out of date security WT-550 Auto Rifle" id = "mag_oldsmg_ic" - materials = list(MAT_METAL = 6000, MAT_SILVER = 600, MAT_GLASS = 1000) + materials = list(/datum/material/iron = 6000, /datum/material/silver = 600, /datum/material/glass = 1000) build_path = /obj/item/ammo_box/magazine/wt550m9/wtic departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -279,7 +279,7 @@ desc = "A stunning shell for a shotgun." id = "stunshell" build_type = PROTOLATHE - materials = list(MAT_METAL = 200) + materials = list(/datum/material/iron = 200) build_path = /obj/item/ammo_casing/shotgun/stunslug category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -289,7 +289,7 @@ desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects." id = "techshotshell" build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 200) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 200) build_path = /obj/item/ammo_casing/shotgun/techshell category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE @@ -299,7 +299,7 @@ desc = "A reverse-engineered suppressor that fits on most small arms with threaded barrels." id = "suppressor" build_type = PROTOLATHE - materials = list(MAT_METAL = 2000, MAT_SILVER = 500) + materials = list(/datum/material/iron = 2000, /datum/material/silver = 500) build_path = /obj/item/suppressor category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -309,7 +309,7 @@ desc = "A multi-mode device that blasts one-point bluespace-gravitational bolts that locally distort gravity." id = "gravitygun" build_type = PROTOLATHE - materials = list(MAT_SILVER = 8000, MAT_URANIUM = 8000, MAT_GLASS = 12000, MAT_METAL = 12000, MAT_DIAMOND = 3000, MAT_BLUESPACE = 3000) + materials = list(/datum/material/silver = 8000, /datum/material/uranium = 8000, /datum/material/glass = 12000, /datum/material/iron = 12000, /datum/material/diamond = 3000, /datum/material/bluespace = 3000) build_path = /obj/item/gun/energy/gravity_gun category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -319,7 +319,7 @@ desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters." id = "largecrossbow" build_type = PROTOLATHE - materials = list(MAT_METAL = 5000, MAT_GLASS = 1500, MAT_URANIUM = 1500, MAT_SILVER = 1500) + materials = list(/datum/material/iron = 5000, /datum/material/glass = 1500, /datum/material/uranium = 1500, /datum/material/silver = 1500) build_path = /obj/item/gun/energy/kinetic_accelerator/crossbow/large category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -329,7 +329,7 @@ desc = "A shotgun dart designed with similar internals to that of a cryostasis beaker, allowing reagents to not react when inside." id = "shotgundartcryostasis" build_type = PROTOLATHE - materials = list(MAT_METAL = 3500) + materials = list(/datum/material/iron = 3500) build_path = /obj/item/ammo_casing/shotgun/dart/noreact category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index ac76e8b9fea..3f6eb278e28 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -63,7 +63,7 @@ Note: Must be placed within 3 tiles of the R&D Console if(storage) //Also sends salvaged materials to a linked protolathe, if any. for(var/material in thing.materials) var/can_insert = min((storage.max_amount - storage.total_amount), (max(thing.materials[material]*(decon_mod/10), thing.materials[material]))) - storage.insert_amount(can_insert, material) + storage.insert_amount_mat(can_insert, material) . += can_insert if (.) linked_console.linked_lathe.materials.silo_log(src, "reclaimed", 1, "[thing.name]", thing.materials) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 9beff5ae6da..989d542f37b 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -441,7 +441,7 @@ if(linked_console.linked_lathe) var/datum/component/material_container/linked_materials = linked_console.linked_lathe.GetComponent(/datum/component/material_container) for(var/material in exp_on.materials) - linked_materials.insert_amount( min((linked_materials.max_amount - linked_materials.total_amount), (exp_on.materials[material])), material) + linked_materials.insert_amount_mat( min((linked_materials.max_amount - linked_materials.total_amount), (exp_on.materials[material])), material) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 7d01b4da50c..b201ec76397 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -91,19 +91,19 @@ I.materials = matlist.Copy() SSblackbox.record_feedback("nested tally", "item_printed", amount, list("[type]", "[path]")) -/obj/machinery/rnd/production/proc/check_mat(datum/design/being_built, M) // now returns how many times the item can be built with the material +/obj/machinery/rnd/production/proc/check_mat(datum/design/being_built, var/mat) // now returns how many times the item can be built with the material if (!materials.mat_container) // no connected silo return 0 var/list/all_materials = being_built.reagents_list + being_built.materials - var/A = materials.mat_container.amount(M) + var/A = materials.mat_container.get_material_amount(mat) if(!A) - A = reagents.get_reagent_amount(M) + A = reagents.get_reagent_amount(mat) // these types don't have their .materials set in do_print, so don't allow // them to be constructed efficiently var/ef = efficient_with(being_built.build_path) ? efficiency_coeff : 1 - return round(A / max(1, all_materials[M] / ef)) + return round(A / max(1, all_materials[mat] / ef)) /obj/machinery/rnd/production/proc/efficient_with(path) return !ispath(path, /obj/item/stack/sheet) && !ispath(path, /obj/item/stack/ore/bluespace_crystal) @@ -147,7 +147,7 @@ if(!reagents.has_reagent(R, D.reagents_list[R]*amount/coeff)) say("Not enough reagents to complete prototype[amount > 1? "s" : ""].") return FALSE - materials.mat_container.use_amount(efficient_mats, amount) + materials.mat_container.use_materials(efficient_mats, amount) materials.silo_log(src, "built", -amount, "[D.name]", efficient_mats) for(var/R in D.reagents_list) reagents.remove_reagent(R, D.reagents_list[R]*amount/coeff) @@ -208,11 +208,13 @@ var/list/l = list() l += "

Material Storage:

" for(var/mat_id in materials.mat_container.materials) - var/datum/material/M = materials.mat_container.materials[mat_id] - l += "* [M.amount] of [M.name]: " - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" + var/datum/material/M = mat_id + var/amount = materials.mat_container.materials[mat_id] + var/ref = REF(M) + l += "* [amount] of [M.name]: " + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" l += "" l += "
[RDSCREEN_NOBREAK]" return l @@ -300,7 +302,8 @@ if(ls["disposeall"]) //Causes the protolathe to dispose of all it's reagents. reagents.clear_reagents() if(ls["ejectsheet"]) //Causes the protolathe to eject a sheet of material - eject_sheets(ls["ejectsheet"], ls["eject_amt"]) + var/datum/material/M = locate(ls["ejectsheet"]) + eject_sheets(M, ls["eject_amt"]) updateUsrDialog() /obj/machinery/rnd/production/proc/eject_sheets(eject_sheet, eject_amt) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 3f6994f044f..d2cb2f9a5cd 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -52,8 +52,8 @@ Nothing else in the console has ID requirements. research_control = FALSE /proc/CallMaterialName(ID) - if (copytext(ID, 1, 2) == "$" && GLOB.materials_list[ID]) - var/datum/material/material = GLOB.materials_list[ID] + if (istype(ID, /datum/material)) + var/datum/material/material = ID return material.name else if(GLOB.chemical_reagents_list[ID]) @@ -383,11 +383,12 @@ Nothing else in the console has ID requirements. l += ui_protolathe_header() l += "

Material Storage:

" for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - l += "* [M.amount] of [M.name]: " - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" + var/datum/material/M = mat_id + var/amount = mat_container.materials[mat_id] + l += "* [amount] of [M.name]: " + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" l += "" l += "
[RDSCREEN_NOBREAK]" return l @@ -516,11 +517,12 @@ Nothing else in the console has ID requirements. l += ui_circuit_header() l += "

Material Storage:

" for(var/mat_id in mat_container.materials) - var/datum/material/M = mat_container.materials[mat_id] - l += "* [M.amount] of [M.name]: " - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" - if(M.amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]
" + var/datum/material/M = mat_id + var/amount = mat_container.materials[mat_id] + l += "* [amount] of [M.name]: " + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "Eject [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT*5) l += "5x [RDSCREEN_NOBREAK]" + if(amount >= MINERAL_MATERIAL_AMOUNT) l += "All[RDSCREEN_NOBREAK]" return l /obj/machinery/computer/rdconsole/proc/ui_techdisk() //Legacy code @@ -1020,7 +1022,7 @@ Nothing else in the console has ID requirements. D.category -= "Imported" else for(var/x in D.materials) - if( !(x in list(MAT_METAL, MAT_GLASS))) + if( !(x in list(/datum/material/iron, /datum/material/glass))) autolathe_friendly = FALSE D.category -= "Imported" diff --git a/code/modules/research/research_disk.dm b/code/modules/research/research_disk.dm index 268e6a1be99..7c7d0af8b79 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(MAT_METAL=300, MAT_GLASS=100) + materials = list(/datum/material/iron=300, /datum/material/glass=100) var/datum/techweb/stored_research /obj/item/disk/tech_disk/Initialize() diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index 6cb59637994..26588f6450a 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(MAT_METAL=50, MAT_GLASS=50) + 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(MAT_METAL=50, MAT_GLASS=20) + 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(MAT_METAL=30) + 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(MAT_METAL=10, MAT_GLASS=20) + 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(MAT_METAL=80) + 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(MAT_METAL=50, MAT_GLASS=50) + 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(MAT_METAL=50, MAT_GLASS=20) + 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(MAT_METAL=30) + 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(MAT_METAL=10, MAT_GLASS=20) + 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(MAT_METAL=80) + 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(MAT_METAL=50, MAT_GLASS=50) + 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(MAT_METAL=50, MAT_GLASS=20) + 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(MAT_METAL=30) + 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(MAT_METAL=10, MAT_GLASS=20) + 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(MAT_METAL=80) + 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(MAT_METAL=50, MAT_GLASS=50) + 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(MAT_METAL=50, MAT_GLASS=20) + 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(MAT_METAL=30) + 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(MAT_METAL=10, MAT_GLASS=20) + 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(MAT_METAL=80) + 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(MAT_METAL=30, MAT_GLASS=10) + 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(MAT_METAL=30, MAT_GLASS=10) + 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(MAT_METAL=30, MAT_GLASS=10) + 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(MAT_METAL=30, MAT_GLASS=10) + 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(MAT_METAL=30, MAT_GLASS=10) + 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(MAT_GLASS=50) + 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(MAT_METAL=50) + 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 84082b0b5ba..473c877d796 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -980,7 +980,7 @@ icon_state = "tile-bluespace" w_class = WEIGHT_CLASS_NORMAL force = 6 - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) throwforce = 10 throw_speed = 3 throw_range = 7 @@ -996,7 +996,7 @@ icon_state = "tile-sepia" w_class = WEIGHT_CLASS_NORMAL force = 6 - materials = list(MAT_METAL=500) + materials = list(/datum/material/iron=500) throwforce = 10 throw_speed = 0.1 throw_range = 28 diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index b4aa70b0f3f..777739f3422 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -34,7 +34,7 @@ desc = "Allows for the construction of a Golem Shell." id = "golem" build_type = AUTOLATHE - materials = list(MAT_METAL = 40000) + materials = list(/datum/material/iron = 40000) build_path = /obj/item/golem_shell category = list("Imported") diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 7a40a5c1588..a36e895d8fa 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -131,14 +131,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(MAT_METAL=300, MAT_GLASS=100) + 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(MAT_METAL=300, MAT_GLASS=100) + 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 91de8ccf5e1..62fea926f0c 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -3,7 +3,7 @@ desc = "Retracts stuff." icon = 'icons/obj/surgery.dmi' icon_state = "retractor" - materials = list(MAT_METAL=6000, MAT_GLASS=3000) + materials = list(/datum/material/iron=6000, /datum/material/glass=3000) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL w_class = WEIGHT_CLASS_TINY @@ -14,7 +14,7 @@ desc = "Micro-mechanical manipulator for retracting stuff." icon = 'icons/obj/surgery.dmi' icon_state = "retractor" - materials = list(MAT_METAL=6000, MAT_GLASS=3000) + materials = list(/datum/material/iron=6000, /datum/material/glass=3000) w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 @@ -24,7 +24,7 @@ desc = "You think you have seen this before." icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" - materials = list(MAT_METAL=5000, MAT_GLASS=2500) + materials = list(/datum/material/iron=5000, /datum/material/glass=2500) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL w_class = WEIGHT_CLASS_TINY @@ -36,7 +36,7 @@ desc = "Tiny servos power a pair of pincers to stop bleeding." icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" - materials = list(MAT_METAL=5000, MAT_GLASS=2500) + materials = list(/datum/material/iron=5000, /datum/material/glass=2500) w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 attack_verb = list("attacked", "pinched") @@ -47,7 +47,7 @@ desc = "This stops bleeding." icon = 'icons/obj/surgery.dmi' icon_state = "cautery" - materials = list(MAT_METAL=2500, MAT_GLASS=750) + materials = list(/datum/material/iron=2500, /datum/material/glass=750) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL w_class = WEIGHT_CLASS_TINY @@ -59,7 +59,7 @@ desc = "A heated element that cauterizes wounds." icon = 'icons/obj/surgery.dmi' icon_state = "cautery" - materials = list(MAT_METAL=2500, MAT_GLASS=750) + materials = list(/datum/material/iron=2500, /datum/material/glass=750) w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 attack_verb = list("burnt") @@ -73,7 +73,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(MAT_METAL=10000, MAT_GLASS=6000) + materials = list(/datum/material/iron=10000, /datum/material/glass=6000) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL force = 15 @@ -87,7 +87,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + materials = list(/datum/material/iron=10000, /datum/material/glass=6000) force = 10 w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 @@ -109,7 +109,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=4000, MAT_GLASS=1000) + 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 @@ -128,7 +128,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - materials = list(MAT_METAL=4000, MAT_GLASS=1000) + 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' @@ -155,7 +155,7 @@ throwforce = 9 throw_speed = 2 throw_range = 5 - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + materials = list(/datum/material/iron=10000, /datum/material/glass=6000) attack_verb = list("attacked", "slashed", "sawed", "cut") sharpness = IS_SHARP @@ -175,7 +175,7 @@ throwforce = 9 throw_speed = 2 throw_range = 5 - materials = list(MAT_METAL=10000, MAT_GLASS=6000) + 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/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi index 39094263756..4cee2d7d43a 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 533f0a591cc..8f1755669fc 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 ffed5bfbb7a..28dceb37651 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 6c953189ffe..4dd91d01001 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -59,6 +59,7 @@ #include "code\__DEFINES\logging.dm" #include "code\__DEFINES\machines.dm" #include "code\__DEFINES\maps.dm" +#include "code\__DEFINES\materials.dm" #include "code\__DEFINES\maths.dm" #include "code\__DEFINES\MC.dm" #include "code\__DEFINES\medal.dm" @@ -247,6 +248,7 @@ #include "code\controllers\subsystem\lighting.dm" #include "code\controllers\subsystem\machines.dm" #include "code\controllers\subsystem\mapping.dm" +#include "code\controllers\subsystem\materials.dm" #include "code\controllers\subsystem\medals.dm" #include "code\controllers\subsystem\minor_mapping.dm" #include "code\controllers\subsystem\mobs.dm" @@ -356,6 +358,7 @@ #include "code\datums\components\earprotection.dm" #include "code\datums\components\edit_complainer.dm" #include "code\datums\components\empprotection.dm" +#include "code\datums\components\explodable.dm" #include "code\datums\components\footstep.dm" #include "code\datums\components\forced_gravity.dm" #include "code\datums\components\forensics.dm" @@ -477,6 +480,7 @@ #include "code\datums\elements\_element.dm" #include "code\datums\elements\cleaning.dm" #include "code\datums\elements\earhealing.dm" +#include "code\datums\elements\firestacker.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -493,6 +497,8 @@ #include "code\datums\martial\psychotic_brawl.dm" #include "code\datums\martial\sleeping_carp.dm" #include "code\datums\martial\wrestling.dm" +#include "code\datums\materials\_material.dm" +#include "code\datums\materials\basemats.dm" #include "code\datums\mood_events\drink_events.dm" #include "code\datums\mood_events\drug_events.dm" #include "code\datums\mood_events\generic_negative_events.dm"