diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 1740402e627..2c285a348fa 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -75,8 +75,8 @@
return !player_mind || !player_mind.current || !player_mind.current.client || player_mind.current.client.is_afk()
///Return an object with a new maptext (not currently in use)
-/proc/screen_text(obj/object_to_change, maptext = "", screen_loc = "CENTER-7,CENTER-7", maptext_height = 480, maptext_width = 480)
- if(!isobj(object_to_change))
+/proc/screen_text(atom/movable/object_to_change, maptext = "", screen_loc = "CENTER-7,CENTER-7", maptext_height = 480, maptext_width = 480)
+ if(!istype(object_to_change))
object_to_change = new /atom/movable/screen/text()
object_to_change.maptext = MAPTEXT(maptext)
object_to_change.maptext_height = maptext_height
diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm
index d037d48d854..8cfe55398a1 100644
--- a/code/controllers/subsystem/dynamic/dynamic.dm
+++ b/code/controllers/subsystem/dynamic/dynamic.dm
@@ -569,7 +569,7 @@ SUBSYSTEM_DEF(dynamic)
/datum/controller/subsystem/dynamic/proc/post_setup(report)
for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules)
rule.candidates.Cut() // The rule should not use candidates at this point as they all are null.
- addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/controller/subsystem/dynamic/, execute_roundstart_rule), rule), rule.delay)
+ addtimer(CALLBACK(src, PROC_REF(execute_roundstart_rule), rule), rule.delay)
if (!CONFIG_GET(flag/no_intercept_report))
addtimer(CALLBACK(src, PROC_REF(send_intercept)), rand(waittime_l, waittime_h))
diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm
index db397d51474..3ae9cfab0c5 100644
--- a/code/controllers/subsystem/ipintel.dm
+++ b/code/controllers/subsystem/ipintel.dm
@@ -8,7 +8,7 @@ SUBSYSTEM_DEF(ipintel)
/// Cache for previously queried IP addresses and those stored in the database
var/list/datum/ip_intel/cached_queries = list()
/// The store for rate limiting
- var/list/rate_limit_minute
+ var/rate_limit_minute
/// The ip intel for a given address
/datum/ip_intel
diff --git a/code/controllers/subsystem/pathfinder.dm b/code/controllers/subsystem/pathfinder.dm
index 70dc152b06d..17ee754718e 100644
--- a/code/controllers/subsystem/pathfinder.dm
+++ b/code/controllers/subsystem/pathfinder.dm
@@ -82,7 +82,7 @@ SUBSYSTEM_DEF(pathfinder)
// Otherwise we're gonna make a new one, and turn it into a path for the callbacks passed into us
var/list/datum/callback/pass_in = list()
- pass_in += CALLBACK(GLOBAL_PROC, /proc/path_map_passalong, on_finish, get_turf(caller), mintargetdist, skip_first)
+ pass_in += CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(path_map_passalong), on_finish, get_turf(caller), mintargetdist, skip_first)
// And to allow subsequent calls to reuse the same map, we'll put a placeholder in the cache, and fill it up when the pathing finishes
var/datum/path_map/empty = new()
empty.pass_info = new(caller, access)
diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm
index 7bb83fa133d..9979a1a7312 100644
--- a/code/controllers/subsystem/research.dm
+++ b/code/controllers/subsystem/research.dm
@@ -171,7 +171,7 @@ SUBSYSTEM_DEF(research)
/datum/controller/subsystem/research/proc/initialize_all_techweb_designs(clearall = FALSE)
if(islist(techweb_designs) && clearall)
- item_to_design = null
+ item_to_design = list()
QDEL_LIST(techweb_designs)
var/list/returned = list()
for(var/path in subtypesof(/datum/design))
diff --git a/code/controllers/subsystem/spatial_gridmap.dm b/code/controllers/subsystem/spatial_gridmap.dm
index 65bcb0ec365..d906de2dc7b 100644
--- a/code/controllers/subsystem/spatial_gridmap.dm
+++ b/code/controllers/subsystem/spatial_gridmap.dm
@@ -45,9 +45,9 @@
atmos_contents = dummy_list
/datum/spatial_grid_cell/Destroy(force)
- if(force)//the response to someone trying to qdel this is a right proper fuck you
+ if(!force)//the response to someone trying to qdel this is a right proper fuck you
stack_trace("dont try to destroy spatial grid cells without a good reason. if you need to do it use force")
- return
+ return QDEL_HINT_LETMELIVE
. = ..()
diff --git a/code/controllers/subsystem/tgui.dm b/code/controllers/subsystem/tgui.dm
index cd03e1f3e52..fe091080782 100644
--- a/code/controllers/subsystem/tgui.dm
+++ b/code/controllers/subsystem/tgui.dm
@@ -62,7 +62,7 @@ SUBSYSTEM_DEF(tgui)
* Returns null if pool was exhausted.
*
* required user mob
- * return datum/tgui
+ * return datum/tgui_window
*/
/datum/controller/subsystem/tgui/proc/request_pooled_window(mob/user)
if(!user.client)
diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm
index 62e2246bfd8..f168a3eba35 100644
--- a/code/datums/components/infective.dm
+++ b/code/datums/components/infective.dm
@@ -13,7 +13,7 @@
return COMPONENT_INCOMPATIBLE
if(!islist(diseases))
- diseases = islist(diseases)
+ diseases = list(diseases)
///Make sure the diseases list is populated with instances of diseases so that it doesn't have to be for each AddComponent call.
for(var/datum/disease/disease as anything in diseases)
diff --git a/code/datums/components/manual_breathing.dm b/code/datums/components/manual_breathing.dm
index 8e5f096766a..c8b1af483d0 100644
--- a/code/datums/components/manual_breathing.dm
+++ b/code/datums/components/manual_breathing.dm
@@ -71,7 +71,7 @@
/datum/component/manual_breathing/proc/check_added_organ(mob/who_cares, obj/item/organ/O)
SIGNAL_HANDLER
- var/obj/item/organ/eyes/new_lungs = O
+ var/obj/item/organ/lungs/new_lungs = O
if(istype(new_lungs,/obj/item/organ/lungs))
L = new_lungs
diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm
index 20660ede6f5..38e1c81b741 100644
--- a/code/datums/outfit.dm
+++ b/code/datums/outfit.dm
@@ -98,7 +98,7 @@
/**
* extra types for chameleon outfit changes, mostly guns
*
- * Format of this list is (typepath, typepath, typepath)
+ * Valid values are a single typepath or list of typepaths
*
* These are all added and returns in the list for get_chamelon_diguise_info proc
*/
diff --git a/code/datums/status_effects/agent_pinpointer.dm b/code/datums/status_effects/agent_pinpointer.dm
index 4df9d1733f0..653b04f6261 100644
--- a/code/datums/status_effects/agent_pinpointer.dm
+++ b/code/datums/status_effects/agent_pinpointer.dm
@@ -22,7 +22,7 @@
///The range until you're considered 'too far away'
var/range_far = 16
///The target we are pointing towards, refreshes every tick.
- var/mob/scan_target
+ var/atom/movable/scan_target
/datum/status_effect/agent_pinpointer/tick(seconds_between_ticks)
if(!owner)
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index abbfb055e16..9acdaf69528 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -142,7 +142,7 @@
playsound(src, 'sound/machines/terminal/terminal_alert.ogg', 50, FALSE)
return TRUE
-/obj/machinery/computer/communications/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+/obj/machinery/computer/communications/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/ui_state)
var/static/list/approved_states = list(STATE_BUYING_SHUTTLE, STATE_CHANGING_STATUS, STATE_MAIN, STATE_MESSAGES)
. = ..()
diff --git a/code/game/machinery/computer/orders/order_computer/mining_order.dm b/code/game/machinery/computer/orders/order_computer/mining_order.dm
index 94fda727d5f..98c1e8eed2f 100644
--- a/code/game/machinery/computer/orders/order_computer/mining_order.dm
+++ b/code/game/machinery/computer/orders/order_computer/mining_order.dm
@@ -34,7 +34,7 @@
/obj/machinery/computer/order_console/mining/order_groceries(mob/living/purchaser, obj/item/card/id/card, list/groceries)
var/list/things_to_order = list()
for(var/datum/orderable_item/item as anything in groceries)
- things_to_order[item.item_path] = groceries[item]
+ things_to_order[item.purchase_path] = groceries[item]
var/datum/supply_pack/custom/mining_pack = new(
purchaser = purchaser, \
diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm
index 8ad5d5dde28..b74601ee8a3 100644
--- a/code/game/machinery/computer/orders/order_computer/order_computer.dm
+++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm
@@ -50,7 +50,7 @@ GLOBAL_LIST_EMPTY(order_console_products)
if(GLOB.order_console_products.len)
return
for(var/datum/orderable_item/path as anything in subtypesof(/datum/orderable_item))
- if(!initial(path.item_path))
+ if(!initial(path.purchase_path))
continue
GLOB.order_console_products += new path
@@ -120,8 +120,8 @@ GLOBAL_LIST_EMPTY(order_console_products)
"cat" = item.category_index,
"ref" = REF(item),
"cost" = round(item.cost_per_order * cargo_cost_multiplier),
- "icon" = item.item_path::icon,
- "icon_state" = item.item_path::icon_state,
+ "icon" = item.purchase_path::icon,
+ "icon_state" = item.purchase_path::icon_state,
))
return data
@@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(order_console_products)
grocery_list.Remove(item)
continue
for(var/amt in 1 to grocery_list[item])//every order amount
- ordered_paths += item.item_path
+ ordered_paths += item.purchase_path
podspawn(list(
"target" = get_turf(living_user),
"style" = /datum/pod_style/advanced,
diff --git a/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm b/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm
index 63966795f2d..8ec5e9a53a8 100644
--- a/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm
+++ b/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm
@@ -3,111 +3,111 @@
/datum/orderable_item/milk_eggs/milk
name = "Milk"
- item_path = /obj/item/reagent_containers/condiment/milk
+ purchase_path = /obj/item/reagent_containers/condiment/milk
cost_per_order = 30
/datum/orderable_item/milk_eggs/soymilk
name = "Soy Milk"
- item_path = /obj/item/reagent_containers/condiment/soymilk
+ purchase_path = /obj/item/reagent_containers/condiment/soymilk
cost_per_order = 30
/datum/orderable_item/milk_eggs/cream
name = "Cream"
- item_path = /obj/item/reagent_containers/cup/glass/bottle/juice/cream
+ purchase_path = /obj/item/reagent_containers/cup/glass/bottle/juice/cream
cost_per_order = 40
/datum/orderable_item/milk_eggs/yoghurt
name = "Yoghurt"
- item_path = /obj/item/reagent_containers/condiment/yoghurt
+ purchase_path = /obj/item/reagent_containers/condiment/yoghurt
cost_per_order = 40
/datum/orderable_item/milk_eggs/eggs
name = "Egg Carton"
- item_path = /obj/item/storage/fancy/egg_box
+ purchase_path = /obj/item/storage/fancy/egg_box
cost_per_order = 40
/datum/orderable_item/milk_eggs/fillet
name = "Fish Fillet"
- item_path = /obj/item/food/fishmeat
+ purchase_path = /obj/item/food/fishmeat
cost_per_order = 12
/datum/orderable_item/milk_eggs/octopus
name = "Octopus Tentacle"
- item_path = /obj/item/food/fishmeat/octopus
+ purchase_path = /obj/item/food/fishmeat/octopus
cost_per_order = 12
/datum/orderable_item/milk_eggs/chicken
name = "Chicken Breast"
- item_path = /obj/item/food/meat/slab/chicken
+ purchase_path = /obj/item/food/meat/slab/chicken
cost_per_order = 15
/datum/orderable_item/milk_eggs/spider_eggs
name = "Spider Eggs"
- item_path = /obj/item/food/spidereggs
+ purchase_path = /obj/item/food/spidereggs
/datum/orderable_item/milk_eggs/moonfish_eggs
name = "Moonfish Eggs"
- item_path = /obj/item/food/moonfish_eggs
+ purchase_path = /obj/item/food/moonfish_eggs
cost_per_order = 30
/datum/orderable_item/milk_eggs/desert_snails
name = "Canned Desert Snails"
- item_path = /obj/item/food/canned/desert_snails
+ purchase_path = /obj/item/food/canned/desert_snails
cost_per_order = 20
/datum/orderable_item/milk_eggs/canned_jellyfish
name = "Canned Gunner Jellyfish"
- item_path = /obj/item/food/canned/jellyfish
+ purchase_path = /obj/item/food/canned/jellyfish
cost_per_order = 20
/datum/orderable_item/milk_eggs/canned_larvae
name = "Canned Larvae"
- item_path = /obj/item/food/canned/larvae
+ purchase_path = /obj/item/food/canned/larvae
cost_per_order = 20
/datum/orderable_item/milk_eggs/canned_tomatoes
name = "Canned San Marzano Tomatoes"
- item_path = /obj/item/food/canned/tomatoes
+ purchase_path = /obj/item/food/canned/tomatoes
cost_per_order = 30
/datum/orderable_item/milk_eggs/canned_pine_nuts
name = "Canned Pine Nuts"
- item_path = /obj/item/food/canned/pine_nuts
+ purchase_path = /obj/item/food/canned/pine_nuts
cost_per_order = 20
/datum/orderable_item/milk_eggs/canned_squid_ink
name = "Canned Squid Ink"
- item_path = /obj/item/food/canned/squid_ink
+ purchase_path = /obj/item/food/canned/squid_ink
cost_per_order = 20
/datum/orderable_item/milk_eggs/chap
name = "Can of CHAP"
- item_path = /obj/item/food/canned/chap
+ purchase_path = /obj/item/food/canned/chap
cost_per_order = 20
/datum/orderable_item/milk_eggs/ready_donk
name = "Ready-Donk Meal: Bachelor Chow"
- item_path = /obj/item/food/ready_donk
+ purchase_path = /obj/item/food/ready_donk
cost_per_order = 40
/datum/orderable_item/milk_eggs/ready_donk_mac
name = "Ready-Donk Meal: Donk-a-Roni"
- item_path = /obj/item/food/ready_donk/mac_n_cheese
+ purchase_path = /obj/item/food/ready_donk/mac_n_cheese
cost_per_order = 40
/datum/orderable_item/milk_eggs/ready_donk_mex
name = "Ready-Donk Meal: Donkhiladas"
- item_path = /obj/item/food/ready_donk/donkhiladas
+ purchase_path = /obj/item/food/ready_donk/donkhiladas
cost_per_order = 40
/datum/orderable_item/milk_eggs/ready_donk_nachos
name = "Ready-Donk Meal: Donk Sol Series Boritos Nachos Grandes"
- item_path = /obj/item/food/ready_donk/nachos_grandes
+ purchase_path = /obj/item/food/ready_donk/nachos_grandes
cost_per_order = 40
/datum/orderable_item/milk_eggs/ready_donk_orange
name = "Ready-Donk Meal: Donk-range Chicken"
- item_path = /obj/item/food/ready_donk/donkrange_chicken
+ purchase_path = /obj/item/food/ready_donk/donkrange_chicken
cost_per_order = 40
/datum/orderable_item/milk_eggs/ready_donk_salisbury
@@ -122,35 +122,35 @@
/datum/orderable_item/milk_eggs/tiziran_goods
name = "Tiziran Farm-Fresh Pack"
- item_path = /obj/item/storage/box/tiziran_goods
+ purchase_path = /obj/item/storage/box/tiziran_goods
cost_per_order = 120
/datum/orderable_item/milk_eggs/tiziran_cans
name = "Tiziran Canned Goods Pack"
- item_path = /obj/item/storage/box/tiziran_cans
+ purchase_path = /obj/item/storage/box/tiziran_cans
cost_per_order = 120
/datum/orderable_item/milk_eggs/tiziran_meats
name = "Tiziran Meatmarket Pack"
- item_path = /obj/item/storage/box/tiziran_meats
+ purchase_path = /obj/item/storage/box/tiziran_meats
cost_per_order = 120
/datum/orderable_item/milk_eggs/mothic_goods
name = "Mothic Farm-Fresh Pack"
- item_path = /obj/item/storage/box/mothic_goods
+ purchase_path = /obj/item/storage/box/mothic_goods
cost_per_order = 120
/datum/orderable_item/milk_eggs/mothic_cans_sauces
name = "Mothic Pantry Pack"
- item_path = /obj/item/storage/box/mothic_cans_sauces
+ purchase_path = /obj/item/storage/box/mothic_cans_sauces
cost_per_order = 120
/datum/orderable_item/milk_eggs/armorfish
name = "Cleaned Armorfish"
- item_path = /obj/item/food/fishmeat/armorfish
+ purchase_path = /obj/item/food/fishmeat/armorfish
cost_per_order = 30
/datum/orderable_item/milk_eggs/moonfish
name = "Moonfish"
- item_path = /obj/item/food/fishmeat/moonfish
+ purchase_path = /obj/item/food/fishmeat/moonfish
cost_per_order = 30
diff --git a/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm b/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm
index 39fb38df550..06bd251368a 100644
--- a/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm
+++ b/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm
@@ -3,105 +3,105 @@
/datum/orderable_item/reagents/flour
name = "Flour Sack"
- item_path = /obj/item/reagent_containers/condiment/flour
+ purchase_path = /obj/item/reagent_containers/condiment/flour
cost_per_order = 30
/datum/orderable_item/reagents/sugar
name = "Sugar Sack"
- item_path = /obj/item/reagent_containers/condiment/sugar
+ purchase_path = /obj/item/reagent_containers/condiment/sugar
cost_per_order = 30
/datum/orderable_item/reagents/rice
name = "Rice Sack"
- item_path = /obj/item/reagent_containers/condiment/rice
+ purchase_path = /obj/item/reagent_containers/condiment/rice
cost_per_order = 30
/datum/orderable_item/reagents/cornmeal
name = "Cornmeal Box"
- item_path = /obj/item/reagent_containers/condiment/cornmeal
+ purchase_path = /obj/item/reagent_containers/condiment/cornmeal
cost_per_order = 30
/datum/orderable_item/reagents/enzyme
name = "Universal Enzyme"
- item_path = /obj/item/reagent_containers/condiment/enzyme
+ purchase_path = /obj/item/reagent_containers/condiment/enzyme
cost_per_order = 40
/datum/orderable_item/reagents/salt
name = "Salt Shaker"
- item_path = /obj/item/reagent_containers/condiment/saltshaker
+ purchase_path = /obj/item/reagent_containers/condiment/saltshaker
cost_per_order = 15
/datum/orderable_item/reagents/pepper
name = "Pepper Mill"
- item_path = /obj/item/reagent_containers/condiment/peppermill
+ purchase_path = /obj/item/reagent_containers/condiment/peppermill
cost_per_order = 15
/datum/orderable_item/reagents/soysauce
name = "Soy Sauce"
- item_path = /obj/item/reagent_containers/condiment/soysauce
+ purchase_path = /obj/item/reagent_containers/condiment/soysauce
cost_per_order = 15
/datum/orderable_item/reagents/bbqsauce
name = "BBQ Sauce"
- item_path = /obj/item/reagent_containers/condiment/bbqsauce
+ purchase_path = /obj/item/reagent_containers/condiment/bbqsauce
cost_per_order = 60
/datum/orderable_item/reagents/vinegar
name = "Vinegar"
- item_path = /obj/item/reagent_containers/condiment/vinegar
+ purchase_path = /obj/item/reagent_containers/condiment/vinegar
cost_per_order = 30
/datum/orderable_item/reagents/olive_oil
name = "Olive Oil"
- item_path = /obj/item/reagent_containers/condiment/olive_oil
+ purchase_path = /obj/item/reagent_containers/condiment/olive_oil
cost_per_order = 50 //Extra Virgin, just like you, the reader
/datum/orderable_item/reagents/peanut_butter
name = "Peanut Butter"
- item_path = /obj/item/reagent_containers/condiment/peanut_butter
+ purchase_path = /obj/item/reagent_containers/condiment/peanut_butter
cost_per_order = 30
/datum/orderable_item/reagents/cherryjelly
name = "Cherry Jelly"
- item_path = /obj/item/reagent_containers/condiment/cherryjelly
+ purchase_path = /obj/item/reagent_containers/condiment/cherryjelly
cost_per_order = 30
/datum/orderable_item/reagents/worcestershire
name = "Worcestershire Sauce"
- item_path = /obj/item/reagent_containers/condiment/worcestershire
+ purchase_path = /obj/item/reagent_containers/condiment/worcestershire
cost_per_order = 30
/datum/orderable_item/reagents/red_bay
name = "Red Bay Seasoning"
- item_path = /obj/item/reagent_containers/condiment/red_bay
+ purchase_path = /obj/item/reagent_containers/condiment/red_bay
cost_per_order = 30
/datum/orderable_item/reagents/curry_powder
name = "Curry Powder"
- item_path = /obj/item/reagent_containers/condiment/curry_powder
+ purchase_path = /obj/item/reagent_containers/condiment/curry_powder
cost_per_order = 30
/datum/orderable_item/reagents/dashi_concentrate
name = "Dashi Concentrate"
- item_path = /obj/item/reagent_containers/condiment/dashi_concentrate
+ purchase_path = /obj/item/reagent_containers/condiment/dashi_concentrate
cost_per_order = 30
/datum/orderable_item/reagents/coconut_milk
name = "Coconut Milk"
- item_path = /obj/item/reagent_containers/condiment/coconut_milk
+ purchase_path = /obj/item/reagent_containers/condiment/coconut_milk
cost_per_order = 30
/datum/orderable_item/reagents/grounding_solution
name = "Grounding Solution"
- item_path = /obj/item/reagent_containers/condiment/grounding_solution
+ purchase_path = /obj/item/reagent_containers/condiment/grounding_solution
cost_per_order = 30
/datum/orderable_item/reagents/honey
name = "Honey"
- item_path = /obj/item/reagent_containers/condiment/honey
+ purchase_path = /obj/item/reagent_containers/condiment/honey
cost_per_order = 125 //its high quality honey :)
/datum/orderable_item/reagents/mayonnaise
name = "Mayonnaise"
- item_path = /obj/item/reagent_containers/condiment/mayonnaise
+ purchase_path = /obj/item/reagent_containers/condiment/mayonnaise
cost_per_order = 30
diff --git a/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm b/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm
index f96562724d2..5eff7055b9f 100644
--- a/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm
+++ b/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm
@@ -3,177 +3,177 @@
/datum/orderable_item/veggies/potato
name = "Potato"
- item_path = /obj/item/food/grown/potato
+ purchase_path = /obj/item/food/grown/potato
/datum/orderable_item/veggies/tomato
name = "Tomato"
- item_path = /obj/item/food/grown/tomato
+ purchase_path = /obj/item/food/grown/tomato
/datum/orderable_item/veggies/carrot
name = "Carrot"
- item_path = /obj/item/food/grown/carrot
+ purchase_path = /obj/item/food/grown/carrot
/datum/orderable_item/veggies/eggplant
name = "Eggplant"
- item_path = /obj/item/food/grown/eggplant
+ purchase_path = /obj/item/food/grown/eggplant
/datum/orderable_item/veggies/mushroom
name = "Plump Helmet"
desc = "Plumus Hellmus: Plump, soft and s-so inviting~"
- item_path = /obj/item/food/grown/mushroom/plumphelmet
+ purchase_path = /obj/item/food/grown/mushroom/plumphelmet
/datum/orderable_item/veggies/cabbage
name = "Cabbage"
- item_path = /obj/item/food/grown/cabbage
+ purchase_path = /obj/item/food/grown/cabbage
/datum/orderable_item/veggies/onion
name = "Onion"
- item_path = /obj/item/food/grown/onion
+ purchase_path = /obj/item/food/grown/onion
/datum/orderable_item/veggies/apple
name = "Apple"
- item_path = /obj/item/food/grown/apple
+ purchase_path = /obj/item/food/grown/apple
/datum/orderable_item/veggies/pumpkin
name = "Pumpkin"
- item_path = /obj/item/food/grown/pumpkin
+ purchase_path = /obj/item/food/grown/pumpkin
/datum/orderable_item/veggies/watermelon
name = "Watermelon"
- item_path = /obj/item/food/grown/watermelon
+ purchase_path = /obj/item/food/grown/watermelon
/datum/orderable_item/veggies/corn
name = "Corn"
- item_path = /obj/item/food/grown/corn
+ purchase_path = /obj/item/food/grown/corn
/datum/orderable_item/veggies/soybean
name = "Soybeans"
- item_path = /obj/item/food/grown/soybeans
+ purchase_path = /obj/item/food/grown/soybeans
/datum/orderable_item/veggies/garlic
name = "Garlic"
- item_path = /obj/item/food/grown/garlic
+ purchase_path = /obj/item/food/grown/garlic
/datum/orderable_item/veggies/cherries
name = "Cherries"
- item_path = /obj/item/food/grown/cherries
+ purchase_path = /obj/item/food/grown/cherries
/datum/orderable_item/veggies/chanterelle
name = "Chanterelle"
- item_path = /obj/item/food/grown/mushroom/chanterelle
+ purchase_path = /obj/item/food/grown/mushroom/chanterelle
/datum/orderable_item/veggies/cocoa
name = "Cocoa"
- item_path = /obj/item/food/grown/cocoapod
+ purchase_path = /obj/item/food/grown/cocoapod
/datum/orderable_item/veggies/herbs
name = "Bundle of Herbs"
- item_path = /obj/item/food/grown/herbs
+ purchase_path = /obj/item/food/grown/herbs
cost_per_order = 5
/datum/orderable_item/veggies/bell_pepper
name = "Bell Pepper"
- item_path = /obj/item/food/grown/bell_pepper
+ purchase_path = /obj/item/food/grown/bell_pepper
/datum/orderable_item/veggies/cucumbers
name = "Cucumber"
- item_path = /obj/item/food/grown/cucumber
+ purchase_path = /obj/item/food/grown/cucumber
cost_per_order = 10
/datum/orderable_item/veggies/pickles
name = "Jar of pickles"
- item_path = /obj/item/storage/fancy/pickles_jar
+ purchase_path = /obj/item/storage/fancy/pickles_jar
cost_per_order = 60
/datum/orderable_item/veggies/pickled_voltvine
name = "Pickled Voltvine"
- item_path = /obj/item/food/pickled_voltvine
+ purchase_path = /obj/item/food/pickled_voltvine
cost_per_order = 5
/datum/orderable_item/veggies/chili
name = "Chili"
- item_path = /obj/item/food/grown/chili
+ purchase_path = /obj/item/food/grown/chili
/datum/orderable_item/veggies/berries
name = "Berries"
- item_path = /obj/item/food/grown/berries
+ purchase_path = /obj/item/food/grown/berries
/datum/orderable_item/veggies/pineapple
name = "Pineapple"
- item_path = /obj/item/food/grown/pineapple
+ purchase_path = /obj/item/food/grown/pineapple
/datum/orderable_item/veggies/peas
name = "Peas"
- item_path = /obj/item/food/grown/peas
+ purchase_path = /obj/item/food/grown/peas
/datum/orderable_item/veggies/korta_nut //nanotrasen does not devote as much of their resources to pathetic lizard crops
name = "Korta Nut"
- item_path = /obj/item/food/grown/korta_nut
+ purchase_path = /obj/item/food/grown/korta_nut
cost_per_order = 15
/datum/orderable_item/veggies/parsnip
name = "Parsnip"
- item_path = /obj/item/food/grown/parsnip
+ purchase_path = /obj/item/food/grown/parsnip
/datum/orderable_item/veggies/redbeet
name = "Red Beet"
- item_path = /obj/item/food/grown/redbeet
+ purchase_path = /obj/item/food/grown/redbeet
/datum/orderable_item/veggies/orange
name = "Orange"
- item_path = /obj/item/food/grown/citrus/orange
+ purchase_path = /obj/item/food/grown/citrus/orange
/datum/orderable_item/veggies/vanillapod
name = "Vanilla"
- item_path = /obj/item/food/grown/vanillapod
+ purchase_path = /obj/item/food/grown/vanillapod
cost_per_order = 25 //food items that are treated as mutations in game should be more expensive. groceries shouldnt include ACTUAL mutations but i think real foods are ok
/datum/orderable_item/veggies/sweetkorta
name = "Sweet Korta Nut"
- item_path = /obj/item/food/grown/korta_nut/sweet
+ purchase_path = /obj/item/food/grown/korta_nut/sweet
cost_per_order = 30
/datum/orderable_item/veggies/redonion
name = "Red Onion"
- item_path = /obj/item/food/grown/onion/red
+ purchase_path = /obj/item/food/grown/onion/red
cost_per_order = 25
/datum/orderable_item/veggies/peanut
name = "Peanut"
- item_path = /obj/item/food/grown/peanut
+ purchase_path = /obj/item/food/grown/peanut
/datum/orderable_item/veggies/sweetpotato
name = "Sweet Potato"
- item_path = /obj/item/food/grown/potato/sweet
+ purchase_path = /obj/item/food/grown/potato/sweet
cost_per_order = 25
/datum/orderable_item/veggies/oat
name = "Oat"
- item_path = /obj/item/food/grown/oat
+ purchase_path = /obj/item/food/grown/oat
/datum/orderable_item/veggies/trumpet
name = "Spaceman's Trumpet"
- item_path = /obj/item/food/grown/trumpet
+ purchase_path = /obj/item/food/grown/trumpet
cost_per_order = 25
/datum/orderable_item/veggies/banana
name = "Banana"
- item_path = /obj/item/food/grown/banana
+ purchase_path = /obj/item/food/grown/banana
/datum/orderable_item/veggies/ghostchili
name = "Ghost Chili"
- item_path = /obj/item/food/grown/ghost_chili
+ purchase_path = /obj/item/food/grown/ghost_chili
cost_per_order = 25
/datum/orderable_item/veggies/lemon
name = "Lemon"
- item_path = /obj/item/food/grown/citrus/lemon
+ purchase_path = /obj/item/food/grown/citrus/lemon
/datum/orderable_item/veggies/lime
name = "Lime"
- item_path = /obj/item/food/grown/citrus/lime
+ purchase_path = /obj/item/food/grown/citrus/lime
/datum/orderable_item/veggies/toechtauese
name = "Töchtaüse berries"
- item_path = /obj/item/food/grown/toechtauese
+ purchase_path = /obj/item/food/grown/toechtauese
cost_per_order = 15
diff --git a/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm b/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm
index a91a34b46f2..79e82ac954b 100644
--- a/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm
+++ b/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm
@@ -2,53 +2,53 @@
category_index = CATEGORY_CONSUMABLES
/datum/orderable_item/consumables/survival_pen
- item_path = /obj/item/reagent_containers/hypospray/medipen/survival
+ purchase_path = /obj/item/reagent_containers/hypospray/medipen/survival
cost_per_order = 250
/datum/orderable_item/consumables/luxury_pen
- item_path = /obj/item/reagent_containers/hypospray/medipen/survival/luxury
+ purchase_path = /obj/item/reagent_containers/hypospray/medipen/survival/luxury
cost_per_order = 750
/datum/orderable_item/consumables/medkit
- item_path = /obj/item/storage/medkit/brute
+ purchase_path = /obj/item/storage/medkit/brute
cost_per_order = 400
/datum/orderable_item/consumables/medkit_fire
- item_path = /obj/item/storage/medkit/fire
+ purchase_path = /obj/item/storage/medkit/fire
desc = "For emergency magmatic burn relief."
cost_per_order = 500
/datum/orderable_item/consumables/whiskey
- item_path = /obj/item/reagent_containers/cup/glass/bottle/whiskey
+ purchase_path = /obj/item/reagent_containers/cup/glass/bottle/whiskey
cost_per_order = 100
/datum/orderable_item/consumables/absinthe
- item_path = /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium
+ purchase_path = /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium
cost_per_order = 100
/datum/orderable_item/consumables/bubblegum
- item_path = /obj/item/storage/box/gum/bubblegum
+ purchase_path = /obj/item/storage/box/gum/bubblegum
cost_per_order = 100
/datum/orderable_item/consumables/havana_cigars
- item_path = /obj/item/cigarette/cigar/havana
+ purchase_path = /obj/item/cigarette/cigar/havana
cost_per_order = 150
/datum/orderable_item/consumables/havana_cigars
- item_path = /obj/item/cigarette/cigar/havana
+ purchase_path = /obj/item/cigarette/cigar/havana
cost_per_order = 150
/datum/orderable_item/consumables/tracking_implants
- item_path = /obj/item/storage/box/minertracker
+ purchase_path = /obj/item/storage/box/minertracker
cost_per_order = 600
/datum/orderable_item/consumables/space_cash
- item_path = /obj/item/stack/spacecash/c1000
+ purchase_path = /obj/item/stack/spacecash/c1000
desc = "A stack of space cash worth 1000 credits."
cost_per_order = 2000
/datum/orderable_item/consumables/rescue_hook
name = "Rescue Fishing Rod"
- item_path = /obj/item/fishing_rod/rescue
+ purchase_path = /obj/item/fishing_rod/rescue
desc = "For when your fellow miner has inevitably fallen into a chasm, and it's up to you to save them."
cost_per_order = 600
diff --git a/code/game/machinery/computer/orders/order_items/mining/order_golem.dm b/code/game/machinery/computer/orders/order_items/mining/order_golem.dm
index cbd037230f2..237360978e8 100644
--- a/code/game/machinery/computer/orders/order_items/mining/order_golem.dm
+++ b/code/game/machinery/computer/orders/order_items/mining/order_golem.dm
@@ -2,34 +2,34 @@
category_index = CATEGORY_GOLEM
/datum/orderable_item/golem/mining_id
- item_path = /obj/item/card/id/advanced/mining
+ purchase_path = /obj/item/card/id/advanced/mining
cost_per_order = 200
/datum/orderable_item/golem/science_goggles
- item_path = /obj/item/clothing/glasses/science
+ purchase_path = /obj/item/clothing/glasses/science
cost_per_order = 200
/datum/orderable_item/golem/monkeycubes
- item_path = /obj/item/food/monkeycube
+ purchase_path = /obj/item/food/monkeycube
cost_per_order = 250
/datum/orderable_item/golem/belt
- item_path = /obj/item/storage/belt/utility
+ purchase_path = /obj/item/storage/belt/utility
cost_per_order = 300
/datum/orderable_item/golem/royal_cape
- item_path = /obj/item/bedsheet/rd/royal_cape
+ purchase_path = /obj/item/bedsheet/rd/royal_cape
cost_per_order = 400
/datum/orderable_item/golem/grey_extract
- item_path = /obj/item/slime_extract/grey
+ purchase_path = /obj/item/slime_extract/grey
cost_per_order = 800
/datum/orderable_item/golem/trigger_guard
- item_path = /obj/item/borg/upgrade/modkit/trigger_guard
+ purchase_path = /obj/item/borg/upgrade/modkit/trigger_guard
cost_per_order = 750
/datum/orderable_item/golem/rnd_boards
- item_path = /obj/item/storage/box/rndboards
+ purchase_path = /obj/item/storage/box/rndboards
cost_per_order = 1000
diff --git a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm
index 76af0dc806c..babbd4a4738 100644
--- a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm
+++ b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm
@@ -2,132 +2,132 @@
category_index = CATEGORY_MINING
/datum/orderable_item/mining/marker_beacon
- item_path = /obj/item/stack/marker_beacon/ten
+ purchase_path = /obj/item/stack/marker_beacon/ten
cost_per_order = 80
/datum/orderable_item/mining/skeleton_key
- item_path = /obj/item/skeleton_key
+ purchase_path = /obj/item/skeleton_key
cost_per_order = 675
/datum/orderable_item/mining/mining_stabilizer
- item_path = /obj/item/mining_stabilizer
+ purchase_path = /obj/item/mining_stabilizer
cost_per_order = 320
/datum/orderable_item/mining/fulton_core
- item_path = /obj/item/fulton_core
+ purchase_path = /obj/item/fulton_core
cost_per_order = 320
/datum/orderable_item/mining/mining_modsuit
- item_path = /obj/item/mod/control/pre_equipped/mining
+ purchase_path = /obj/item/mod/control/pre_equipped/mining
desc = "A mining-themed MODsuit that works best when in a mining environment."
cost_per_order = 2500
/datum/orderable_item/mining/mining_belt
- item_path = /obj/item/storage/belt/mining
+ purchase_path = /obj/item/storage/belt/mining
cost_per_order = 450
/datum/orderable_item/mining/jaunter
- item_path = /obj/item/wormhole_jaunter
+ purchase_path = /obj/item/wormhole_jaunter
cost_per_order = 650
/datum/orderable_item/mining/crusher
- item_path = /obj/item/kinetic_crusher
+ purchase_path = /obj/item/kinetic_crusher
cost_per_order = 650
/datum/orderable_item/mining/crusher_retool_kit
- item_path = /obj/item/crusher_trophy/retool_kit
+ purchase_path = /obj/item/crusher_trophy/retool_kit
cost_per_order = 150
/datum/orderable_item/mining/crusher_retool_kit_harpoon
- item_path = /obj/item/crusher_trophy/retool_kit/harpoon
+ purchase_path = /obj/item/crusher_trophy/retool_kit/harpoon
cost_per_order = 150
/datum/orderable_item/mining/crusher_retool_kit_dagger
- item_path = /obj/item/crusher_trophy/retool_kit/dagger
+ purchase_path = /obj/item/crusher_trophy/retool_kit/dagger
cost_per_order = 150
/datum/orderable_item/mining/resonator
- item_path = /obj/item/resonator
+ purchase_path = /obj/item/resonator
cost_per_order = 710
/datum/orderable_item/mining/resonator_advanced
- item_path = /obj/item/resonator/upgraded
+ purchase_path = /obj/item/resonator/upgraded
cost_per_order = 2000
/datum/orderable_item/mining/mining_scanner
- item_path = /obj/item/t_scanner/adv_mining_scanner
+ purchase_path = /obj/item/t_scanner/adv_mining_scanner
cost_per_order = 675
/datum/orderable_item/mining/fulton
- item_path = /obj/item/extraction_pack
+ purchase_path = /obj/item/extraction_pack
cost_per_order = 800
/datum/orderable_item/mining/lazarus
- item_path = /obj/item/lazarus_injector
+ purchase_path = /obj/item/lazarus_injector
cost_per_order = 1000
/datum/orderable_item/mining/gar_mesons
- item_path = /obj/item/clothing/glasses/meson/gar
+ purchase_path = /obj/item/clothing/glasses/meson/gar
cost_per_order = 500
/datum/orderable_item/mining/silver_pickaxe
- item_path = /obj/item/pickaxe/silver
+ purchase_path = /obj/item/pickaxe/silver
cost_per_order = 1000
/datum/orderable_item/mining/diamond_pickaxe
- item_path = /obj/item/pickaxe/diamond
+ purchase_path = /obj/item/pickaxe/diamond
cost_per_order = 2000
/datum/orderable_item/mining/conscription_kit
- item_path = /obj/item/storage/backpack/duffelbag/mining_conscript
+ purchase_path = /obj/item/storage/backpack/duffelbag/mining_conscript
desc = "A kit containing everything a crewmember needs to support a shaft miner in the field."
cost_per_order = 1200
/datum/orderable_item/mining/capsule
- item_path = /obj/item/survivalcapsule
+ purchase_path = /obj/item/survivalcapsule
cost_per_order = 350
/datum/orderable_item/mining/capsule/bathroom
- item_path = /obj/item/survivalcapsule/bathroom
+ purchase_path = /obj/item/survivalcapsule/bathroom
cost_per_order = 300
/datum/orderable_item/mining/capsule_luxury
- item_path = /obj/item/survivalcapsule/luxury
+ purchase_path = /obj/item/survivalcapsule/luxury
cost_per_order = 2300
/datum/orderable_item/mining/capsule_luxuryelite
- item_path = /obj/item/survivalcapsule/luxuryelite
+ purchase_path = /obj/item/survivalcapsule/luxuryelite
cost_per_order = 7000
/datum/orderable_item/mining/kheiralcuffs
- item_path = /obj/item/kheiral_cuffs
+ purchase_path = /obj/item/kheiral_cuffs
cost_per_order = 675
/datum/orderable_item/mining/bhop
- item_path = /obj/item/clothing/shoes/bhop
+ purchase_path = /obj/item/clothing/shoes/bhop
cost_per_order = 2000
/datum/orderable_item/mining/hiking_boots
- item_path = /obj/item/clothing/shoes/winterboots/ice_boots
+ purchase_path = /obj/item/clothing/shoes/winterboots/ice_boots
cost_per_order = 2000
/datum/orderable_item/mining/style_meter
- item_path = /obj/item/style_meter
+ purchase_path = /obj/item/style_meter
cost_per_order = 1200
/datum/orderable_item/mining/weather_radio
- item_path = /obj/item/radio/weather_monitor
+ purchase_path = /obj/item/radio/weather_monitor
cost_per_order = 320
/datum/orderable_item/mining/ventpointer
- item_path = /obj/item/pinpointer/vent
+ purchase_path = /obj/item/pinpointer/vent
cost_per_order = 1150
/datum/orderable_item/mining/boulder_processing
- item_path = /obj/item/boulder_beacon
+ purchase_path = /obj/item/boulder_beacon
desc = "A Bouldertech brand all-in-one boulder processing beacon. Each use will teleport in a component of a full boulder processing assembly line. Good for when you need to process additional boulders."
cost_per_order = 875
/datum/orderable_item/mining/grapple_gun
- item_path = /obj/item/grapple_gun
+ purchase_path = /obj/item/grapple_gun
cost_per_order = 3000
diff --git a/code/game/machinery/computer/orders/order_items/mining/order_pka.dm b/code/game/machinery/computer/orders/order_items/mining/order_pka.dm
index f239e9f2a7e..ceaa83d8ef7 100644
--- a/code/game/machinery/computer/orders/order_items/mining/order_pka.dm
+++ b/code/game/machinery/computer/orders/order_items/mining/order_pka.dm
@@ -2,45 +2,45 @@
category_index = CATEGORY_PKA
/datum/orderable_item/accelerator/gun
- item_path = /obj/item/gun/energy/recharge/kinetic_accelerator
+ purchase_path = /obj/item/gun/energy/recharge/kinetic_accelerator
cost_per_order = 600
/datum/orderable_item/accelerator/range
- item_path = /obj/item/borg/upgrade/modkit/range
+ purchase_path = /obj/item/borg/upgrade/modkit/range
cost_per_order = 675
/datum/orderable_item/accelerator/damage
- item_path = /obj/item/borg/upgrade/modkit/damage
+ purchase_path = /obj/item/borg/upgrade/modkit/damage
cost_per_order = 675
/datum/orderable_item/accelerator/cooldown
- item_path = /obj/item/borg/upgrade/modkit/cooldown
+ purchase_path = /obj/item/borg/upgrade/modkit/cooldown
cost_per_order = 675
/datum/orderable_item/accelerator/chasis
- item_path = /obj/item/borg/upgrade/modkit/chassis_mod
+ purchase_path = /obj/item/borg/upgrade/modkit/chassis_mod
cost_per_order = 250
/datum/orderable_item/accelerator/chasis_orange
- item_path = /obj/item/borg/upgrade/modkit/chassis_mod/orange
+ purchase_path = /obj/item/borg/upgrade/modkit/chassis_mod/orange
cost_per_order = 300
/datum/orderable_item/accelerator/tracer
- item_path = /obj/item/borg/upgrade/modkit/tracer
+ purchase_path = /obj/item/borg/upgrade/modkit/tracer
cost_per_order = 100
/datum/orderable_item/accelerator/adjustable_tracer
- item_path = /obj/item/borg/upgrade/modkit/tracer/adjustable
+ purchase_path = /obj/item/borg/upgrade/modkit/tracer/adjustable
cost_per_order = 150
/datum/orderable_item/accelerator/aoe_mobs
- item_path = /obj/item/borg/upgrade/modkit/aoe/mobs
+ purchase_path = /obj/item/borg/upgrade/modkit/aoe/mobs
cost_per_order = 1500
/datum/orderable_item/accelerator/minebot_passthrough
- item_path = /obj/item/borg/upgrade/modkit/minebot_passthrough
+ purchase_path = /obj/item/borg/upgrade/modkit/minebot_passthrough
cost_per_order = 800
/datum/orderable_item/accelerator/friendly_fire
- item_path = /obj/item/borg/upgrade/modkit/human_passthrough
+ purchase_path = /obj/item/borg/upgrade/modkit/human_passthrough
cost_per_order = 750
diff --git a/code/game/machinery/computer/orders/order_items/mining/order_toys.dm b/code/game/machinery/computer/orders/order_items/mining/order_toys.dm
index fab03cabaa4..65bbee24ead 100644
--- a/code/game/machinery/computer/orders/order_items/mining/order_toys.dm
+++ b/code/game/machinery/computer/orders/order_items/mining/order_toys.dm
@@ -2,38 +2,38 @@
category_index = CATEGORY_TOYS_DRONE
/datum/orderable_item/toys_drones/soap
- item_path = /obj/item/soap/nanotrasen
+ purchase_path = /obj/item/soap/nanotrasen
cost_per_order = 180
/datum/orderable_item/toys_drones/laser_pointer
- item_path = /obj/item/laser_pointer
+ purchase_path = /obj/item/laser_pointer
cost_per_order = 275
/datum/orderable_item/toys_drones/facehugger
- item_path = /obj/item/clothing/mask/facehugger/toy
+ purchase_path = /obj/item/clothing/mask/facehugger/toy
cost_per_order = 275
/datum/orderable_item/toys_drones/mining_drone
- item_path = /mob/living/basic/mining_drone
+ purchase_path = /mob/living/basic/mining_drone
cost_per_order = 675
/datum/orderable_item/toys_drones/drone_health
- item_path = /obj/item/mine_bot_upgrade/health
+ purchase_path = /obj/item/mine_bot_upgrade/health
cost_per_order = 350
/datum/orderable_item/toys_drones/drone_shield
- item_path = /obj/item/mine_bot_upgrade/regnerative_shield
+ purchase_path = /obj/item/mine_bot_upgrade/regnerative_shield
cost_per_order = 500
/datum/orderable_item/toys_drones/drone_remote
- item_path = /obj/item/minebot_remote_control
+ purchase_path = /obj/item/minebot_remote_control
cost_per_order = 500
/datum/orderable_item/toys_drones/drone_pka
- item_path = /obj/item/borg/upgrade/modkit/cooldown/minebot
+ purchase_path = /obj/item/borg/upgrade/modkit/cooldown/minebot
cost_per_order = 525
/datum/orderable_item/toys_drones/drone_sentience
- item_path = /obj/item/slimepotion/slime/sentience/mining
+ purchase_path = /obj/item/slimepotion/slime/sentience/mining
cost_per_order = 850
diff --git a/code/game/machinery/computer/orders/order_items/order_datum.dm b/code/game/machinery/computer/orders/order_items/order_datum.dm
index 13684fc742b..28c21a14f26 100644
--- a/code/game/machinery/computer/orders/order_items/order_datum.dm
+++ b/code/game/machinery/computer/orders/order_items/order_datum.dm
@@ -5,7 +5,7 @@
///Description shown in the shop, set automatically unless it's hard set by the subtype
var/desc
///Path of the item that is purchased when ordering us.
- var/obj/item/item_path
+ var/atom/movable/purchase_path
///The category this item will be displayed in.
var/category_index = NONE
///How much this item costs to order.
@@ -15,14 +15,9 @@
. = ..()
if(!category_index)
CRASH("[type] doesn't have a category_index assigned!")
- if(!item_path)
+ if(!purchase_path)
CRASH("[type] orderable item datum with no item path was created!")
if(!name)
- name = initial(item_path.name)
+ name = initial(purchase_path.name)
if(!desc)
- desc = initial(item_path.desc)
-
-/datum/orderable_item/Destroy(force)
- if(item_path)
- qdel(item_path)
- return ..()
+ desc = initial(purchase_path.desc)
diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm
index 4949f53adfb..bbb6f33236d 100644
--- a/code/game/machinery/harvester.dm
+++ b/code/game/machinery/harvester.dm
@@ -179,7 +179,7 @@
obj_flags |= EMAGGED
allow_living = TRUE
allow_clothing = TRUE
- balloon_alert(!user, "lifesign scanners overloaded")
+ balloon_alert(user, "lifesign scanners overloaded")
return TRUE
/obj/machinery/harvester/container_resist_act(mob/living/user)
diff --git a/code/game/machinery/scanner_gate.dm b/code/game/machinery/scanner_gate.dm
index af097605bc3..ee93f41cf55 100644
--- a/code/game/machinery/scanner_gate.dm
+++ b/code/game/machinery/scanner_gate.dm
@@ -327,7 +327,7 @@
/obj/machinery/scanner_gate/preset_guns
locked = TRUE
- req_access = ACCESS_SECURITY
+ req_access = list(ACCESS_SECURITY)
scangate_mode = SCANGATE_GUNS
#undef SCANGATE_NONE
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index e7b62b07cf1..b65c4a7ae90 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -12,7 +12,7 @@
var/require_model = FALSE
var/list/model_type = null
/// Bitflags listing model compatibility. Used in the exosuit fabricator for creating sub-categories.
- var/list/model_flags = NONE
+ var/model_flags = NONE
/// List of items to add with the module, if any
var/list/items_to_add
diff --git a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm
index 95c87cbb5da..330cd86ff1d 100644
--- a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm
+++ b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm
@@ -418,7 +418,7 @@
return owner.body_position == LYING_DOWN
/datum/status_effect/golem/bananium/on_remove()
- owner.remove_traits(owner, list(TRAIT_WADDLING, TRAIT_NO_SLIP_WATER), TRAIT_STATUS_EFFECT(id))
+ owner.remove_traits(list(TRAIT_WADDLING, TRAIT_NO_SLIP_WATER), TRAIT_STATUS_EFFECT(id))
QDEL_NULL(slipperiness)
return ..()
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index 21247879dc1..dc0375ac04b 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -64,7 +64,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
/obj/item/balloon_mallet/examine(mob/user)
. = ..()
if(HAS_TRAIT(user,TRAIT_BALLOON_SUTRA))
- . = "A sacred weapon of the higher castes from the clown planet, used to strike fear into the hearts of their foes. Wield it with care."
+ . += "A sacred weapon of the higher castes from the clown planet, used to strike fear into the hearts of their foes. Wield it with care."
/obj/item/balloon_mallet/attack(mob/living/target, mob/living/user)
playsound(loc, 'sound/mobs/non-humanoids/clown/hehe.ogg', 20)
diff --git a/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm b/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm
index f0fa9e27d78..fa49fe0a106 100644
--- a/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm
+++ b/code/game/objects/structures/cannons/mounted_guns/mounted_gun.dm
@@ -22,7 +22,7 @@
///Accepted "ammo" type
var/obj/item/ammo_type = /obj/item/ammo_casing/strilka310
///Projectile from said gun. Doesnt automatically inherit said ammo's projectile in case you wanted to make a gun that shoots floor tiles or something.
- var/obj/item/projectile_type = /obj/projectile/bullet/strilka310
+ var/obj/projectile/projectile_type = /obj/projectile/bullet/strilka310
///If the gun has anything in it.
var/loaded_gun = TRUE
///If the gun is currently loaded with its maximum capacity.
diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm
index db4981aeac7..6a0bc3123d1 100644
--- a/code/game/objects/structures/spawner.dm
+++ b/code/game/objects/structures/spawner.dm
@@ -299,5 +299,5 @@
proteon.add_filter("sentient_proteon", 3, list("type" = "outline", "color" = COLOR_CULT_RED, "size" = 2, "alpha" = 40))
/obj/structure/spawner/sentient/proteon_spawner/handle_deconstruct(disassembled)
- playsound('sound/effects/hallucinations/veryfar_noise.ogg', 125)
+ playsound(src, 'sound/effects/hallucinations/veryfar_noise.ogg', 75)
visible_message(span_cult_bold("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing."))
diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm
index 3a6546f6eaa..967c13f3372 100644
--- a/code/game/turfs/closed/minerals.dm
+++ b/code/game/turfs/closed/minerals.dm
@@ -25,7 +25,7 @@
transform = MAP_SWITCH(TRANSLATE_MATRIX(-4, -4), matrix())
temperature = TCMB
- var/turf/open/floor/plating/turf_type = /turf/open/misc/asteroid/airless
+ var/turf/turf_type = /turf/open/misc/asteroid/airless
/// The path of the ore stack we spawn when we're mined.
var/obj/item/stack/ore/mineralType = null
/// If we spawn a boulder like on the gulag, we use this in lou of mineralType
diff --git a/code/modules/admin/verbs/ert.dm b/code/modules/admin/verbs/ert.dm
index 71722eb6d64..09903e76429 100644
--- a/code/modules/admin/verbs/ert.dm
+++ b/code/modules/admin/verbs/ert.dm
@@ -157,7 +157,7 @@
spawn_turfs += get_turf(spawner)
if(!brief_spawn)
- brief_spawn = locate(/obj/effect/landmark/ert_shuttle_brief_spawn) in affected_turf
+ brief_spawn = get_turf(locate(/obj/effect/landmark/ert_shuttle_brief_spawn) in affected_turf)
if(!length(spawn_turfs))
stack_trace("ERT shuttle loaded but found no spawnpoints, placing the ERT at wherever inside the shuttle instead.")
@@ -206,7 +206,7 @@
candidate_living_exps = sort_list(candidate_living_exps, cmp=/proc/cmp_numeric_dsc)
if(candidate_living_exps.len > ERT_EXPERIENCED_LEADER_CHOOSE_TOP)
- candidate_living_exps = candidate_living_exps.Cut(ERT_EXPERIENCED_LEADER_CHOOSE_TOP+1) // pick from the top ERT_EXPERIENCED_LEADER_CHOOSE_TOP contenders in playtime
+ candidate_living_exps.Cut(ERT_EXPERIENCED_LEADER_CHOOSE_TOP+1) // pick from the top ERT_EXPERIENCED_LEADER_CHOOSE_TOP contenders in playtime
earmarked_leader = pick(candidate_living_exps)
else
earmarked_leader = pick(candidates)
diff --git a/code/modules/antagonists/cult/cult_turf_overlay.dm b/code/modules/antagonists/cult/cult_turf_overlay.dm
index df92d7aec90..e5e70bac1f7 100644
--- a/code/modules/antagonists/cult/cult_turf_overlay.dm
+++ b/code/modules/antagonists/cult/cult_turf_overlay.dm
@@ -10,7 +10,8 @@
/obj/effect/cult_turf/examine(mob/user)
if(linked)
- linked.examine(user)
+ return linked.examine(user)
+ return list()
/obj/effect/cult_turf/singularity_act()
return
diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm
index 9063760c5bc..fe7a6f1b125 100644
--- a/code/modules/antagonists/heretic/heretic_antag.dm
+++ b/code/modules/antagonists/heretic/heretic_antag.dm
@@ -93,9 +93,9 @@
//if the knowledge is a spell, use the spell's button
else if(ispath(knowledge,/datum/heretic_knowledge/spell))
var/datum/heretic_knowledge/spell/spell_knowledge = knowledge
- var/datum/action/cooldown/spell/result_spell = spell_knowledge.spell_to_add
- icon_path = result_spell.button_icon
- icon_state = result_spell.button_icon_state
+ var/datum/action/result_action = spell_knowledge.action_to_add
+ icon_path = result_action.button_icon
+ icon_state = result_action.button_icon_state
//if the knowledge is a summon, use the mob sprite
else if(ispath(knowledge,/datum/heretic_knowledge/summon))
diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm
index d4fdf79dfbb..0e445c862f4 100644
--- a/code/modules/antagonists/heretic/heretic_knowledge.dm
+++ b/code/modules/antagonists/heretic/heretic_knowledge.dm
@@ -187,26 +187,26 @@
/datum/heretic_knowledge/spell
abstract_parent_type = /datum/heretic_knowledge/spell
/// Spell path we add to the heretic. Type-path.
- var/datum/action/cooldown/spell/spell_to_add
+ var/datum/action/action_to_add
/// The spell we actually created.
- var/datum/weakref/created_spell_ref
+ var/datum/weakref/created_action_ref
/datum/heretic_knowledge/spell/Destroy()
- QDEL_NULL(created_spell_ref)
+ QDEL_NULL(created_action_ref)
return ..()
/datum/heretic_knowledge/spell/on_gain(mob/user, datum/antagonist/heretic/our_heretic)
// Added spells are tracked on the body, and not the mind,
// because we handle heretic mind transfers
// via the antag datum (on_gain and on_lose).
- var/datum/action/cooldown/spell/created_spell = created_spell_ref?.resolve() || new spell_to_add(user)
- created_spell.Grant(user)
- created_spell_ref = WEAKREF(created_spell)
+ var/datum/action/created_action = created_action_ref?.resolve() || new action_to_add(user)
+ created_action.Grant(user)
+ created_action_ref = WEAKREF(created_action)
/datum/heretic_knowledge/spell/on_lose(mob/user, datum/antagonist/heretic/our_heretic)
- var/datum/action/cooldown/spell/created_spell = created_spell_ref?.resolve()
- if(created_spell?.owner == user)
- created_spell.Remove(user)
+ var/datum/action/cooldown/spell/created_action = created_action_ref?.resolve()
+ if(created_action?.owner == user)
+ created_action.Remove(user)
/**
* A knowledge subtype for knowledge that can only
diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm
index 61056d4210f..3b5b80a6214 100644
--- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm
@@ -63,7 +63,7 @@
desc = "Grants you Ashen Passage, a spell that lets you phase out of reality and traverse a short distance, passing though any walls."
gain_text = "He knew how to walk between the planes."
- spell_to_add = /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash
+ action_to_add = /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash
cost = 1
@@ -99,7 +99,7 @@
at a nearby enemy, setting them on fire and burning them. If they do not extinguish themselves, \
the beam will continue to another target."
gain_text = "No fire was hot enough to rekindle them. No fire was bright enough to save them. No fire is eternal."
- spell_to_add = /datum/action/cooldown/spell/charged/beam/fire_blast
+ action_to_add = /datum/action/cooldown/spell/charged/beam/fire_blast
cost = 1
research_tree_icon_frame = 7
@@ -145,7 +145,7 @@
If any victims afflicted are in critical condition, they will also instantly die."
gain_text = "The fire was inescapable, and yet, life remained in his charred body. \
The Nightwatcher was a particular man, always watching."
- spell_to_add = /datum/action/cooldown/spell/aoe/fiery_rebirth
+ action_to_add = /datum/action/cooldown/spell/aoe/fiery_rebirth
cost = 1
research_tree_icon_frame = 5
diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.dm b/code/modules/antagonists/heretic/knowledge/blade_lore.dm
index 5cffc7bc304..dcca07b00af 100644
--- a/code/modules/antagonists/heretic/knowledge/blade_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/blade_lore.dm
@@ -185,7 +185,7 @@
During this process, you will rapidly regenerate stamina and quickly recover from stuns, however, you will be unable to attack. \
This spell can be cast in rapid succession, but doing so will increase the cooldown."
gain_text = "In the flurry of death, he found peace within himself. Despite insurmountable odds, he forged on."
- spell_to_add = /datum/action/cooldown/spell/realignment
+ action_to_add = /datum/action/cooldown/spell/realignment
cost = 1
@@ -364,7 +364,7 @@
at a target, dealing damage and causing bleeding."
gain_text = "Without thinking, I took the knife of a fallen soldier and threw with all my might. My aim was true! \
The Torn Champion smiled at their first taste of agony, and with a nod, their blades became my own."
- spell_to_add = /datum/action/cooldown/spell/pointed/projectile/furious_steel
+ action_to_add = /datum/action/cooldown/spell/pointed/projectile/furious_steel
cost = 1
/datum/heretic_knowledge/ultimate/blade_final
diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm
index 6a895a7ffdf..90fe514cde9 100644
--- a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm
@@ -62,7 +62,7 @@
However, people with a star mark will get transported along with another person using the rune."
gain_text = "The distant stars crept into my dreams, roaring and screaming without reason. \
I spoke, and heard my own words echoed back."
- spell_to_add = /datum/action/cooldown/spell/cosmic_rune
+ action_to_add = /datum/action/cooldown/spell/cosmic_rune
cost = 1
@@ -86,7 +86,7 @@
The beam lasts a minute, until the beam is obstructed or until a new target has been found."
gain_text = "After waking in a cold sweat I felt a palm on my scalp, a sigil burned onto me. \
My veins now emitted a strange purple glow, the Beast knows I will surpass its expectations."
- spell_to_add = /datum/action/cooldown/spell/touch/star_touch
+ action_to_add = /datum/action/cooldown/spell/touch/star_touch
cost = 1
/datum/heretic_knowledge/spell/star_blast
@@ -94,7 +94,7 @@
desc = "Fires a projectile that moves very slowly, raising a short-lived wall of cosmic fields where it goes. \
Anyone hit by the projectile will receive burn damage, a knockdown, and give people in a three tile range a star mark."
gain_text = "The Beast was behind me now at all times, with each sacrifice words of affirmation coursed through me."
- spell_to_add = /datum/action/cooldown/spell/pointed/projectile/star_blast
+ action_to_add = /datum/action/cooldown/spell/pointed/projectile/star_blast
cost = 1
/datum/heretic_knowledge/blade_upgrade/cosmic
@@ -199,7 +199,7 @@
desc = "Grants you Cosmic Expansion, a spell that creates a 3x3 area of cosmic fields around you. \
Nearby beings will also receive a star mark."
gain_text = "The ground now shook beneath me. The Beast inhabited me, and their voice was intoxicating."
- spell_to_add = /datum/action/cooldown/spell/conjure/cosmic_expansion
+ action_to_add = /datum/action/cooldown/spell/conjure/cosmic_expansion
cost = 1
/datum/heretic_knowledge/ultimate/cosmic_final
diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm
index 976ce2ae7ba..57e60c46b63 100644
--- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm
@@ -214,7 +214,7 @@
This spell also allows you to heal your minions and summons, or restore failing organs to acceptable status."
gain_text = "But they were not out of my reach for long. With every step, the screams grew, until at last \
I learned that they could be silenced."
- spell_to_add = /datum/action/cooldown/spell/touch/flesh_surgery
+ action_to_add = /datum/action/cooldown/spell/touch/flesh_surgery
cost = 1
/datum/heretic_knowledge/summon/raw_prophet
diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.dm b/code/modules/antagonists/heretic/knowledge/lock_lore.dm
index 28e02112fd7..6333e9a8fa4 100644
--- a/code/modules/antagonists/heretic/knowledge/lock_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/lock_lore.dm
@@ -136,7 +136,7 @@
that puts a random item from the victims backpack into your hand."
gain_text = "Consorting with Burglar spirits is frowned upon, but a Steward will always want to learn about new doors."
- spell_to_add = /datum/action/cooldown/spell/pointed/burglar_finesse
+ action_to_add = /datum/action/cooldown/spell/pointed/burglar_finesse
cost = 1
/datum/heretic_knowledge/blade_upgrade/flesh/lock //basically a chance-based weeping avulsion version of the former
@@ -158,7 +158,7 @@
While in refuge, you cannot use your hands or spells, and you are immune to slowdown. \
You are invincible but unable to harm anything. Cancelled by being hit with an anti-magic item."
gain_text = "Jealously, the Guard and the Hound hunted me. But I unlocked my form, and was but a haze, untouchable."
- spell_to_add = /datum/action/cooldown/spell/caretaker
+ action_to_add = /datum/action/cooldown/spell/caretaker
cost = 1
/datum/heretic_knowledge/ultimate/lock_final
diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm
index 2ab75e96c5a..9628305f50b 100644
--- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm
@@ -32,7 +32,7 @@
research_tree_icon_state = "moon_blade"
/datum/heretic_knowledge/limited_amount/starting/base_moon/on_gain(mob/user, datum/antagonist/heretic/our_heretic)
- add_traits(user ,TRAIT_EMPATH, REF(src))
+ ADD_TRAIT(user, TRAIT_EMPATH, REF(src))
/datum/heretic_knowledge/moon_grasp
name = "Grasp of Lunacy"
@@ -70,7 +70,7 @@
duration based on their sanity."
gain_text = "The moon smiles upon us all and those who see its true side can bring its joy."
- spell_to_add = /datum/action/cooldown/spell/pointed/moon_smile
+ action_to_add = /datum/action/cooldown/spell/pointed/moon_smile
cost = 1
/datum/heretic_knowledge/mark/moon_mark
@@ -89,7 +89,7 @@
desc = "Grants you Lunar Parade, a spell that - after a short charge - sends a carnival forward \
when hitting someone they are forced to join the parade and suffer hallucinations."
gain_text = "The music like a reflection of the soul compelled them, like moths to a flame they followed"
- spell_to_add = /datum/action/cooldown/spell/pointed/projectile/moon_parade
+ action_to_add = /datum/action/cooldown/spell/pointed/projectile/moon_parade
cost = 1
/datum/heretic_knowledge/moon_amulet
@@ -144,7 +144,7 @@
gain_text = "I grabbed his hand and we rose, those who saw the truth rose with us. \
The ringleader pointed up and the dim light of truth illuminated us further."
- spell_to_add = /datum/action/cooldown/spell/aoe/moon_ringleader
+ action_to_add = /datum/action/cooldown/spell/aoe/moon_ringleader
cost = 1
diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm
index a2f0a91e69a..f624767f33e 100644
--- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm
@@ -104,7 +104,7 @@
Anyone overtop the wall will be throw aside (or upwards) and sustain damage."
gain_text = "Images of foreign and ominous structures began to dance in my mind. Covered head to toe in thick rust, \
they no longer looked man made. Or perhaps they never were in the first place."
- spell_to_add = /datum/action/cooldown/spell/pointed/rust_construction
+ action_to_add = /datum/action/cooldown/spell/pointed/rust_construction
cost = 1
/datum/heretic_knowledge/spell/area_conversion
@@ -112,7 +112,7 @@
desc = "Grants you Aggressive Spread, a spell that spreads rust to nearby surfaces. \
Already rusted surfaces are destroyed \ Also improves the rusting abilities of non rust-heretics."
gain_text = "All wise men know well not to visit the Rusted Hills... Yet the Blacksmith's tale was inspiring."
- spell_to_add = /datum/action/cooldown/spell/aoe/rust_conversion
+ action_to_add = /datum/action/cooldown/spell/aoe/rust_conversion
cost = 1
research_tree_icon_frame = 5
@@ -147,7 +147,7 @@
gain_text = "The corrosion was unstoppable. The rust was unpleasable. \
The Blacksmith was gone, and you hold their blade. Champions of hope, the Rustbringer is nigh!"
- spell_to_add = /datum/action/cooldown/spell/cone/staggered/entropic_plume
+ action_to_add = /datum/action/cooldown/spell/cone/staggered/entropic_plume
cost = 1
diff --git a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm
index 05b414fe346..a09c9cd8797 100644
--- a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm
@@ -112,7 +112,7 @@
desc = "A charge that must be started on a rusted tile and will destroy any rusted objects you come into contact with, will deal high damage to others and rust around you during the charge."
gain_text = "The hills sparkled now, as I neared them my mind began to wander. I quickly regained my resolve and pushed forward, this last leg would be the most treacherous."
- spell_to_add = /datum/action/cooldown/mob_cooldown/charge/rust
+ action_to_add = /datum/action/cooldown/mob_cooldown/charge/rust
cost = 1
diff --git a/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm b/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm
index 03b4fc477ad..d15bb242989 100644
--- a/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm
@@ -36,7 +36,7 @@
You can only phase in and out when you are on a space or misc turf."
gain_text = "You feel like your body can move through space as if you where dust."
- spell_to_add = /datum/action/cooldown/spell/jaunt/space_crawl
+ action_to_add = /datum/action/cooldown/spell/jaunt/space_crawl
cost = 1
diff --git a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm
index 7891b50aabc..bd7f1cf621c 100644
--- a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm
@@ -35,7 +35,7 @@
Also has a chance to transfer wounds from you to the victim."
gain_text = "\"No matter the man, we bleed all the same.\" That's what the Marshal told me."
- spell_to_add = /datum/action/cooldown/spell/pointed/blood_siphon
+ action_to_add = /datum/action/cooldown/spell/pointed/blood_siphon
cost = 1
/datum/heretic_knowledge/spell/void_prison
@@ -47,7 +47,7 @@
But the only welts made are on my own beating fist. \
My smiling face turns to regard me, reflecting back in glassy eyes the empty path I have been lead down."
- spell_to_add = /datum/action/cooldown/spell/pointed/void_prison
+ action_to_add = /datum/action/cooldown/spell/pointed/void_prison
cost = 1
/datum/heretic_knowledge/spell/cleave
@@ -57,7 +57,7 @@
gain_text = "At first I didn't understand these instruments of war, but the Priest \
told me to use them regardless. Soon, he said, I would know them well."
- spell_to_add = /datum/action/cooldown/spell/pointed/cleave
+ action_to_add = /datum/action/cooldown/spell/pointed/cleave
cost = 1
diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm b/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm
index aa85f31d006..0f7c9d9fc70 100644
--- a/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm
@@ -22,7 +22,7 @@
However, you will fall unconscious a short time after casting this spell."
gain_text = "My shackles undone in dark fury, their feeble bindings crumble before my power."
- spell_to_add = /datum/action/cooldown/spell/aoe/wave_of_desperation
+ action_to_add = /datum/action/cooldown/spell/aoe/wave_of_desperation
cost = 1
/datum/heretic_knowledge/spell/apetra_vulnera
@@ -32,7 +32,7 @@
Wounds a random limb if no limb is sufficiently damaged."
gain_text = "Flesh opens, and blood spills. My master seeks sacrifice, and I shall appease."
- spell_to_add = /datum/action/cooldown/spell/pointed/apetra_vulnera
+ action_to_add = /datum/action/cooldown/spell/pointed/apetra_vulnera
cost = 1
diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm
index f8a3cdf465b..5d3795b0ce9 100644
--- a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm
+++ b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm
@@ -25,7 +25,7 @@
The caster takes 20 brain damage per use."
gain_text = "My mind swings open like a gate, and its insight will let me perceive the truth."
- spell_to_add = /datum/action/cooldown/spell/pointed/mind_gate
+ action_to_add = /datum/action/cooldown/spell/pointed/mind_gate
cost = 1
/datum/heretic_knowledge/unfathomable_curio
diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.dm b/code/modules/antagonists/heretic/knowledge/starting_lore.dm
index d6c9d1bc216..b20009febcf 100644
--- a/code/modules/antagonists/heretic/knowledge/starting_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/starting_lore.dm
@@ -21,7 +21,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge())
desc = "Starts your journey into the Mansus. \
Grants you the Mansus Grasp, a powerful and upgradable \
disabling spell that can be cast regardless of having a focus."
- spell_to_add = /datum/action/cooldown/spell/touch/mansus_grasp
+ action_to_add = /datum/action/cooldown/spell/touch/mansus_grasp
cost = 0
is_starting_knowledge = TRUE
@@ -211,7 +211,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge())
name = "Cloak of Shadow"
desc = "Grants you the spell Cloak of Shadow. This spell will completely conceal your identity in a purple smoke \
for three minutes, assisting you in keeping secrecy. Requires a focus to cast."
- spell_to_add = /datum/action/cooldown/spell/shadow_cloak
+ action_to_add = /datum/action/cooldown/spell/shadow_cloak
cost = 0
is_starting_knowledge = TRUE
diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm
index fb4bc579247..14e2ffe0e9a 100644
--- a/code/modules/antagonists/heretic/knowledge/void_lore.dm
+++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm
@@ -116,7 +116,7 @@
gain_text = "The hum in the still, cold air turns to a cacophonous rattle. \
Over the noise, there is no distinction to the clattering of window panes and the yawning knowledge that ricochets through my skull. \
The doors won't close. I can't keep the cold out now."
- spell_to_add = /datum/action/cooldown/spell/conjure/void_conduit
+ action_to_add = /datum/action/cooldown/spell/conjure/void_conduit
cost = 1
/datum/heretic_knowledge/spell/void_phase
@@ -125,7 +125,7 @@
Additionally causes damage to heathens around your original and target destination."
gain_text = "The entity calls themself the Aristocrat. They effortlessly walk through air like \
nothing - leaving a harsh, cold breeze in their wake. They disappear, and I am left in the blizzard."
- spell_to_add = /datum/action/cooldown/spell/pointed/void_phase
+ action_to_add = /datum/action/cooldown/spell/pointed/void_phase
cost = 1
research_tree_icon_frame = 7
@@ -162,7 +162,7 @@
gain_text = "All is fleeting, but what else stays? I'm close to ending what was started. \
The Aristocrat reveals themselves to me again. They tell me I am late. Their pull is immense, I cannot turn back."
- spell_to_add = /datum/action/cooldown/spell/aoe/void_pull
+ action_to_add = /datum/action/cooldown/spell/aoe/void_pull
cost = 1
diff --git a/code/modules/antagonists/spy/spy_bounty.dm b/code/modules/antagonists/spy/spy_bounty.dm
index 1aa318fb682..f45da0fdce8 100644
--- a/code/modules/antagonists/spy/spy_bounty.dm
+++ b/code/modules/antagonists/spy/spy_bounty.dm
@@ -639,7 +639,7 @@
theft_time = 10 SECONDS
black_market_prob = 0
/// What typepath of bot we want to steal.
- var/mob/living/simple_animal/bot/bot_type
+ var/mob/living/bot_type
/// Weakref to the bot we want to steal.
VAR_FINAL/datum/weakref/target_bot_ref
@@ -655,7 +655,7 @@
/datum/spy_bounty/some_bot/init_bounty(datum/spy_bounty_handler/handler)
for(var/datum/spy_bounty/some_bot/existing_bounty in handler.get_all_bounties())
- var/mob/living/simple_animal/bot/existing_bot_type = existing_bounty.bot_type
+ var/mob/living/existing_bot_type = existing_bounty.bot_type
// ensures we don't get two similar bounties.
// may occasionally cast a wider net than we'd desire, but it's not that bad.
if(ispath(bot_type, initial(existing_bot_type.parent_type)))
diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm
index 8b99d5a3edc..ebdb64b9afd 100644
--- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm
+++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm
@@ -37,7 +37,7 @@
///Are we active?
var/excited = FALSE
///Our gas mix
- var/datum/gas_mixture/turf/air
+ var/datum/gas_mixture/air
///If there is an active hotspot on us store a reference to it here
var/obj/effect/hotspot/active_hotspot
diff --git a/code/modules/autowiki/pages/fishing.dm b/code/modules/autowiki/pages/fishing.dm
index eab26bd6c6c..ce2872235bb 100644
--- a/code/modules/autowiki/pages/fishing.dm
+++ b/code/modules/autowiki/pages/fishing.dm
@@ -44,7 +44,7 @@
if(fish::breeding_timeout != def_breeding)
extra_info += "It takes [DisplayTimeText(fish::breeding_timeout)] to reproduce instead of [def_breeding_text]"
if(length(extra_info))
- description += "
[extra_info.Join(extra_info,"
")]"
+ description += "
[extra_info.Join("
")]"
var/list/output_list = list(
"name" = full_capitalize(escape_value(fish::name)),
diff --git a/code/modules/bitrunning/objects/vendor.dm b/code/modules/bitrunning/objects/vendor.dm
index d44630bc3be..f373a8617b4 100644
--- a/code/modules/bitrunning/objects/vendor.dm
+++ b/code/modules/bitrunning/objects/vendor.dm
@@ -33,7 +33,7 @@
/obj/machinery/computer/order_console/bitrunning/order_groceries(mob/living/purchaser, obj/item/card/id/card, list/groceries)
var/list/things_to_order = list()
for(var/datum/orderable_item/item as anything in groceries)
- things_to_order[item.item_path] = groceries[item]
+ things_to_order[item.purchase_path] = groceries[item]
var/datum/supply_pack/bitrunning/pack = new(
purchaser = purchaser, \
diff --git a/code/modules/bitrunning/orders/bepis.dm b/code/modules/bitrunning/orders/bepis.dm
index 4b7253bdaf2..f10eaaf3245 100644
--- a/code/modules/bitrunning/orders/bepis.dm
+++ b/code/modules/bitrunning/orders/bepis.dm
@@ -2,18 +2,18 @@
category_index = CATEGORY_BEPIS
/datum/orderable_item/bepis/circuit_stack
- item_path = /obj/item/stack/circuit_stack/full
+ purchase_path = /obj/item/stack/circuit_stack/full
cost_per_order = 150
/datum/orderable_item/bepis/survival_pen
- item_path = /obj/item/pen/survival
+ purchase_path = /obj/item/pen/survival
cost_per_order = 150
/datum/orderable_item/bepis/party_sleeper
- item_path = /obj/item/circuitboard/machine/sleeper/party
+ purchase_path = /obj/item/circuitboard/machine/sleeper/party
cost_per_order = 750
desc = "A decommissioned sleeper circuitboard, repurposed for recreational purposes."
/datum/orderable_item/bepis/sprayoncan
- item_path = /obj/item/toy/sprayoncan
+ purchase_path = /obj/item/toy/sprayoncan
cost_per_order = 750
diff --git a/code/modules/bitrunning/orders/flair.dm b/code/modules/bitrunning/orders/flair.dm
index ef36348eb6a..0b1b79b03d0 100644
--- a/code/modules/bitrunning/orders/flair.dm
+++ b/code/modules/bitrunning/orders/flair.dm
@@ -2,39 +2,39 @@
category_index = CATEGORY_BITRUNNING_FLAIR
/datum/orderable_item/bitrunning_flair/cornchips
- item_path = /obj/item/food/cornchips
+ purchase_path = /obj/item/food/cornchips
cost_per_order = 100
/datum/orderable_item/bitrunning_flair/mountain_wind
- item_path = /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind
+ purchase_path = /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind
cost_per_order = 100
/datum/orderable_item/bitrunning_flair/pwr_game
- item_path = /obj/item/reagent_containers/cup/soda_cans/pwr_game
+ purchase_path = /obj/item/reagent_containers/cup/soda_cans/pwr_game
cost_per_order = 200
/datum/orderable_item/bitrunning_flair/grey_bull
- item_path = /obj/item/reagent_containers/cup/soda_cans/grey_bull
+ purchase_path = /obj/item/reagent_containers/cup/soda_cans/grey_bull
cost_per_order = 200
/datum/orderable_item/bitrunning_flair/medkit
- item_path = /obj/item/storage/medkit/brute
+ purchase_path = /obj/item/storage/medkit/brute
desc = "Don't beat yourself up, it's just a game!"
cost_per_order = 500
/datum/orderable_item/bitrunning_flair/medkit_fire
- item_path = /obj/item/storage/medkit/fire
+ purchase_path = /obj/item/storage/medkit/fire
desc = "Great after heated gaming sessions."
cost_per_order = 500
/datum/orderable_item/bitrunning_flair/oval_sunglasses
- item_path = /obj/item/clothing/glasses/sunglasses/oval
+ purchase_path = /obj/item/clothing/glasses/sunglasses/oval
cost_per_order = 1000
/datum/orderable_item/bitrunning_flair/trenchcoat
- item_path = /obj/item/clothing/suit/jacket/trenchcoat
+ purchase_path = /obj/item/clothing/suit/jacket/trenchcoat
cost_per_order = 1000
/datum/orderable_item/bitrunning_flair/jackboots
- item_path = /obj/item/clothing/shoes/jackboots
+ purchase_path = /obj/item/clothing/shoes/jackboots
cost_per_order = 1000
diff --git a/code/modules/bitrunning/orders/tech.dm b/code/modules/bitrunning/orders/tech.dm
index 9dd1db17c79..cb509fb6252 100644
--- a/code/modules/bitrunning/orders/tech.dm
+++ b/code/modules/bitrunning/orders/tech.dm
@@ -3,54 +3,54 @@
/datum/orderable_item/bitrunning_tech/item_tier1
cost_per_order = 750
- item_path = /obj/item/bitrunning_disk/item/tier1
+ purchase_path = /obj/item/bitrunning_disk/item/tier1
desc = "This disk contains a program that lets you equip a medical beamgun, a C4 explosive, or a box of infinite pizza."
/datum/orderable_item/bitrunning_tech/item_tier2
cost_per_order = 1250
- item_path = /obj/item/bitrunning_disk/item/tier2
+ purchase_path = /obj/item/bitrunning_disk/item/tier2
desc = "This disk contains a program that lets you equip a luxury medipen, a pistol, or an armour vest."
/datum/orderable_item/bitrunning_tech/item_tier3
cost_per_order = 2000
- item_path = /obj/item/bitrunning_disk/item/tier3
+ purchase_path = /obj/item/bitrunning_disk/item/tier3
desc = "This disk contains a program that lets you equip an advanced energy gun, a dual bladed energy sword, or a minibomb."
/datum/orderable_item/bitrunning_tech/ability_tier1
cost_per_order = 750
- item_path = /obj/item/bitrunning_disk/ability/tier1
+ purchase_path = /obj/item/bitrunning_disk/ability/tier1
desc = "This disk contains a program that lets you cast Summon Cheese or Lesser Heal."
/datum/orderable_item/bitrunning_tech/ability_tier2
cost_per_order = 1500
- item_path = /obj/item/bitrunning_disk/ability/tier2
+ purchase_path = /obj/item/bitrunning_disk/ability/tier2
desc = "This disk contains a program that lets you cast Fireball, Lightning Bolt, or Forcewall."
/datum/orderable_item/bitrunning_tech/ability_tier3
cost_per_order = 2500
- item_path = /obj/item/bitrunning_disk/ability/tier3
+ purchase_path = /obj/item/bitrunning_disk/ability/tier3
desc = "This disk contains a program that lets you shapeshift into a lesser ashdrake, or a polar bear."
/datum/orderable_item/bitrunning_tech/flip_skillchip
- item_path = /obj/item/skillchip/matrix_taunt
+ purchase_path = /obj/item/skillchip/matrix_taunt
cost_per_order = 1500
/datum/orderable_item/bitrunning_tech/pka_mod
- item_path = /obj/item/bitrunning_disk/item/pka_mods
+ purchase_path = /obj/item/bitrunning_disk/item/pka_mods
cost_per_order = 750
desc = "This disk contains a program that lets you equip modkits for the proto-kinetic accelerator. Proto-kinetic accelerator not included."
/datum/orderable_item/bitrunning_tech/pka_mod/premium
- item_path = /obj/item/bitrunning_disk/item/pka_mods/premium
+ purchase_path = /obj/item/bitrunning_disk/item/pka_mods/premium
cost_per_order = 1600
desc = "This disk contains a program that lets you equip stronger modkits for the proto-kinetic accelerator. Proto-kinetic accelerator not included."
/datum/orderable_item/bitrunning_tech/pkc_mod
- item_path = /obj/item/bitrunning_disk/item/pkc_mods
+ purchase_path = /obj/item/bitrunning_disk/item/pkc_mods
cost_per_order = 750
desc = "This disk contains a program that lets you equip trophies for the proto-kinetic crusher. Proto-kinetic crusher no included."
/datum/orderable_item/bitrunning_tech/pkc_mod/premium
- item_path = /obj/item/bitrunning_disk/item/pkc_mods/premium
+ purchase_path = /obj/item/bitrunning_disk/item/pkc_mods/premium
cost_per_order = 1600
desc = "This disk contains a program that lets you equip stronger trophies for the proto-kinetic crusher. Proto-kinetic crusher not included."
diff --git a/code/modules/bitrunning/server/_parent.dm b/code/modules/bitrunning/server/_parent.dm
index 672a79ba72c..5e29c1729b4 100644
--- a/code/modules/bitrunning/server/_parent.dm
+++ b/code/modules/bitrunning/server/_parent.dm
@@ -45,7 +45,7 @@
/// Maximum rate at which a glitch can spawn
var/threat_prob_max = 15
/// The turfs we can place a hololadder on.
- var/turf/exit_turfs = list()
+ var/list/turf/exit_turfs = list()
/// Determines if we broadcast to entertainment monitors or not
var/broadcasting = FALSE
/// Cooldown between being able to toggle broadcasting
diff --git a/code/modules/capture_the_flag/ctf_game.dm b/code/modules/capture_the_flag/ctf_game.dm
index 2f292218e79..968e6e2953e 100644
--- a/code/modules/capture_the_flag/ctf_game.dm
+++ b/code/modules/capture_the_flag/ctf_game.dm
@@ -403,7 +403,7 @@
alpha = 255
/obj/structure/trap/ctf/examine(mob/user)
- return
+ return list()
/obj/structure/trap/ctf/trap_effect(mob/living/living)
if(!is_ctf_target(living))
diff --git a/code/modules/cargo/bounties/botany.dm b/code/modules/cargo/bounties/botany.dm
index 905122584bf..042bb60636f 100644
--- a/code/modules/cargo/bounties/botany.dm
+++ b/code/modules/cargo/bounties/botany.dm
@@ -1,8 +1,8 @@
/datum/bounty/item/botany
reward = CARGO_CRATE_VALUE * 10
- var/datum/bounty/item/botany/multiplier = 0 //adds bonus reward money; increased for higher tier or rare mutations
- var/datum/bounty/item/botany/bonus_desc //for adding extra flavor text to bounty descriptions
- var/datum/bounty/item/botany/foodtype = "meal" //same here
+ var/multiplier = 0 //adds bonus reward money; increased for higher tier or rare mutations
+ var/bonus_desc //for adding extra flavor text to bounty descriptions
+ var/foodtype = "meal" //same here
/datum/bounty/item/botany/New()
..()
diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm
index 1ba739d3343..bb1c4ea8a8b 100644
--- a/code/modules/cargo/centcom_podlauncher.dm
+++ b/code/modules/cargo/centcom_podlauncher.dm
@@ -303,7 +303,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a
return
if (!isnum(boomInput[i])) //If the user doesn't input a number, set that specific explosion value to zero
tgui_alert(usr, "That wasn't a number! Value set to default (zero) instead.")
- boomInput = 0
+ boomInput[i] = 0
explosionChoice = 1
temp_pod.explosionSize = boomInput
. = TRUE
diff --git a/code/modules/fishing/fishing_equipment.dm b/code/modules/fishing/fishing_equipment.dm
index 1b589e18be3..ab72b0b0fb2 100644
--- a/code/modules/fishing/fishing_equipment.dm
+++ b/code/modules/fishing/fishing_equipment.dm
@@ -12,8 +12,8 @@
icon = 'icons/obj/fishing.dmi'
icon_state = "reel_blue"
w_class = WEIGHT_CLASS_SMALL
- ///A list of traits that this fishing line has, checked by fish traits and the minigame.
- var/list/fishing_line_traits
+ ///A bitfield of traits that this fishing line has, checked by fish traits and the minigame.
+ var/fishing_line_traits
/// Color of the fishing line
var/line_color = COLOR_GRAY
///The description given to the autowiki
@@ -146,11 +146,11 @@
icon_state = "hook"
w_class = WEIGHT_CLASS_TINY
- /// A list of traits that this fishing hook has, checked by fish traits and the minigame
- var/list/fishing_hook_traits
+ /// A bitfield of traits that this fishing hook has, checked by fish traits and the minigame
+ var/fishing_hook_traits
/// icon state added to main rod icon when this hook is equipped
var/rod_overlay_icon_state = "hook_overlay"
- /// What subtype of `/obj/item/chasm_detritus` do we fish out of chasms? Defaults to `/obj/item/chasm_detritus`.
+ /// What subtype of `/datum/chasm_detritus` do we fish out of chasms? Defaults to `/datum/chasm_detritus`.
var/chasm_detritus_type = /datum/chasm_detritus
///The description given to the autowiki
var/wiki_desc = "A generic fishing hook. You won't be able to fish without one."
diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm
index 0481d1c4910..afd566b7e47 100644
--- a/code/modules/food_and_drinks/machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/machinery/smartfridge.dm
@@ -526,7 +526,7 @@
/obj/machinery/smartfridge/drying/proc/toggle_drying(forceoff, mob/user)
if(drying || forceoff)
drying = FALSE
- current_user = FALSE
+ current_user = null
update_use_power(IDLE_POWER_USE)
else
drying = TRUE
diff --git a/code/modules/hallucination/stray_bullet.dm b/code/modules/hallucination/stray_bullet.dm
index 13ace293335..11f88c8c964 100644
--- a/code/modules/hallucination/stray_bullet.dm
+++ b/code/modules/hallucination/stray_bullet.dm
@@ -101,7 +101,6 @@
spawn_hit(target, TRUE)
qdel(src)
- return TRUE
/// Called when a mob is hit by the fake projectile
/obj/projectile/hallucination/proc/on_mob_hit(mob/living/hit_mob)
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index 4589a3c4312..e0e88f7c402 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -50,7 +50,7 @@
var/list/genes = list()
/// A list of reagents to add to product.
var/list/reagents_add
- // Format: "reagent_id" = potency multiplier
+ // Format: /datum/reagent/type = potency multiplier
// Stronger reagents must always come first to avoid being displaced by weaker ones.
// Total amount of any reagent in plant is calculated by formula: max(round(potency * multiplier), 1)
///If the chance below passes, then this many weeds sprout during growth
diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm
index 9b2dc91137c..a84d4e0e737 100644
--- a/code/modules/jobs/job_types/security_officer.dm
+++ b/code/modules/jobs/job_types/security_officer.dm
@@ -83,7 +83,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution)
var/ears = null
var/accessory = null
- var/list/dep_trim = null
+ var/datum/id_trim/dep_trim = null
var/destination = null
switch(department)
diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm
index 7ef451ddc30..ce57035a766 100644
--- a/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm
+++ b/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm
@@ -59,13 +59,13 @@
if(offeredmob.mind?.has_antag_datum(/datum/antagonist/ashwalker) && (offeredmob.ckey || offeredmob.get_ghost(FALSE, TRUE))) //special interactions for dead lava lizards with ghosts attached
visible_message(span_warning("Serrated tendrils carefully pull [offeredmob] to [src], absorbing the body and creating it anew."))
- var/datum/mind/deadmind
+ var/mob/deadmob
if(offeredmob.ckey)
- deadmind = offeredmob
+ deadmob = offeredmob
else
- deadmind = offeredmob.get_ghost(FALSE, TRUE)
- to_chat(deadmind, "Your body has been returned to the nest. You are being remade anew, and will awaken shortly. Your memories will remain intact in your new body, as your soul is being salvaged")
- SEND_SOUND(deadmind, sound('sound/effects/magic/enter_blood.ogg',volume=100))
+ deadmob = offeredmob.get_ghost(FALSE, TRUE)
+ to_chat(deadmob, "Your body has been returned to the nest. You are being remade anew, and will awaken shortly. Your memories will remain intact in your new body, as your soul is being salvaged")
+ SEND_SOUND(deadmob, sound('sound/effects/magic/enter_blood.ogg',volume=100))
addtimer(CALLBACK(src, PROC_REF(remake_walker), offeredmob), 20 SECONDS)
offeredmob.forceMove(src)
return
diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm b/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm
index 39458ac9429..ac4f257dc2a 100644
--- a/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm
+++ b/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm
@@ -245,7 +245,7 @@
//is this being used as part of the haunted trading post ruin? if true, will self destruct when boss dies
var/donk_ai_slave = FALSE
// machine that the trap inhabits
- var/obj/structure/host_machine
+ var/obj/machinery/host_machine
// turf that the trap is on
var/turf/my_turf
//how long until trap zaps everything, after it detects something
diff --git a/code/modules/mining/equipment/grapple_gun.dm b/code/modules/mining/equipment/grapple_gun.dm
index 0247d0164b0..fa7f0b0b735 100644
--- a/code/modules/mining/equipment/grapple_gun.dm
+++ b/code/modules/mining/equipment/grapple_gun.dm
@@ -10,7 +10,7 @@
inhand_icon_state = "gun"
item_flags = NOBLUDGEON
///overlay when the hook is retracted
- var/static/mutable_appearance/hook_overlay = new(icon = 'icons/obj/mining.dmi', icon_state = "grapple_gun_hooked")
+ var/static/mutable_appearance/hook_overlay = mutable_appearance(icon = 'icons/obj/mining.dmi', icon_state = "grapple_gun_hooked")
///is the hook retracted
var/hooked = TRUE
///addtimer id for launching the user
diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling_projectiles.dm b/code/modules/mob/living/basic/jungle/seedling/seedling_projectiles.dm
index 303776384d1..4e9e0459587 100644
--- a/code/modules/mob/living/basic/jungle/seedling/seedling_projectiles.dm
+++ b/code/modules/mob/living/basic/jungle/seedling/seedling_projectiles.dm
@@ -17,7 +17,7 @@
var/mob/living/living_target = target
if(FACTION_JUNGLE in living_target.faction)
- return
+ return BULLET_ACT_BLOCK
return ..()
diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm
index d9caad42292..323420cb8ae 100644
--- a/code/modules/mob/living/silicon/robot/robot_defense.dm
+++ b/code/modules/mob/living/silicon/robot/robot_defense.dm
@@ -456,7 +456,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
if(EXPLODE_DEVASTATE)
investigate_log("has been gibbed by an explosion.", INVESTIGATE_DEATHS)
gib(DROP_ALL_REMAINS)
- return
+ return TRUE
if(EXPLODE_HEAVY)
if (stat != DEAD)
adjustBruteLoss(60)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm
index 03d79c108d6..f57ea3e0582 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm
@@ -121,7 +121,7 @@ IGNORE_PROC_IF_NOT_TARGET(attack_animal)
/mob/living/simple_animal/hostile/asteroid/curseblob/bullet_act(obj/projectile/Proj)
if(Proj.firer != set_target)
- return
+ return BULLET_ACT_BLOCK
return ..()
/mob/living/simple_animal/hostile/asteroid/curseblob/attacked_by(obj/item/I, mob/living/L)
diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm
index dc273965e81..d1817e5170b 100644
--- a/code/modules/mod/modules/modules_general.dm
+++ b/code/modules/mod/modules/modules_general.dm
@@ -926,7 +926,7 @@
icon_state = "fishing_glove"
complexity = 1
overlay_state_inactive = "fishing_glove"
- incompatible_modules = (/obj/item/mod/module/fishing_glove)
+ incompatible_modules = list(/obj/item/mod/module/fishing_glove)
required_slots = list(ITEM_SLOT_GLOVES)
var/obj/item/fishing_rod/equipped
diff --git a/code/modules/modular_computers/file_system/programs/virtual_pet.dm b/code/modules/modular_computers/file_system/programs/virtual_pet.dm
index 746824f8d8b..ed30fdbd703 100644
--- a/code/modules/modular_computers/file_system/programs/virtual_pet.dm
+++ b/code/modules/modular_computers/file_system/programs/virtual_pet.dm
@@ -445,7 +445,7 @@ GLOBAL_LIST_EMPTY(virtual_pets_list)
for(var/type_index as anything in hat_selections)
if(level >= hat_selections[type_index])
var/obj/item/hat = type_index
- var/obj/item/hat_name = initial(hat.name)
+ var/hat_name = initial(hat.name)
if(length(SSachievements.achievements)) // The Achievements subsystem is active.
var/datum/award/required_cheevo = cheevo_hats[hat]
if(required_cheevo && !user.client.get_award_status(required_cheevo))
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 1993a51e29b..a53d959c9e3 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -149,7 +149,7 @@
if(current_size <= STAGE_TWO)
investigate_log("has been destroyed by a heavy explosion.", INVESTIGATE_ENGINE)
qdel(src)
- return
+ return TRUE
energy -= round(((energy + 1) / 2), 1)
if(EXPLODE_HEAVY)
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 9c69a718986..08cce7d7315 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -154,7 +154,7 @@
/obj/projectile/beam/laser/accelerator/Range()
..()
damage += 7
- transform = 0
+ transform = matrix()
transform *= min(1 + (decayedRange - range) * size_per_tile, max_scale)
///X-ray gun
diff --git a/code/modules/projectiles/projectile/energy/nuclear_particle.dm b/code/modules/projectiles/projectile/energy/nuclear_particle.dm
index b82ff478a05..6626cb9b5ed 100644
--- a/code/modules/projectiles/projectile/energy/nuclear_particle.dm
+++ b/code/modules/projectiles/projectile/energy/nuclear_particle.dm
@@ -29,7 +29,7 @@
if (ishuman(target))
SSradiation.irradiate(target)
- ..()
+ return ..()
/atom/proc/fire_nuclear_particle(angle = rand(0,360)) //used by fusion to fire random nuclear particles. Fires one particle in a random direction.
var/obj/projectile/energy/nuclear_particle/P = new /obj/projectile/energy/nuclear_particle(src)
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index 4ed21b0e298..f65383fbfcc 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -82,7 +82,7 @@
var/purge_multiplier = 1
///The default reagent container for the reagent, used for icon generation
- var/obj/item/reagent_containers/default_container = /obj/item/reagent_containers/cup/bottle
+ var/obj/default_container = /obj/item/reagent_containers/cup/bottle
// Used for restaurants.
///The amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!)
diff --git a/code/modules/religion/rites.dm b/code/modules/religion/rites.dm
index cd0fabba849..67526918167 100644
--- a/code/modules/religion/rites.dm
+++ b/code/modules/religion/rites.dm
@@ -20,9 +20,8 @@
LAZYADD(GLOB.religious_sect.active_rites, src)
/datum/religion_rites/Destroy()
- if(!GLOB?.religious_sect)
- return
- LAZYREMOVE(GLOB.religious_sect.active_rites, src)
+ if(GLOB?.religious_sect)
+ LAZYREMOVE(GLOB.religious_sect.active_rites, src)
return ..()
/datum/religion_rites/proc/can_afford(mob/living/user)
diff --git a/code/modules/research/techweb/_techweb_node.dm b/code/modules/research/techweb/_techweb_node.dm
index b6d3bd74d69..79b8b27986c 100644
--- a/code/modules/research/techweb/_techweb_node.dm
+++ b/code/modules/research/techweb/_techweb_node.dm
@@ -34,7 +34,7 @@
var/category = "Misc"
/// The list of experiments required to research the node
var/list/required_experiments = list()
- /// If completed, these experiments give a specific point amount discount to the node.area
+ /// If completed, these experiments give a specific point amount discount to the node.
var/list/discount_experiments = list()
/// When this node is completed, allows these experiments to be performed.
var/list/experiments_to_unlock = list()
diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm
index 4eed7f3e9a7..b5b7cc6f6ef 100644
--- a/code/modules/shuttle/supply.dm
+++ b/code/modules/shuttle/supply.dm
@@ -151,7 +151,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
investigate_log("Chef's [SSshuttle.chef_groceries.len] sized produce order arrived. Cost was deducted from orderer, not cargo.", INVESTIGATE_CARGO)
for(var/datum/orderable_item/item as anything in SSshuttle.chef_groceries)//every order
for(var/amt in 1 to SSshuttle.chef_groceries[item])//every order amount
- new item.item_path(grocery_crate)
+ new item.purchase_path(grocery_crate)
SSshuttle.chef_groceries.Cut() //This lets the console know it can order another round.
if(!SSshuttle.shopping_list.len)
diff --git a/code/modules/spells/spell_types/jaunt/bloodcrawl.dm b/code/modules/spells/spell_types/jaunt/bloodcrawl.dm
index 8c9c6809a06..aa6a58b1341 100644
--- a/code/modules/spells/spell_types/jaunt/bloodcrawl.dm
+++ b/code/modules/spells/spell_types/jaunt/bloodcrawl.dm
@@ -332,7 +332,7 @@
// Heals them back to state one
if(!friend.revive(ADMIN_HEAL_ALL, force_grab_ghost = TRUE))
continue
- playsound(release_turf, consumed_mobs, 50, TRUE, -1)
+ friend.playsound_local(release_turf, 'sound/effects/magic/exit_blood.ogg', 50, TRUE, -1)
to_chat(friend, span_clown("You leave [source]'s warm embrace, and feel ready to take on the world."))
diff --git a/code/modules/spells/spell_types/pointed/_pointed.dm b/code/modules/spells/spell_types/pointed/_pointed.dm
index 9189106d874..a96e2fe9fd2 100644
--- a/code/modules/spells/spell_types/pointed/_pointed.dm
+++ b/code/modules/spells/spell_types/pointed/_pointed.dm
@@ -101,7 +101,7 @@
*/
/datum/action/cooldown/spell/pointed/projectile
/// What projectile we create when we shoot our spell.
- var/obj/projectile/magic/projectile_type = /obj/projectile/magic/teleport
+ var/obj/projectile/projectile_type = /obj/projectile/magic/teleport
/// How many projectiles we can fire per cast. Not all at once, per click, kinda like charges
var/projectile_amount = 1
/// How many projectiles we have yet to fire, based on projectile_amount
diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm
index 683afe605c9..7467f85d79e 100644
--- a/code/modules/station_goals/bsa.dm
+++ b/code/modules/station_goals/bsa.dm
@@ -212,7 +212,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE)
var/turf/point = get_front_turf()
var/turf/target = get_target_turf()
- var/atom/movable/blocker
+ var/atom/blocker
for(var/T in get_line(get_step(point, dir), target))
var/turf/tile = T
if(SEND_SIGNAL(tile, COMSIG_ATOM_BSA_BEAM) & COMSIG_ATOM_BLOCKS_BSA_BEAM)
diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm
index 25f66f40af9..c7e1f7f7846 100644
--- a/code/modules/surgery/bodyparts/parts.dm
+++ b/code/modules/surgery/bodyparts/parts.dm
@@ -106,7 +106,7 @@
bodypart_flags = BODYPART_UNREMOVABLE
max_damage = LIMB_MAX_HP_ALIEN_CORE
acceptable_bodyshape = BODYSHAPE_HUMANOID
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/chest/larva
icon = 'icons/mob/human/species/alien/bodyparts.dmi'
@@ -119,7 +119,7 @@
max_damage = LIMB_MAX_HP_ALIEN_LARVA
bodytype = BODYTYPE_LARVA_PLACEHOLDER | BODYTYPE_ORGANIC
acceptable_bodytype = BODYTYPE_LARVA_PLACEHOLDER
- wing_types = NONE
+ wing_types = null
/// Parent Type for arms, should not appear in game.
/obj/item/bodypart/arm
diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm
index 756cda32fa3..3b1d56ee5b6 100644
--- a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm
@@ -22,7 +22,7 @@
is_dimorphic = FALSE
dmg_overlay_type = null
brute_modifier = 1.25 //ethereal are weak to brute damages
- wing_types = NONE
+ wing_types = null
bodypart_traits = list(TRAIT_NO_UNDERWEAR)
/obj/item/bodypart/chest/ethereal/update_limb(dropping_limb, is_creating)
diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm
index 08b22373d32..74219a32cf2 100644
--- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm
@@ -12,7 +12,7 @@
is_dimorphic = FALSE
burn_modifier = 2
biological_state = (BIO_FLESH|BIO_BLOODED)
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/arm/left/snail
limb_id = SPECIES_SNAIL
@@ -58,7 +58,7 @@
limb_id = SPECIES_ABDUCTOR
is_dimorphic = FALSE
should_draw_greyscale = FALSE
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/chest/abductor/get_butt_sprite()
return icon('icons/mob/butts.dmi', BUTT_SPRITE_GREY)
@@ -177,7 +177,7 @@
limb_id = SPECIES_ZOMBIE
is_dimorphic = FALSE
should_draw_greyscale = FALSE
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/arm/left/zombie
limb_id = SPECIES_ZOMBIE
@@ -216,7 +216,7 @@
limb_id = SPECIES_PODPERSON
is_dimorphic = TRUE
burn_modifier = 1.25
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/chest/pod/get_butt_sprite()
return icon('icons/mob/butts.dmi', BUTT_SPRITE_FLOWERPOT)
@@ -292,7 +292,7 @@
is_dimorphic = FALSE
should_draw_greyscale = FALSE
burn_modifier = 1.5
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/arm/left/shadow
limb_id = SPECIES_SHADOW
@@ -380,7 +380,7 @@
is_dimorphic = TRUE
bodypart_traits = list(TRAIT_NO_JUMPSUIT)
burn_modifier = 1.25
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/arm/left/mushroom
limb_id = SPECIES_MUSHROOM
@@ -483,7 +483,7 @@
should_draw_greyscale = FALSE
dmg_overlay_type = null
bodypart_traits = list(TRAIT_NO_JUMPSUIT)
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/chest/golem/Initialize(mapload)
worn_belt_offset = new(
diff --git a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm
index 0125601bda5..b668008e44c 100644
--- a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm
@@ -28,7 +28,7 @@
brute_modifier = 1.5 //Plasmemes are weak
burn_modifier = 1.5 //Plasmemes are weak
bodypart_flags = BODYPART_UNHUSKABLE
- wing_types = NONE
+ wing_types = null
/obj/item/bodypart/chest/plasmaman/get_butt_sprite()
return icon('icons/mob/butts.dmi', BUTT_SPRITE_PLASMA)
diff --git a/code/modules/transport/tram/tram_controller.dm b/code/modules/transport/tram/tram_controller.dm
index 5ac6d5bc748..37220034b66 100644
--- a/code/modules/transport/tram/tram_controller.dm
+++ b/code/modules/transport/tram/tram_controller.dm
@@ -144,7 +144,7 @@
tram_registration.active = FALSE
SSblackbox.record_feedback("amount", "tram_destroyed", 1)
SSpersistence.save_tram_history(specific_transport_id)
- ..()
+ return ..()
/**
* Register transport modules to the controller
diff --git a/code/modules/unit_tests/orderable_items.dm b/code/modules/unit_tests/orderable_items.dm
index 8d3db8c3c75..e94b2985a54 100644
--- a/code/modules/unit_tests/orderable_items.dm
+++ b/code/modules/unit_tests/orderable_items.dm
@@ -6,19 +6,19 @@
/datum/unit_test/orderable_items/Run()
var/list/all_paths = list()
for (var/datum/orderable_item/orderable_item as anything in subtypesof(/datum/orderable_item))
- if(isnull(initial(orderable_item.item_path))) // don't check if they're not actual orderable items
+ if(isnull(initial(orderable_item.purchase_path))) // don't check if they're not actual orderable items
continue
if (!isnull(initial(orderable_item.desc))) //don't check if they have a custom description
continue
- var/item_path = initial(orderable_item.item_path)
+ var/purchase_path = initial(orderable_item.purchase_path)
- var/obj/item/item_instance = allocate(item_path)
+ var/obj/item/item_instance = allocate(purchase_path)
var/initial_desc = initial(item_instance.desc)
- if(item_path in all_paths)
+ if(purchase_path in all_paths)
TEST_FAIL("[orderable_item] is purchasable under two different orderable_item types,")
- all_paths += item_path
+ all_paths += purchase_path
if (item_instance.desc != initial_desc)
- TEST_FAIL("[orderable_item] has an item ([item_path]) that has a dynamic description. [item_instance.desc] (dynamic description) != [initial_desc] (initial description)")
+ TEST_FAIL("[orderable_item] has a product ([purchase_path]) that has a dynamic description. [item_instance.desc] (dynamic description) != [initial_desc] (initial description)")
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index 404ede1cca0..77eaeba1114 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -225,9 +225,13 @@
category = /datum/uplink_category/discounts
purchasable_from = parent_type::purchasable_from & ~UPLINK_SPY // Probably not necessary but just in case
+/datum/uplink_category/objective_special
+ name = "Objective-Specific Equipment"
+ weight = -3
+
// Special equipment (Dynamically fills in uplink component)
/datum/uplink_item/special_equipment
- category = "Objective-Specific Equipment"
+ category = /datum/uplink_category/objective_special
name = "Objective-Specific Equipment"
desc = "Equipment necessary for accomplishing specific objectives. If you are seeing this, something has gone wrong."
limited_stock = 1
diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm
index 6726fb02ef1..ab366da4b28 100644
--- a/code/modules/vehicles/secway.dm
+++ b/code/modules/vehicles/secway.dm
@@ -101,5 +101,5 @@
if(!buckled_mobs || prob(40))
return ..()
for(var/mob/rider as anything in buckled_mobs)
- rider.bullet_act(P)
- return TRUE
+ return rider.bullet_act(P)
+ return ..()
diff --git a/code/modules/wiremod/components/action/laserpointer.dm b/code/modules/wiremod/components/action/laserpointer.dm
index 0eb7f822db1..8693a5c1ab1 100644
--- a/code/modules/wiremod/components/action/laserpointer.dm
+++ b/code/modules/wiremod/components/action/laserpointer.dm
@@ -11,8 +11,8 @@
/// The input port
var/datum/port/input/target_input
- var/datum/port/input/image_pixel_x = 0
- var/datum/port/input/image_pixel_y = 0
+ var/datum/port/input/image_pixel_x
+ var/datum/port/input/image_pixel_y
var/max_range = 7
diff --git a/code/modules/wiremod/components/admin/getvar.dm b/code/modules/wiremod/components/admin/getvar.dm
index 2fe8f18b09e..e467963fe34 100644
--- a/code/modules/wiremod/components/admin/getvar.dm
+++ b/code/modules/wiremod/components/admin/getvar.dm
@@ -45,7 +45,7 @@
output_value.set_datatype(expected_output_type.value)
/obj/item/circuit_component/get_variable/input_received(datum/port/input/port)
- var/atom/object = entity?.value
+ var/datum/object = entity?.value
if(getvar_options.value == "Global")
object = GLOB