diff --git a/_build_dependencies.sh b/_build_dependencies.sh
index 24a33ed3644..b96b83d5fe3 100644
--- a/_build_dependencies.sh
+++ b/_build_dependencies.sh
@@ -1,6 +1,6 @@
# This file has all the information on what versions of libraries are thrown into the code
# For dreamchecker
-export SPACEMANDMM_TAG=suite-1.2
+export SPACEMANDMM_TAG=suite-1.4
# For NanoUI
export NODE_VERSION=9
# For the scripts in tools
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 80852f25c3f..0958d758f55 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -25,11 +25,9 @@
if(!( istext(HTMLstring) ))
CRASH("Given non-text argument!")
- return
else
if(length(HTMLstring) != 7)
CRASH("Given non-HTML argument!")
- return
var/textr = copytext(HTMLstring, 2, 4)
var/textg = copytext(HTMLstring, 4, 6)
var/textb = copytext(HTMLstring, 6, 8)
@@ -46,7 +44,6 @@
if(length(textb) < 2)
textr = text("0[]", textb)
return text("#[][][]", textr, textg, textb)
- return
//Returns the middle-most value
/proc/dd_range(var/low, var/high, var/num)
diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm
index 7bb6a496274..53d77e8fad6 100644
--- a/code/controllers/subsystem/timer.dm
+++ b/code/controllers/subsystem/timer.dm
@@ -160,7 +160,7 @@ SUBSYSTEM_DEF(timer)
if(timer.timeToRun < head_offset)
bucket_resolution = null //force bucket recreation
- CRASH("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
+ stack_trace("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
if(timer.callBack && !timer.spent)
timer.callBack.InvokeAsync()
@@ -172,7 +172,7 @@ SUBSYSTEM_DEF(timer)
if(timer.timeToRun < head_offset + TICKS2DS(practical_offset-1))
bucket_resolution = null //force bucket recreation
- CRASH("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
+ stack_trace("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
if(timer.callBack && !timer.spent)
timer.callBack.InvokeAsync()
spent += timer
diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm
index bf405444110..30186f80ad1 100644
--- a/code/controllers/subsystem/weather.dm
+++ b/code/controllers/subsystem/weather.dm
@@ -57,7 +57,6 @@ SUBSYSTEM_DEF(weather)
break
if(!ispath(weather_datum_type, /datum/weather))
CRASH("run_weather called with invalid weather_datum_type: [weather_datum_type || "null"]")
- return
if(isnull(z_levels))
z_levels = levels_by_trait(initial(weather_datum_type.target_trait))
@@ -65,7 +64,6 @@ SUBSYSTEM_DEF(weather)
z_levels = list(z_levels)
else if(!islist(z_levels))
CRASH("run_weather called with invalid z_levels: [z_levels || "null"]")
- return
var/datum/weather/W = new weather_datum_type(z_levels)
W.telegraph()
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 9aeade59a1d..cfd276dca48 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -171,7 +171,6 @@ GLOBAL_LIST_INIT(advance_cures, list(
if(!symptoms || !symptoms.len)
CRASH("We did not have any symptoms before generating properties.")
- return
var/list/properties = list("resistance" = 1, "stealth" = 0, "stage_rate" = 1, "transmittable" = 1, "severity" = 0)
diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index 907e6a695e1..09c874ce8a8 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -31,7 +31,6 @@ GLOBAL_LIST_INIT(wireColours, list("red", "blue", "green", "black", "orange", "b
src.holder = holder
if(!istype(holder, holder_type))
CRASH("Our holder is null/the wrong type!")
- return
// Generate new wires
if(random)
diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm
index 08a7b77daff..6bd00d286fe 100644
--- a/code/game/data_huds.dm
+++ b/code/game/data_huds.dm
@@ -135,8 +135,6 @@
return "health-90"
else
return "health-100" //past this point, you're just in trouble
- return "0"
-
///HOOKS
@@ -270,7 +268,6 @@
return "crit"
else
return "dead"
- return "dead"
//Sillycone hooks
/mob/living/silicon/proc/diag_hud_set_health()
@@ -400,7 +397,6 @@
return "max"
else
return "zero"
- return "zero"
/obj/machinery/hydroponics/proc/plant_hud_set_nutrient()
var/image/holder = hud_list[PLANT_NUTRIENT_HUD]
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
index 6e1b4a39d3a..d7354b87c5c 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
@@ -166,7 +166,6 @@
eject_abductee()
SendBack(H)
return "Specimen braindead - disposed."
- return "ERROR"
/obj/machinery/abductor/experiment/proc/SendBack(mob/living/carbon/human/H)
diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index 7f93fd9fef6..d5a59a36872 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -20,8 +20,6 @@
else
return check_access_list(acc)
- return 0
-
/obj/item/proc/GetAccess()
return list()
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 24ffb494422..b66cad8d328 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -360,15 +360,12 @@
for(var/obj/machinery/camera/C in oview(4, M))
if(C.can_use()) // check if camera disabled
return C
- break
return null
/proc/near_range_camera(mob/M)
for(var/obj/machinery/camera/C in range(4, M))
if(C.can_use()) // check if camera disabled
return C
- break
-
return null
/obj/machinery/camera/proc/Togglelight(on = FALSE)
diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm
index 0a65b6be408..4a701e2c960 100644
--- a/code/game/machinery/computer/syndicate_specops_shuttle.dm
+++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm
@@ -23,7 +23,7 @@ GLOBAL_VAR_INIT(syndicate_elite_shuttle_timeleft, 0)
/proc/syndicate_elite_process()
var/area/syndicate_mothership/control/syndicate_ship = locate()//To find announcer. This area should exist for this proc to work.
- var/area/syndicate_mothership/elite_squad/elite_squad = locate()//Where is the specops area located?
+ //var/area/syndicate_mothership/elite_squad/elite_squad = locate()//Where is the specops area located?
var/mob/living/silicon/decoy/announcer = locate() in syndicate_ship//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
@@ -63,7 +63,6 @@ GLOBAL_VAR_INIT(syndicate_elite_shuttle_timeleft, 0)
to_chat(usr, "The Syndicate Elite shuttle is unable to leave.")
return
- sleep(600)
/*
//Begin Marauder launchpad.
spawn(0)//So it parallel processes it.
@@ -129,8 +128,8 @@ GLOBAL_VAR_INIT(syndicate_elite_shuttle_timeleft, 0)
if("ASSAULT3")
spawn(0)
M.close()
- */
elite_squad.readyreset()//Reset firealarm after the team launched.
+ */
//End Marauder launchpad.
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 19dc80f9a40..d318302500f 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -369,7 +369,6 @@ Class Procs:
/obj/machinery/proc/RefreshParts() //Placeholder proc for machines that are built using frames.
return
- return 0
/obj/machinery/proc/assign_uid()
uid = gl_uid
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 1487256c712..7aa5661febe 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -190,7 +190,6 @@
var/obj/item/vending_refill/R = locate() in component_parts
if(!R)
CRASH("Constructible vending machine did not have a refill canister")
- return
R.products = unbuild_inventory(product_records)
R.contraband = unbuild_inventory(hidden_records)
diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm
index c5c8f67e34d..77e9eacc6a1 100644
--- a/code/game/objects/items/devices/uplinks.dm
+++ b/code/game/objects/items/devices/uplinks.dm
@@ -131,7 +131,6 @@ GLOBAL_LIST_EMPTY(world_uplinks)
else
var/datum/uplink_item/UI = ItemsReference[href_list["buy_item"]]
return buy(UI, UI ? UI.reference : "")
- return 0
/obj/item/uplink/proc/buy(var/datum/uplink_item/UI, var/reference)
if(!UI)
diff --git a/code/game/objects/items/mixing_bowl.dm b/code/game/objects/items/mixing_bowl.dm
index da851437fd5..1e1a39d49d0 100644
--- a/code/game/objects/items/mixing_bowl.dm
+++ b/code/game/objects/items/mixing_bowl.dm
@@ -118,7 +118,7 @@
/obj/item/mixing_bowl/Topic(href, href_list)
if(..())
return
- if("dispose")
+ if(href_list["dispose"])
dispose()
return
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 21795fb738c..40d659ccf6b 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1247,7 +1247,6 @@ obj/item/toy/cards/deck/syndicate/black
spawn(20)
cooldown = FALSE
return
- ..()
/obj/item/toy/owl
name = "owl action figure"
diff --git a/code/modules/buildmode/bm_mode.dm b/code/modules/buildmode/bm_mode.dm
index 0169df7cd62..bf3b52a20ce 100644
--- a/code/modules/buildmode/bm_mode.dm
+++ b/code/modules/buildmode/bm_mode.dm
@@ -28,8 +28,8 @@
return "buildmode_[key]"
/datum/buildmode_mode/proc/show_help(mob/user)
- CRASH("No help defined, yell at a coder")
to_chat(user, "There is no help defined for this mode, this is a bug.")
+ CRASH("No help defined, yell at a coder")
/datum/buildmode_mode/proc/change_settings(mob/user)
to_chat(user, "There is no configuration available for this mode")
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index 7b3133c0103..0b74b7132fd 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -54,7 +54,6 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
return C.player_age
else
return max(0, days - C.player_age)
- return 0
#define MAX_SAVE_SLOTS 30 // Save slots for regular players
#define MAX_SAVE_SLOTS_MEMBER 30 // Save slots for BYOND members
diff --git a/code/modules/food_and_drinks/drinks/bottler/bottler.dm b/code/modules/food_and_drinks/drinks/bottler/bottler.dm
index b1667fc6a00..d7f1736bb4a 100644
--- a/code/modules/food_and_drinks/drinks/bottler/bottler.dm
+++ b/code/modules/food_and_drinks/drinks/bottler/bottler.dm
@@ -82,7 +82,6 @@
else //If it doesn't qualify in the above checks, we don't want it. Inform the person so they (ideally) stop trying to put the nuke disc in.
to_chat(user, "You aren't sure this is able to be processed by the machine.")
return 0
- return ..()
/obj/machinery/bottler/wrench_act(mob/user, obj/item/I)
. = TRUE
diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
index 61f887e44bc..6891ab578bc 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
@@ -175,7 +175,7 @@
if(default_unfasten_wrench(user, O))
return
- default_deconstruction_crowbar(user, O)
+ default_deconstruction_crowbar(user, O)
var/obj/item/what = O
diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm
index 478438c47cb..882da0a9387 100644
--- a/code/modules/martial_arts/martial.dm
+++ b/code/modules/martial_arts/martial.dm
@@ -275,7 +275,6 @@
return
else
return ..()
- return ..()
/obj/item/twohanded/bostaff/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(wielded)
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index dc7c2b4439e..8bff776c176 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -616,7 +616,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/Topic(href, href_list)
if(usr != src)
return
- ..()
if(href_list["track"])
var/atom/target = locate(href_list["track"])
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index 1ea256357e9..fec3012529e 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -167,4 +167,4 @@ Doesn't work on other aliens/AI.*/
adjustPlasma(-amount)
return 1
- return 0
+ return 0
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 4b6d6c68603..0466c1c0be0 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -870,7 +870,6 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
unEquip(I)
I.dropped()
return
- return 1
else
to_chat(src, "You fail to remove [I]!")
diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm
index 7a1227960f4..877d542fa2b 100644
--- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm
+++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm
@@ -123,8 +123,6 @@
if(health >= maxHealth)
to_chat(user, "[src] does not need repairing!")
return
- to_chat(user, "Unable to repair with the maintenance panel closed!")
- return
. = TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
return
diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm
index 7bd5be3cf81..3095e0af876 100644
--- a/code/modules/modular_computers/computers/item/processor.dm
+++ b/code/modules/modular_computers/computers/item/processor.dm
@@ -19,7 +19,6 @@
/obj/item/modular_computer/processor/New(comp)
if(!comp || !istype(comp, /obj/machinery/modular_computer))
CRASH("Inapropriate type passed to obj/item/modular_computer/processor/New()! Aborting.")
- return
// Obtain reference to machinery computer
all_components = list()
idle_threads = list()
diff --git a/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm
index 517c8f99ebe..ca208c22b02 100644
--- a/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm
+++ b/code/modules/modular_computers/file_system/programs/generic/ntnrc_client.dm
@@ -195,7 +195,6 @@
if(!computer)
// This program shouldn't even be runnable without computer.
CRASH("Var computer is null!")
- return 1
if(!hard_drive)
computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.")
else // In 99.9% cases this will mean our HDD is full
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index 7cec597dc13..1a48110006a 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -67,7 +67,6 @@
holder.shutdown_computer()
return TRUE
- return FALSE
// Stock parts
diff --git a/code/modules/nano/interaction/default.dm b/code/modules/nano/interaction/default.dm
index ca42220204d..fed18f989f5 100644
--- a/code/modules/nano/interaction/default.dm
+++ b/code/modules/nano/interaction/default.dm
@@ -85,7 +85,7 @@ GLOBAL_DATUM_INIT(default_state, /datum/topic_state/default, new())
if(. != STATUS_CLOSE)
if(loc)
. = min(., loc.contents_nano_distance(src_object, src))
- if(STATUS_INTERACTIVE)
+ if(. == STATUS_INTERACTIVE)
return STATUS_UPDATE
/mob/living/carbon/brain/default_can_use_topic(var/src_object)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index f88128ab974..59ce091b170 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -248,8 +248,6 @@
disconnect_terminal()
return ..()
- return round(5.5*charge/(capacity ? capacity : 5e6))
-
/obj/machinery/power/smes/proc/chargedisplay()
return round(5.5*charge/(capacity ? capacity : 5e6))
diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm
index c57cea9216e..18db87f6eb7 100644
--- a/code/modules/shuttle/navigation_computer.dm
+++ b/code/modules/shuttle/navigation_computer.dm
@@ -32,9 +32,9 @@
jumpto_ports += list("nav_z1" = 1)
if(access_tcomms)
jumpto_ports += list("nav_z3" = 1)
- if(ACCESS_CONSTRUCTION)
+ if(access_construction)
jumpto_ports += list("nav_z4" = 1)
- if(ACCESS_MINING)
+ if(access_mining)
jumpto_ports += list("nav_z5" = 1)
if(access_derelict)
jumpto_ports += list("nav_z6" = 1)
diff --git a/dreamchecker.exe b/dreamchecker.exe
index 068a9f58a0c..abe378640c5 100644
Binary files a/dreamchecker.exe and b/dreamchecker.exe differ