diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index 9d7e9495ab..37da921409 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -1166,18 +1166,16 @@ var/list/WALLITEMS = list(
var/color = hex ? hex : "#[num2hex(red, 2)][num2hex(green, 2)][num2hex(blue, 2)]"
return "___"
+
var/mob/dview/dview_mob = new
//Version of view() which ignores darkness, because BYOND doesn't have it.
/proc/dview(var/range = world.view, var/center, var/invis_flags = 0)
if(!center)
return
- if(!dview_mob) //VOREStation Add: Debugging
- dview_mob = new
- log_error("Had to recreate the dview mob!")
dview_mob.loc = center
-
+
dview_mob.see_invisible = invis_flags
. = view(range, dview_mob)
@@ -1185,10 +1183,10 @@ var/mob/dview/dview_mob = new
/mob/dview
invisibility = 101
- density = FALSE
+ density = 0
- anchored = TRUE
- simulated = FALSE
+ anchored = 1
+ simulated = 0
see_in_dark = 1e6
@@ -1197,7 +1195,6 @@ var/mob/dview/dview_mob = new
color = origin.color
set_light(origin.light_range, origin.light_power, origin.light_color)
-INITIALIZE_IMMEDIATE(/mob/dview)
/mob/dview/Initialize()
. = ..()
// We don't want to be in any mob lists; we're a dummy not a mob.
@@ -1207,18 +1204,17 @@ INITIALIZE_IMMEDIATE(/mob/dview)
else
living_mob_list -= src
-/mob/dview/Life()
- mob_list -= src
- dead_mob_list -= src
- living_mob_list -= src
-
/mob/dview/Destroy(var/force)
- stack_trace("Attempt to delete the dview_mob: [log_info_line(src)]")
+ crash_with("Attempt to delete the dview_mob: [log_info_line(src)]")
if (!force)
return QDEL_HINT_LETMELIVE
global.dview_mob = new
return ..()
+// call to generate a stack trace and print to runtime logs
+/proc/crash_with(msg)
+ CRASH(msg)
+
/proc/screen_loc2turf(scr_loc, turf/origin)
var/tX = splittext(scr_loc, ",")
var/tY = splittext(tX[2], ":")
diff --git a/code/datums/ghost_query.dm b/code/datums/ghost_query.dm
index 6a342f5820..83015e6be1 100644
--- a/code/datums/ghost_query.dm
+++ b/code/datums/ghost_query.dm
@@ -20,10 +20,10 @@
// Then wait awhile.
while(!finished)
- sleep(1 SECOND)
- wait_time -= 1 SECOND
- if(wait_time <= 0)
- finished = TRUE
+ spawn(1 SECOND)
+ wait_time -= 1 SECOND
+ if(wait_time <= 0)
+ finished = TRUE
// Prune the list after the wait, incase any candidates logged out.
for(var/mob/observer/dead/D as anything in candidates)
diff --git a/code/game/objects/items/weapons/material/bats.dm b/code/game/objects/items/weapons/material/bats.dm
index 7c4296fb1c..3a9c8419bc 100644
--- a/code/game/objects/items/weapons/material/bats.dm
+++ b/code/game/objects/items/weapons/material/bats.dm
@@ -14,16 +14,16 @@
//Predefined materials go here.
/obj/item/weapon/material/twohanded/baseballbat/metal/Initialize(var/ml)
- ..(ml, MAT_STEEL)
+ . = ..(ml, MAT_STEEL)
/obj/item/weapon/material/twohanded/baseballbat/uranium/Initialize(var/ml)
- ..(ml, MAT_URANIUM)
+ . = ..(ml, MAT_URANIUM)
/obj/item/weapon/material/twohanded/baseballbat/gold/Initialize(var/ml)
- ..(ml, MAT_GOLD)
+ . = ..(ml, MAT_GOLD)
/obj/item/weapon/material/twohanded/baseballbat/platinum/Initialize(var/ml)
- ..(ml, MAT_PLATINUM)
+ . = ..(ml, MAT_PLATINUM)
/obj/item/weapon/material/twohanded/baseballbat/diamond/Initialize(var/ml)
- ..(ml, MAT_DIAMOND)
+ . = ..(ml, MAT_DIAMOND)
diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm
index abd0665898..f1fab238f1 100644
--- a/code/game/objects/structures/catwalk.dm
+++ b/code/game/objects/structures/catwalk.dm
@@ -19,9 +19,11 @@
/obj/structure/catwalk/Initialize()
. = ..()
- for(var/obj/structure/catwalk/C in get_turf(src))
+ //Delete ourselves if we find extra mapped in catwalks
+ for(var/obj/structure/catwalk/C in loc)
if(C != src)
- qdel(C)
+ log_debug("Duplicate catwalks at [x],[y],[z]")
+ return INITIALIZE_HINT_QDEL
update_connections(1)
update_icon()
diff --git a/code/game/objects/structures/ghost_pods/human.dm b/code/game/objects/structures/ghost_pods/human.dm
index f2b3291597..e26c3d6c02 100644
--- a/code/game/objects/structures/ghost_pods/human.dm
+++ b/code/game/objects/structures/ghost_pods/human.dm
@@ -38,7 +38,7 @@
clothing_possibilities |= /obj/item/device/radio/headset
/obj/structure/ghost_pod/ghost_activated/human/create_occupant(var/mob/M)
- ..()
+ . = ..()
var/turf/T = get_turf(src)
var/mob/living/carbon/human/H = new(src)
diff --git a/code/modules/food/food/cans.dm b/code/modules/food/food/cans.dm
index 10a6ebf0c9..9d500d11f1 100644
--- a/code/modules/food/food/cans.dm
+++ b/code/modules/food/food/cans.dm
@@ -70,8 +70,8 @@
center_of_mass = list("x"=16, "y"=8)
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb/Initialize()
- ..()
- reagents.add_reagent("dr_gibb", 30)
+ . = ..()
+ reagents.add_reagent("dr_gibb", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb_diet
name = "\improper Diet Dr. Gibb"
diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm
index faf6b5f29d..5575d7be12 100644
--- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm
+++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm
@@ -265,18 +265,18 @@
icon_state = "wake"
animate(src,alpha = 255,time = 1 SECOND)
plane = MOB_PLANE
- sleep(7)
- update_icon()
- //Potential glob noms
- if(can_be_drop_pred) //Toggleable in vore panel
- var/list/potentials = living_mobs(0)
- if(potentials.len)
- var/mob/living/target = pick(potentials)
- if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected)
- if(target.buckled)
- target.buckled.unbuckle_mob(target, force = TRUE)
- target.forceMove(vore_selected)
- to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")
+ spawn(7)
+ update_icon()
+ //Potential glob noms
+ if(can_be_drop_pred) //Toggleable in vore panel
+ var/list/potentials = living_mobs(0)
+ if(potentials.len)
+ var/mob/living/target = pick(potentials)
+ if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected)
+ if(target.buckled)
+ target.buckled.unbuckle_mob(target, force = TRUE)
+ target.forceMove(vore_selected)
+ to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!")
/mob/living/simple_mob/protean_blob/attack_target(var/atom/A)
if(refactory && istype(A,/obj/item/stack/material))