diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_defense_modules.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_defense_modules.dm index 8e7e273bd34..09cd91b059f 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_defense_modules.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_defense_modules.dm @@ -62,7 +62,7 @@ if(C.brute_damage == 0 && C.electronics_damage == 0) to_chat(R, span_notice("Repair of [C] completed.")) return - if(!R.use_direct_power(power_tick, 500)) //We don't want to drain ourselves too far down during exploration + if(!R.use_direct_power(power_tick, 500)) //We don't want to drain ourselves too far down during exploration to_chat(R, span_warning("Not enough power to initialize the repair system.")) return if(do_after(R, tick_delay, target = R)) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 4946250a102..2197c5efe09 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1212,7 +1212,7 @@ if(cell.charge - (amount + lower_limit) <= 0) return FALSE - cell.charge -= amount + cell.use(amount) return TRUE /mob/living/silicon/robot/binarycheck() diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm index 2929e41bad8..f87070cc9eb 100644 --- a/code/modules/reagents/reagent_containers/borghypo.dm +++ b/code/modules/reagents/reagent_containers/borghypo.dm @@ -121,7 +121,8 @@ if(robot_user && robot_user.cell) for(var/T in reagent_ids) if(reagent_volumes[T] < volume) - robot_user.cell.use(charge_cost) + if(!robot_user.use_direct_power(charge_cost, 800)) + return 0 reagent_volumes[T] = min(reagent_volumes[T] + 5, volume) return 1