@@ -180,7 +180,7 @@ async function processRecovery(request) {
180180 continue ;
181181 }
182182 const incomingRecoveryBonus = actor . system . bonuses . incomingRecovery [ request . resourceType ] || 0 ;
183- const incomingRecoveryMultiplier = actor . system . multipliers . incomingRecovery [ request . resourceType ] || 1 ;
183+ const incomingRecoveryMultiplier = actor . system . multipliers . incomingRecovery [ request . resourceType ] ?? 1 ;
184184 let amountRecovered = Math . max ( 0 , Math . floor ( ( request . amount + incomingRecoveryBonus + outgoingRecoveryBonus ) * ( incomingRecoveryMultiplier * outgoingRecoveryMultiplier ) ) ) ;
185185 const attr = foundry . utils . getProperty ( actor . system , request . attributeKey ) ;
186186 const uncappedRecoveryValue = amountRecovered + attr . value ;
@@ -205,12 +205,12 @@ async function processRecovery(request) {
205205 else {
206206 // Lower amount recovered by how much the target is missing
207207 amountRecovered = Math . min ( amountRecovered , calculateMissingResource ( actor , request . attributePath ) ) ;
208- // No recovery possible
209208 if ( amountRecovered === 0 ) {
209+ const message = incomingRecoveryMultiplier > 0 ? 'FU.ChatRecoveryNotNeeded' : 'FU.ChatRecoveryNotPossible' ;
210210 ChatMessage . create ( {
211211 speaker : ChatMessage . getSpeaker ( { actor } ) ,
212212 flags : Pipeline . initializedFlags ( Flags . ChatMessage . ResourceGain , true ) ,
213- content : game . i18n . format ( 'FU.ChatRecoveryNotNeeded' , {
213+ content : game . i18n . format ( message , {
214214 actor : actor . name ,
215215 resource : request . resourceType . toUpperCase ( ) ,
216216 } ) ,
0 commit comments