diff --git a/SpacemanDMM.toml b/SpacemanDMM.toml
new file mode 100644
index 0000000000..b827472254
--- /dev/null
+++ b/SpacemanDMM.toml
@@ -0,0 +1,2 @@
+[langserver]
+dreamchecker = true
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index ac97966eef..a9f2750ce2 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -8,10 +8,8 @@
/proc/invertHTML(HTMLstring)
if(!istext(HTMLstring))
CRASH("Given non-text argument!")
- return
else if(length(HTMLstring) != 7)
CRASH("Given non-HTML argument!")
- return
else if(length_char(HTMLstring) != 7)
CRASH("Given non-hex symbols in argument!")
var/textr = copytext(HTMLstring, 2, 4)
diff --git a/code/controllers/hooks.dm b/code/controllers/hooks.dm
index f499a61ae7..fe6a49c854 100644
--- a/code/controllers/hooks.dm
+++ b/code/controllers/hooks.dm
@@ -27,13 +27,11 @@
var/hook_path = text2path("/hook/[hook]")
if(!hook_path)
CRASH("Invalid hook '/hook/[hook]' called.")
- return 0
var/caller = new hook_path
var/status = 1
for(var/P in typesof("[hook_path]/proc"))
if(!call(caller, P)(arglist(args)))
CRASH("Hook '[P]' failed or runtimed.")
- status = 0
return status
diff --git a/code/controllers/subsystem/processing/weather.dm b/code/controllers/subsystem/processing/weather.dm
index 0a1b4fc609..ca067953cc 100644
--- a/code/controllers/subsystem/processing/weather.dm
+++ b/code/controllers/subsystem/processing/weather.dm
@@ -47,7 +47,6 @@ PROCESSING_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 = SSmapping.levels_by_trait(initial(weather_datum_type.target_trait))
@@ -55,7 +54,6 @@ PROCESSING_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/components/radioactive.dm b/code/datums/components/radioactive.dm
index 2853f800f5..decc2dd65c 100644
--- a/code/datums/components/radioactive.dm
+++ b/code/datums/components/radioactive.dm
@@ -25,7 +25,6 @@
RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, .proc/rad_attack)
else
CRASH("Something that wasn't an atom was given /datum/component/radioactive")
- return
if(strength > RAD_MINIMUM_CONTAMINATION)
SSradiation.warn(src)
@@ -84,4 +83,4 @@
#undef RAD_AMOUNT_LOW
#undef RAD_AMOUNT_MEDIUM
#undef RAD_AMOUNT_HIGH
-#undef RAD_AMOUNT_EXTREME
\ No newline at end of file
+#undef RAD_AMOUNT_EXTREME
diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm
index 20f2c1bbb5..30c6625049 100644
--- a/code/datums/components/wet_floor.dm
+++ b/code/datums/components/wet_floor.dm
@@ -19,7 +19,6 @@
var/datum/component/wet_floor/WF = newcomp //Lets make an assumption
if(WF.gc()) //See if it's even valid, still. Also does LAZYLEN and stuff for us.
CRASH("Wet floor component tried to inherit another, but the other was able to garbage collect while being inherited! What a waste of time!")
- return
for(var/i in WF.time_left_list)
add_wet(text2num(i), WF.time_left_list[i])
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index d7ff5db26a..6202ac444e 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -175,11 +175,9 @@
if(!islist(jsonlist))
if(!istext(jsonlist))
CRASH("Invalid JSON")
- return
jsonlist = json_decode(jsonlist)
if(!islist(jsonlist))
CRASH("Invalid JSON")
- return
if(!jsonlist["DATUM_TYPE"])
return
if(!ispath(jsonlist["DATUM_TYPE"]))
diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm
index d4a5dcdeb3..ad24126e45 100644
--- a/code/datums/wires/_wires.dm
+++ b/code/datums/wires/_wires.dm
@@ -38,7 +38,6 @@
..()
if(!istype(holder, holder_type))
CRASH("Wire holder is not of the expected type!")
- return
src.holder = holder
if(randomize)
diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm
index 1a57cf5051..413484b99b 100644
--- a/code/game/data_huds.dm
+++ b/code/game/data_huds.dm
@@ -147,7 +147,6 @@
return "health-85"
else
return "health-100"
- return "0"
//HOOKS
@@ -323,7 +322,6 @@
return "crit"
else
return "dead"
- return "dead"
//Sillycone hooks
/mob/living/silicon/proc/diag_hud_set_health()
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index c8b8e7c9cd..e386674b9e 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -381,14 +381,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(var/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
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 47c761fa52..eb7f194229 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -45,11 +45,11 @@
if (ismob(user) && !isliving(user)) // ghosts don't need cameras
return
if (!network)
- CRASH("No camera network")
+ stack_trace("No camera network")
user.unset_machine()
return FALSE
if (!(islist(network)))
- CRASH("Camera network is not a list")
+ stack_trace("Camera network is not a list")
user.unset_machine()
return FALSE
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index c05fbe229c..000585a4be 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -469,7 +469,6 @@ GLOBAL_LIST_EMPTY(allConsoles)
if(newmessagepriority < EXTREME_MESSAGE_PRIORITY)
newmessagepriority = EXTREME_MESSAGE_PRIORITY
update_icon()
- if(1)
playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
say(title)
messages += "!!!Extreme Priority!!!
From: [linkedsender]
[message]"
diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm
index 72e6ccbbe2..7b4a44d72f 100644
--- a/code/game/objects/items/RCL.dm
+++ b/code/game/objects/items/RCL.dm
@@ -223,7 +223,6 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook)
continue
if(C.d1 == 0)
return C
- break
return
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 157cd451d4..2dabcca29f 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -807,9 +807,9 @@ GLOBAL_LIST_EMPTY(PDAs)
// If it didn't reach, note that fact
if (!signal.data["done"])
to_chat(user, "ERROR: Server isn't responding.")
- return
if (!silent)
playsound(src, 'sound/machines/terminal_error.ogg', 15, 1)
+ return
var/target_text = signal.format_target()
if(allow_emojis)
@@ -998,9 +998,9 @@ GLOBAL_LIST_EMPTY(PDAs)
var/obj/item/card/id/idcard = C
if(!idcard.registered_name)
to_chat(user, "\The [src] rejects the ID!")
- return
if (!silent)
playsound(src, 'sound/machines/terminal_error.ogg', 15, 1)
+ return
if(!owner)
owner = idcard.registered_name
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 1006fe9146..6eae9f127a 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -692,14 +692,14 @@ Code:
return
GLOB.news_network.SubmitArticle(message,host_pda.owner,current_channel)
host_pda.Topic(null,list("choice"=num2text(host_pda.mode)))
- return
playsound(src, 'sound/machines/terminal_select.ogg', 50, 1)
+ return
if("Newscaster Switch Channel")
current_channel = host_pda.msg_input()
host_pda.Topic(null,list("choice"=num2text(host_pda.mode)))
- return
playsound(src, 'sound/machines/terminal_select.ogg', 50, 1)
+ return
//emoji previews
if(href_list["emoji"])
diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm
index 8cfd53b300..83f2839438 100644
--- a/code/modules/admin/verbs/borgpanel.dm
+++ b/code/modules/admin/verbs/borgpanel.dm
@@ -23,8 +23,8 @@
/datum/borgpanel/New(to_user, mob/living/silicon/robot/to_borg)
if(!istype(to_borg))
- CRASH("Borg panel is only available for borgs")
qdel(src)
+ CRASH("Borg panel is only available for borgs")
user = CLIENT_FROM_VAR(to_user)
diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm
index ca6481bcfe..f92cb987d0 100644
--- a/code/modules/antagonists/abductor/machinery/experiment.dm
+++ b/code/modules/antagonists/abductor/machinery/experiment.dm
@@ -209,7 +209,6 @@
open_machine()
SendBack(H)
return "Specimen braindead - disposed."
- return "ERROR"
/obj/machinery/abductor/experiment/proc/SendBack(mob/living/carbon/human/H)
diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm
index a79beca4ec..63a03b1d40 100644
--- a/code/modules/atmospherics/machinery/components/components_base.dm
+++ b/code/modules/atmospherics/machinery/components/components_base.dm
@@ -84,7 +84,6 @@
/obj/machinery/atmospherics/components/proc/nullifyPipenet(datum/pipeline/reference)
if(!reference)
CRASH("nullifyPipenet(null) called by [type] on [COORD(src)]")
- return
var/i = parents.Find(reference)
reference.other_airs -= airs[i]
reference.other_atmosmch -= src
@@ -168,4 +167,4 @@
/obj/machinery/atmospherics/components/analyzer_act(mob/living/user, obj/item/I)
- atmosanalyzer_scan(airs, user, src)
\ No newline at end of file
+ atmosanalyzer_scan(airs, user, src)
diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm
index 899b621262..c8095c2bb2 100644
--- a/code/modules/atmospherics/machinery/datum_pipeline.dm
+++ b/code/modules/atmospherics/machinery/datum_pipeline.dm
@@ -131,7 +131,6 @@
var/datum/pipeline/P = returnPipenet(A)
if(!P)
CRASH("null.addMember() called by [type] on [COORD(src)]")
- return
P.addMember(A, src)
diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm
index c45461317d..3418f78dbd 100644
--- a/code/modules/cargo/centcom_podlauncher.dm
+++ b/code/modules/cargo/centcom_podlauncher.dm
@@ -488,7 +488,6 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm
if (isnull(A)) //If theres no supplypod bay mapped into centcom, throw an error
to_chat(holder.mob, "No /area/centcom/supplypod/loading/one (or /two or /three or /four) in the world! You can make one yourself (then refresh) for now, but yell at a mapper to fix this, today!")
CRASH("No /area/centcom/supplypod/loading/one (or /two or /three or /four) has been mapped into the centcom z-level!")
- return
orderedArea = list()
if (!isemptylist(A.contents)) //Go through the area passed into the proc, and figure out the top left and bottom right corners by calculating max and min values
var/startX = A.contents[1].x //Create the four values (we do it off a.contents[1] so they have some sort of arbitrary initial value. They should be overwritten in a few moments)
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index fb5ff7b0f4..5a340d701a 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -170,7 +170,6 @@
to_chat(user, "You refill the suit's built-in extinguisher, using up the cartridge.")
qdel(E)
return
- return
return
/obj/item/extinguisher_refill
diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
index 2adff414e8..a8bb6dc187 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
@@ -287,7 +287,7 @@
/obj/machinery/microwave/proc/loop(type, time, wait = max(12 - 2 * efficiency, 2)) // standard wait is 10
if(stat & (NOPOWER|BROKEN))
- if(MICROWAVE_PRE)
+ if(type == MICROWAVE_PRE)
pre_fail()
return
if(!time)
@@ -353,4 +353,4 @@
#undef MICROWAVE_NORMAL
#undef MICROWAVE_MUCK
-#undef MICROWAVE_PRE
\ No newline at end of file
+#undef MICROWAVE_PRE
diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm
index d4c565c49a..d0c47f0950 100644
--- a/code/modules/integrated_electronics/subtypes/smart.dm
+++ b/code/modules/integrated_electronics/subtypes/smart.dm
@@ -18,8 +18,8 @@
var/datum/integrated_io/I = inputs[1]
set_pin_data(IC_OUTPUT, 1, null)
if(!isweakref(I.data))
- return
activate_pin(3)
+ return
var/atom/A = I.data.resolve()
if(!A)
activate_pin(3)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index fc85fc25c4..d3f262403b 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -430,7 +430,6 @@
else
dropItemToGround(I)
return
- return TRUE
/mob/living/carbon/get_standard_pixel_y_offset(lying = 0)
if(lying)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index d541ff1066..e39ce7d488 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -893,7 +893,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
accessory_overlay.icon_state = "m_ears_none_[layertext]"
if(bodypart == "tail")
accessory_overlay.icon_state = "m_tail_husk_[layertext]"
- if(MATRIXED)
+ if(S.color_src == MATRIXED)
var/list/husklist = list()
husklist += ReadRGB("#a3a3a3")
husklist += ReadRGB("#a3a3a3")
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 6b4a6645e6..d178af9fb0 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -695,7 +695,7 @@
holo_icon = client.prefs.get_filtered_holoform(HOLOFORM_FILTER_AI)
else
holo_icon = getHologramIcon(icon('icons/mob/ai.dmi', "female"))
- else if("xeno queen")
+ if("xeno queen")
holo_icon = getHologramIcon(icon(icon_list[input],"alienq"))
else
holo_icon = getHologramIcon(icon(icon_list[input], input))
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index 75364b2845..a8e0d2c1c8 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -445,7 +445,6 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r
return scan_result
else
return FALSE //The current element failed assessment, move on to the next.
- return
/mob/living/simple_animal/bot/proc/check_bot(targ)
var/turf/T = get_turf(targ)
diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm
index d3fb65c585..ab7c632214 100644
--- a/code/modules/mob/living/simple_animal/bot/medbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/medbot.dm
@@ -523,9 +523,6 @@
soft_reset()
return
- reagent_id = null
- return
-
/mob/living/simple_animal/bot/medbot/proc/check_overdose(mob/living/carbon/patient,reagent_id,injection_amount)
var/datum/reagent/R = GLOB.chemical_reagents_list[reagent_id]
if(!R.overdose_threshold) //Some chems do not have an OD threshold
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
index 0f97a4c496..54184310a8 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -92,8 +92,8 @@
return
if(hack)
if(hacked)
- return
Stun(40)
+ return
if(clockwork)
to_chat(src, "ERROR: LAW OVERRIDE DETECTED")
to_chat(src, "From now on, these are your laws:")
diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm
index 295ecc66c0..81e2cb95e6 100644
--- a/code/modules/modular_computers/computers/item/processor.dm
+++ b/code/modules/modular_computers/computers/item/processor.dm
@@ -20,7 +20,6 @@
. = ..()
if(!loc || !istype(loc, /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()
@@ -69,4 +68,4 @@
if(MC_SDD)
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_disk
if(MC_AI)
- machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
\ No newline at end of file
+ machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index 55f7c19cd7..e03427cc9c 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -54,7 +54,6 @@
holder.shutdown_computer()
return TRUE
- return FALSE
@@ -95,4 +94,4 @@
name = "nano battery"
desc = "A tiny power cell, commonly seen in low-end portable microcomputers."
icon_state = "cell_micro"
- maxcharge = 300
\ No newline at end of file
+ maxcharge = 300
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index 2c02903d3e..f46d4bf029 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -8,7 +8,6 @@
item_flags = NOBLUDGEON
/obj/item/paper/contract/ComponentInitialize()
- return
. = ..()
AddElement(/datum/element/update_icon_blocker)
diff --git a/code/modules/projectiles/guns/misc/chameleon.dm b/code/modules/projectiles/guns/misc/chameleon.dm
index d2afe2bd78..4fa614ae5c 100644
--- a/code/modules/projectiles/guns/misc/chameleon.dm
+++ b/code/modules/projectiles/guns/misc/chameleon.dm
@@ -60,13 +60,12 @@
continue
vv_edit_var(v, initial(vars[v]))
vars[v] = initial(vars[v])
- QDEL_NULL(chambered.BB)
+ QDEL_NULL(chambered.BB)
chambered.newshot()
/obj/item/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE)
if(!istype(AC))
CRASH("[AC] is not /obj/item/ammo_casing!")
- return FALSE
for(var/V in ammo_copy_vars)
if(AC.vars.Find(V))
chameleon_ammo_vars[V] = AC.vars[V]
@@ -78,7 +77,6 @@
/obj/item/gun/energy/laser/chameleon/proc/set_chameleon_projectile(obj/item/projectile/P)
if(!istype(P))
CRASH("[P] is not /obj/item/projectile!")
- return FALSE
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser", "nodamage" = TRUE)
for(var/V in projectile_copy_vars)
if(P.vars.Find(V))
@@ -99,7 +97,6 @@
/obj/item/gun/energy/laser/chameleon/proc/set_chameleon_gun(obj/item/gun/G , passthrough = TRUE)
if(!istype(G))
CRASH("[G] is not /obj/item/gun!")
- return FALSE
for(var/V in gun_copy_vars)
if(vars.Find(V) && G.vars.Find(V))
chameleon_gun_vars[V] = G.vars[V]
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index eff1531e23..89dd229407 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -972,7 +972,6 @@
if(isnull(amount))
amount = 0
CRASH("null amount passed to reagent code")
- return FALSE
if(!isnum(amount))
return FALSE
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 3c4be7969d..9555f5b64b 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -331,7 +331,6 @@
else
to_chat(user, "This doesn't fit in [src].")
return FALSE
- return FALSE
/obj/item/hypospray/mkii/AltClick(mob/user)
. = ..()
diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm
index 4b169173ed..54f2aef10d 100644
--- a/code/modules/surgery/bodyparts/bodyparts.dm
+++ b/code/modules/surgery/bodyparts/bodyparts.dm
@@ -436,7 +436,7 @@
if(!isnull(body_markings) && status == BODYPART_ORGANIC)
if(!use_digitigrade)
- if(BODY_ZONE_CHEST)
+ if(body_zone == BODY_ZONE_CHEST)
. += image(body_markings_icon, "[body_markings]_[body_zone]_[icon_gender]", -MARKING_LAYER, image_dir)
else
. += image(body_markings_icon, "[body_markings]_[body_zone]", -MARKING_LAYER, image_dir)
diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index ce9de95b4c..c4e056583c 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -40,7 +40,6 @@
if(ishuman(target))
var/mob/living/carbon/human/H = target
H.sec_hud_set_ID()
- return 1
return TRUE
/datum/surgery_step/reshape_face/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm
index 924fd506ff..4f7502bb02 100644
--- a/code/modules/vending/_vending.dm
+++ b/code/modules/vending/_vending.dm
@@ -234,28 +234,28 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
if(!.)
return
- var/dump_amount = 0
- var/found_anything = TRUE
- while (found_anything)
- found_anything = FALSE
- for(var/record in shuffle(product_records))
- var/datum/data/vending_product/R = record
- if(R.amount <= 0) //Try to use a record that actually has something to dump.
- continue
- var/dump_path = R.product_path
- if(!dump_path)
- continue
- R.amount--
- // busting open a vendor will destroy some of the contents
- if(found_anything && prob(80))
- continue
+ var/dump_amount = 0
+ var/found_anything = TRUE
+ while (found_anything)
+ found_anything = FALSE
+ for(var/record in shuffle(product_records))
+ var/datum/data/vending_product/R = record
+ if(R.amount <= 0) //Try to use a record that actually has something to dump.
+ continue
+ var/dump_path = R.product_path
+ if(!dump_path)
+ continue
+ R.amount--
+ // busting open a vendor will destroy some of the contents
+ if(found_anything && prob(80))
+ continue
- var/obj/O = new dump_path(loc)
- step(O, pick(GLOB.alldirs))
- found_anything = TRUE
- dump_amount++
- if (dump_amount >= 16)
- return
+ var/obj/O = new dump_path(loc)
+ step(O, pick(GLOB.alldirs))
+ found_anything = TRUE
+ dump_amount++
+ if (dump_amount >= 16)
+ return
GLOBAL_LIST_EMPTY(vending_products)
/**
@@ -628,14 +628,15 @@ GLOBAL_LIST_EMPTY(vending_products)
SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]"))
vend_ready = TRUE
return
- if("takeoutcoin")
- usr.put_in_hands(coin)
- to_chat(usr, "You remove [coin] from [src].")
- coin = null
- return
+ if("takeoutcoin")
+ usr.put_in_hands(coin)
+ to_chat(usr, "You remove [coin] from [src].")
+ coin = null
+ return
- else if("togglevoice" && panel_open)
- shut_up = !shut_up
+ if("togglevoice")
+ if(panel_open)
+ shut_up = !shut_up
/obj/machinery/vending/process()
if(stat & (BROKEN|NOPOWER))
diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm
index 4917bd3dba..ca774ed1f6 100644
--- a/code/modules/vore/eating/belly_obj.dm
+++ b/code/modules/vore/eating/belly_obj.dm
@@ -558,7 +558,6 @@
to_chat(R,"Your attempt to escape [lowertext(name)] has failed!")
to_chat(owner,"The attempt to escape from your [lowertext(name)] has failed!")
return
- return
var/struggle_outer_message = pick(struggle_messages_outside)
var/struggle_user_message = pick(struggle_messages_inside)
diff --git a/code/modules/vore/trycatch.dm b/code/modules/vore/trycatch.dm
index 2adf6e0cf6..d4b1ac2c05 100644
--- a/code/modules/vore/trycatch.dm
+++ b/code/modules/vore/trycatch.dm
@@ -16,15 +16,14 @@ The proc you're attemping should return nonzero values on success.
try
if(!callon || !procname)
CRASH("attempt_vr: Invalid obj/proc: [callon]/[procname]")
- return 0
var/result = call(callon,procname)(arglist(args))
return result
catch(var/exception/e)
- CRASH("attempt_vr runtimed when calling [procname] on [callon].")
- CRASH("attempt_vr catch: [e] on [e.file]:[e.line]")
+ stack_trace("attempt_vr runtimed when calling [procname] on [callon].")
+ stack_trace("attempt_vr catch: [e] on [e.file]:[e.line]")
return 0
/*
@@ -46,17 +45,16 @@ The hooks you're calling should return nonzero values on success.
var/hook_path = text2path("/hook/[hook]")
if(!hook_path)
CRASH("hook_vr: Invalid hook '/hook/[hook]' called.")
- return 0
var/caller = new hook_path
var/status = 1
for(var/P in typesof("[hook_path]/proc"))
if(!call(caller, P)(arglist(args)))
- CRASH("hook_vr: Hook '[P]' failed or runtimed.")
+ stack_trace("hook_vr: Hook '[P]' failed or runtimed.")
status = 0
return status
catch(var/exception/e)
- CRASH("hook_vr itself failed or runtimed. Exception below.")
- CRASH("hook_vr catch: [e] on [e.file]:[e.line]")
\ No newline at end of file
+ stack_trace("hook_vr itself failed or runtimed. Exception below.")
+ stack_trace("hook_vr catch: [e] on [e.file]:[e.line]")
diff --git a/dependencies.sh b/dependencies.sh
index be5a320428..83254509b9 100644
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -23,4 +23,4 @@ export NODE_VERSION=12
export PHP_VERSION=5.6
# SpacemanDMM git tag
-export SPACEMAN_DMM_VERSION=suite-1.3
+export SPACEMAN_DMM_VERSION=suite-1.4
diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm
index 47a994326f..8fda73b199 100644
--- a/modular_citadel/code/modules/arousal/genitals.dm
+++ b/modular_citadel/code/modules/arousal/genitals.dm
@@ -364,11 +364,10 @@
if(ishuman(src) && dna.species.id == "human")
dna.features["genitals_use_skintone"] = TRUE
dna.species.use_skintones = TRUE
- if(MUTCOLORS)
- if(src.dna.species.fixed_mut_color)
- dna.features["cock_color"] = "[dna.species.fixed_mut_color]"
- dna.features["breasts_color"] = "[dna.species.fixed_mut_color]"
- return
+ if(src.dna.species.fixed_mut_color)
+ dna.features["cock_color"] = "[dna.species.fixed_mut_color]"
+ dna.features["breasts_color"] = "[dna.species.fixed_mut_color]"
+ return
//So people who haven't set stuff up don't get rainbow surprises.
dna.features["cock_color"] = "[dna.features["mcolor"]]"
dna.features["breasts_color"] = "[dna.features["mcolor"]]"
diff --git a/modular_citadel/code/modules/reagents/objects/items.dm b/modular_citadel/code/modules/reagents/objects/items.dm
index 5d207f4c73..1924e7ee00 100644
--- a/modular_citadel/code/modules/reagents/objects/items.dm
+++ b/modular_citadel/code/modules/reagents/objects/items.dm
@@ -54,7 +54,6 @@
to_chat(user, "[src] is empty!")
add_fingerprint(user)
return
- ..()
/obj/item/fermichem/pHpaper
name = "pH indicator strip"