A vehicle includes a processor programmed to create a virtual energy bucket for a battery, and set a short-term power limit corresponding to the virtual energy bucket that defines a discharge limit for the battery. The virtual energy bucket fills responsive to an output power of the battery being below a first power threshold and depletes responsive to the output power being above a second power threshold.