diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index e693f5f6306..e17620fcf4f 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -152,10 +152,12 @@ /mob/living/simple_animal/bot/mulebot/update_overlays() . = ..() if(load && !ismob(load))//buckling handles the mob offsets - load.pixel_y = initial(load.pixel_y) + 9 + var/image/load_overlay = image(icon = load.icon, icon_state = load.icon_state) + load_overlay.pixel_y = initial(load.pixel_y) + 9 if(load.layer < layer) - load.layer = layer + 0.1 - . += load + load_overlay.layer = layer + 0.1 + load_overlay.overlays = load.overlays + . += load_overlay /mob/living/simple_animal/bot/mulebot/ex_act(severity) unload(0) @@ -419,8 +421,6 @@ mode = BOT_IDLE - overlays.Cut() - unbuckle_all_mobs() if(load) @@ -435,6 +435,8 @@ step(load, dirn) load = null + update_icon(UPDATE_OVERLAYS) + // in case non-load items end up in contents, dump every else too // this seems to happen sometimes due to race conditions // with items dropping as mobs are loaded