diff --git a/code/datums/components/traits/weaver.dm b/code/datums/components/traits/weaver.dm index 8133acc57f..84505901d6 100644 --- a/code/datums/components/traits/weaver.dm +++ b/code/datums/components/traits/weaver.dm @@ -29,7 +29,7 @@ //When procs are used RegisterSignal(owner, COMSIG_CHECK_SILK_AMOUNT, PROC_REF(check_silk_amount)) RegisterSignal(owner, COMSIG_WEAVE_STRUCTURE, PROC_REF(weave_structure)) - RegisterSignal(owner, COMSIG_TOGGLE_SILK_PRODUCTION, PROC_REF(weave_item)) + RegisterSignal(owner, COMSIG_TOGGLE_SILK_PRODUCTION, PROC_REF(toggle_silk_production)) RegisterSignal(owner, COMSIG_WEAVE_ITEM, PROC_REF(weave_item)) RegisterSignal(owner, COMSIG_SET_SILK_COLOR, PROC_REF(set_silk_color)) diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm index 8761cd4137..828b70ea54 100644 --- a/code/modules/vore/eating/bellymodes_datum_vr.dm +++ b/code/modules/vore/eating/bellymodes_datum_vr.dm @@ -124,10 +124,16 @@ GLOBAL_LIST_INIT(digest_modes, list()) id = DM_UNABSORB /datum/digest_mode/unabsorb/process_mob(obj/belly/B, mob/living/L) - if(L.absorbed && B.owner.nutrition >= 100) - B.owner.adjust_nutrition(-100) - B.unabsorb_living(L) - return list("to_update" = TRUE) + if(L.absorbed) + if(B.owner.nutrition >= 100) + B.owner.adjust_nutrition(-100) + B.unabsorb_living(L) + return list("to_update" = TRUE) + else if(isrobot(B.owner)) + var/mob/living/silicon/robot/robot_owner = B.owner + if(robot_owner.cell_use_power(100)) + B.unabsorb_living(L) + return list("to_update" = TRUE) /datum/digest_mode/drain id = DM_DRAIN