diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index b5122f29ae6..748a203cc4d 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -727,14 +727,16 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. return icon_override //2: species-specific sprite sheets (skipped for inhands) - var/sheet = sprite_sheets[body_type] - if(sheet && !inhands) - return sheet + if(LAZYLEN(sprite_sheets)) + var/sheet = sprite_sheets[body_type] + if(sheet && !inhands) + return sheet //3: slot-specific sprite sheets - sheet = item_icons[slot_name] - if(sheet) - return sheet + if(LAZYLEN(item_icons)) + var/sheet = item_icons[slot_name] + if(sheet) + return sheet //4: item's default icon if(default_worn_icon) @@ -751,9 +753,10 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. /obj/item/proc/get_worn_icon_state(var/slot_name) //1: slot-specific sprite sheets - var/state = item_state_slots[slot_name] - if(state) - return state + if(LAZYLEN(item_state_slots)) + var/state = item_state_slots[slot_name] + if(state) + return state //2: item_state variable if(item_state) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0600125f8a0..8afe1358765 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -393,7 +393,7 @@ P.activate() /obj/item/projectile/proc/impact_effect(var/matrix/M) - if(ispath(tracer_type)) + if(ispath(tracer_type) && location) var/obj/effect/projectile/P = new impact_type(location.loc) if(istype(P)) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index c7d10bb97ff..ce2dd8e7919 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -48,7 +48,7 @@ return /obj/item/weapon/reagent_containers/food/snacks/attack(mob/M as mob, mob/user as mob, def_zone) - if(!reagents.total_volume) + if(reagents && !reagents.total_volume) user << "None of [src] left!" user.drop_from_inventory(src) qdel(src) diff --git a/code/modules/reagents/reagent_containers/syringes_vr.dm b/code/modules/reagents/reagent_containers/syringes_vr.dm index 3f012a257ae..4c9bdee890e 100644 --- a/code/modules/reagents/reagent_containers/syringes_vr.dm +++ b/code/modules/reagents/reagent_containers/syringes_vr.dm @@ -29,7 +29,8 @@ LAZYINITLIST(targets) //We can't keep a mob reference, that's a bad idea, so instead name+ref should suffice. - var/hash = md5(target.real_name + "\ref[target]") + var/name_to_use = ismob(target) ? target.real_name : target.name + var/hash = md5(name_to_use + "\ref[target]") //Just once! targets |= hash diff --git a/code/modules/vore/resizing/holder_micro_vr.dm b/code/modules/vore/resizing/holder_micro_vr.dm index 09d034af739..4e7e855ae81 100644 --- a/code/modules/vore/resizing/holder_micro_vr.dm +++ b/code/modules/vore/resizing/holder_micro_vr.dm @@ -6,7 +6,7 @@ icon_state = "micro" slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID w_class = ITEMSIZE_SMALL - item_icons = null // Override value from parent. We don't have magic sprites. + item_icons = list() // No in-hand sprites (for now, anyway, we could totally add some) pixel_y = 0 // Override value from parent. /obj/item/weapon/holder/micro/examine(var/mob/user)