public function healFreshOrdinaryWounds(HealingPower $healingPower, WoundBoundary $woundBoundary): int
    {
        $this->checkIfNeedsToRollAgainstMalusFirst();
        // can heal new and ordinary wounds only, up to limit by current treatment boundary
        $healedAmount = 0;
        $remainingHealUpToWounds = $healingPower->getHealUpToWounds();
        foreach ($this->getUnhealedFreshOrdinaryWounds() as $newOrdinaryWound) {
            // wound is set as old internally, ALL OF THEM, even if no healing left
            $currentlyRegenerated = $newOrdinaryWound->heal($remainingHealUpToWounds);
            $remainingHealUpToWounds -= $currentlyRegenerated;
            $healedAmount += $currentlyRegenerated;
        }
        $this->treatmentBoundary = TreatmentBoundary::getIt($this->getUnhealedWoundsSum());
        $this->resolveMalusAfterHeal($healedAmount, $woundBoundary);

        return $healedAmount;
    }
public function healFreshOrdinaryWounds(HealingPower $healingPower, WoundBoundary $woundBoundary): int
    {
        $this->checkIfNeedsToRollAgainstMalusFirst();
        // can heal new and ordinary wounds only, up to limit by current treatment boundary
        $healedAmount = 0;
        $remainingHealUpToWounds = $healingPower->getHealUpToWounds();
        foreach ($this->getUnhealedFreshOrdinaryWounds() as $newOrdinaryWound) {
            // wound is set as old internally, ALL OF THEM, even if no healing left
            $currentlyRegenerated = $newOrdinaryWound->heal($remainingHealUpToWounds);
            $remainingHealUpToWounds -= $currentlyRegenerated;
            $healedAmount += $currentlyRegenerated;
        }
        $this->treatmentBoundary = TreatmentBoundary::getIt($this->getUnhealedWoundsSum());
        $this->resolveMalusAfterHeal($healedAmount, $woundBoundary);

        return $healedAmount;
    }
public function healFreshOrdinaryWounds ( HealingPower $ healingPower , WoundBoundary $ woundBoundary ) : int { $ this -> checkIfNeedsToRollAgainstMalusFirst ( ) ; // can heal new and ordinary wounds only, up to limit by current treatment boundary $ healedAmount = 0 ; $ remainingHealUpToWounds = $ healingPower -> getHealUpToWounds ( ) ; foreach ( $ this -> getUnhealedFreshOrdinaryWounds ( ) as $ newOrdinaryWound ) { // wound is set as old internally, ALL OF THEM, even if no healing left $ currentlyRegenerated = $ newOrdinaryWound -> heal ( $ remainingHealUpToWounds ) ; $ remainingHealUpToWounds -= $ currentlyRegenerated ; $ healedAmount += $ currentlyRegenerated ; } $ this -> treatmentBoundary = TreatmentBoundary :: getIt ( $ this -> getUnhealedWoundsSum ( ) ) ; $ this -> resolveMalusAfterHeal ( $ healedAmount , $ woundBoundary ) ; return $ healedAmount ; }
Also sets treatment boundary to unhealed wounds after. Even if the heal itself heals nothing!

@param HealingPower $healingPower
@param WoundBoundary $woundBoundary
@return int amount of actually healed points of wounds
@throws \DrdPlus\Health\Exceptions\NeedsToRollAgainstMalusFromWoundsFirst
Also sets treatment boundary to unhealed wounds after . Even if the heal itself heals nothing!