createMission :: MissionCategory -> String -> AObject -> StateT SpaceState IO ()
createMission Messenger alleg lc = do
  let planetname = aobjName lc
  state <- State.get
  let otherplanets = fmap aobjName $ filter (hasOwner alleg) (toList $ aobjects state)
  when (not (null otherplanets)) $ do
    n <- liftIO $ chooseIO otherplanets
    when (n /= planetname) $ 
      modify $ modAvailMission $ const $ Just $ MessengerMission n
createMission :: MissionCategory -> String -> AObject -> StateT SpaceState IO ()
createMission Messenger alleg lc = do
  let planetname = aobjName lc
  state <- State.get
  let otherplanets = fmap aobjName $ filter (hasOwner alleg) (toList $ aobjects state)
  when (not (null otherplanets)) $ do
    n <- liftIO $ chooseIO otherplanets
    when (n /= planetname) $ 
      modify $ modAvailMission $ const $ Just $ MessengerMission n
createMission Messenger alleg lc = do
  let planetname = aobjName lc
  state <- State.get
  let otherplanets = fmap aobjName $ filter (hasOwner alleg) (toList $ aobjects state)
  when (not (null otherplanets)) $ do
    n <- liftIO $ chooseIO otherplanets
    when (n /= planetname) $ 
      modify $ modAvailMission $ const $ Just $ MessengerMission n