diff options
| -rw-r--r-- | src/Sequence/Contact/Tests.hs | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/src/Sequence/Contact/Tests.hs b/src/Sequence/Contact/Tests.hs index 82b1cf3..a3b15d7 100644 --- a/src/Sequence/Contact/Tests.hs +++ b/src/Sequence/Contact/Tests.hs | |||
| @@ -54,9 +54,10 @@ instance Completion (FormulaM Stats Test) GameState where | |||
| 54 | instance Argument (FormulaM Stats Test) GameState where | 54 | instance Argument (FormulaM Stats Test) GameState where | 
| 55 | arg str = join <$> preuses (gFocus' . eStats) (preview (getTest str)) | 55 | arg str = join <$> preuses (gFocus' . eStats) (preview (getTest str)) | 
| 56 | 56 | ||
| 57 | enactTest :: Test -> FormulaM input TestResult | 57 | enactTest :: Test -> FormulaM Stats TestResult | 
| 58 | enactTest test = toResult <$> d 100 | 58 | enactTest rawTest = do | 
| 59 | where | 59 | test <- foldM (&) rawTest =<< toListOf (ctx . sModifiers . folded . _Modifier . _2) <$> ask | 
| 60 | let | ||
| 60 | critFailureBar = 95 - test^.tCritFailureMod | 61 | critFailureBar = 95 - test^.tCritFailureMod | 
| 61 | critSuccessBar = 5 + test^.tCritSuccessMod | 62 | critSuccessBar = 5 + test^.tCritSuccessMod | 
| 62 | bar = test^.tBaseDifficulty + test^.tMod | 63 | bar = test^.tBaseDifficulty + test^.tMod | 
| @@ -67,6 +68,7 @@ enactTest test = toResult <$> d 100 | |||
| 67 | | pw <= bar = Success | 68 | | pw <= bar = Success | 
| 68 | | pw >= critFailureBar = CritFailure | 69 | | pw >= critFailureBar = CritFailure | 
| 69 | | otherwise = Failure | 70 | | otherwise = Failure | 
| 71 | toResult <$> d 100 | ||
| 70 | 72 | ||
| 71 | -- hasTest :: Stats -> String -> Bool | 73 | -- hasTest :: Stats -> String -> Bool | 
| 72 | -- hasTest stats str = has (getTest str) stats | 74 | -- hasTest stats str = has (getTest str) stats | 
