%{ 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; } }%