implemented awardGoal

This commit is contained in:
Jonathan Lamothe
2019-09-19 05:29:55 -04:00
parent 156c2baaba
commit b125e72034
2 changed files with 67 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ module Mtlstats.Actions
, validateGameDate
, createPlayer
, addPlayer
, awardGoal
) where
import Control.Monad.Trans.State (modify)
@@ -136,3 +137,18 @@ addPlayer s = fromMaybe s $ do
player = newPlayer num name pos
Just $ s & database.dbPlayers
%~ (player:)
-- | Awards a goal to a player
awardGoal
:: Int
-- ^ The player's index number
-> ProgState
-> ProgState
awardGoal n ps = ps
& database.dbPlayers
%~ map
(\(i, p) -> if i == n
then p
& pYtd.psGoals %~ succ
& pLifetime.psGoals %~ succ
else p) . zip [0..]