module Nomyx.Library.Monarchy where
import Control.Monad
import Nomyx.Language
king :: V PlayerNumber
king = V "King"
makeKing :: PlayerNumber -> Rule
makeKing pn = do
newVar_ "King" pn
void $ modifyPlayerName pn ("King " ++)
monarchy :: PlayerNumber -> Rule
monarchy pn = do
makeKing pn
void $ onEvent_ (ruleEvent Proposed) $ \rule -> do
k <- readVar_ king
void $ onInputRadioOnce ("Your Royal Highness, do you accept rule " ++ (show $ _rNumber rule) ++ "?") [(True, "Yes"), (False, "No")] (activateOrRejectRule rule) k
revolution :: PlayerNumber -> Rule
revolution pn = do
suppressRule 1
rNum <- addRule' "Monarchy" (monarchy pn) ("monarchy " ++ (show pn)) "Monarchy: only the king can vote on new rules"
activateRule_ rNum
autoDelete