createMission SecretMessage alleg lc = do
  let planetname = aobjName lc
  state <- State.get
  let otherplanets = map aobjName $ filter (\a ->  hasSomeOwner a && (not . hasOwner alleg) a) (toList $ aobjects state)
  when (not (null otherplanets)) $ do
    n <- liftIO $ chooseIO otherplanets
    when (n /= planetname) $ 
      modify $ modAvailMission $ const $ Just $ SecretMessageMission n
createMission SecretMessage alleg lc = do
  let planetname = aobjName lc
  state <- State.get
  let otherplanets = map aobjName $ filter (\a ->  hasSomeOwner a && (not . hasOwner alleg) a) (toList $ aobjects state)
  when (not (null otherplanets)) $ do
    n <- liftIO $ chooseIO otherplanets
    when (n /= planetname) $ 
      modify $ modAvailMission $ const $ Just $ SecretMessageMission n
createMission SecretMessage alleg lc = do
  let planetname = aobjName lc
  state <- State.get
  let otherplanets = map aobjName $ filter (\a ->  hasSomeOwner a && (not . hasOwner alleg) a) (toList $ aobjects state)
  when (not (null otherplanets)) $ do
    n <- liftIO $ chooseIO otherplanets
    when (n /= planetname) $ 
      modify $ modAvailMission $ const $ Just $ SecretMessageMission n