%{ const indexRow = +${sameRowIndex()}$ localVars.statToSelect = ${sameRow('disciplineStat')}$; localVars.mastery = +${sameRow('disciplineMastery', -25)}$; localVars.mod = +${?{Modificateur|0}}$ localVars.roll = ${[1d100]}$; localVars.displineTitle = entity.system.props.masteriesTable[indexRow].disciplineTitle if(!localVars.statToSelect || localVars.statToSelect === 0) { localVars.stat = +entity.system.props.physique; } if(localVars.statToSelect === 1) { localVars.stat = +entity.system.props.social; } if(localVars.statToSelect === 2) { localVars.stat = +entity.system.props.mental; } const clamp = (value) => Math.min(85, Math.max(15, value)); localVars.partialSuccessThreshold = clamp(localVars.stat + localVars.mastery + localVars.mod); localVars.fullSuccessThreshold = clamp(localVars.partialSuccessThreshold - 30); localVars.isFullSuccess = localVars.roll <= localVars.fullSuccessThreshold; localVars.isPartialSuccess = localVars.roll <= localVars.partialSuccessThreshold; localVars.isFailure = localVars.roll > localVars.partialSuccessThreshold; const preffix = '
' + localVars.displineTitle + '
'; const comparator = 'Seuil de réussite complète :' + localVars.stat + ' (attribut) + ' + localVars.mastery + ' (maîtrise) + ' + localVars.mod + ' (mod.) - 30 = ' + localVars.fullSuccessThreshold + '
' + 'Seuil de réussite partielle :' + localVars.stat + ' (attribut) + ' + localVars.mastery + ' (maîtrise) + ' + localVars.mod + ' (mod.) = ' + localVars.partialSuccessThreshold + '
'; if (localVars.isFullSuccess) { return preffix + 'Réussite Totale
' + 'Vous avez réussi votre action de manière exceptionnelle !
' + '' + localVars.roll + ' <= ' + localVars.fullSuccessThreshold + '
' + comparator; } else if (localVars.isPartialSuccess) { return preffix + 'Réussite Partielle
' + 'Vous avez réussi votre action, mais avec quelques complications.
' + '' + localVars.roll + ' <= ' + localVars.partialSuccessThreshold + '
' + comparator; } else if (localVars.isFailure) { return preffix + 'Échec
' + 'Vous avez échoué votre action.
' + '' + localVars.roll + ' > ' + localVars.partialSuccessThreshold + '
' + comparator; } }%