offerMissionGeneric :: Mission -> AObject -> [String] -> StateT SpaceState IO ()
offerMissionGeneric mis lc msg = do
  state <- State.get
  let alleg = getAllegiance lc
  let txt = intercalate "\n" msg
  c <- pressOneOfScreen 
             (liftIO $ makeTextScreen (100, 500) 
                         [(gamefont state, Color4 1.0 1.0 1.0 1.0, txt)]
                          (return ()))
             [SDLK_y, SDLK_n, SDLK_ESCAPE]
  modify $ modAvailMission (const Nothing)
  case c of
    SDLK_y -> modify $ modPlMissions $ setMission alleg mis
    _      -> return ()
offerMissionGeneric :: Mission -> AObject -> [String] -> StateT SpaceState IO ()
offerMissionGeneric mis lc msg = do
  state <- State.get
  let alleg = getAllegiance lc
  let txt = intercalate "\n" msg
  c <- pressOneOfScreen 
             (liftIO $ makeTextScreen (100, 500) 
                         [(gamefont state, Color4 1.0 1.0 1.0 1.0, txt)]
                          (return ()))
             [SDLK_y, SDLK_n, SDLK_ESCAPE]
  modify $ modAvailMission (const Nothing)
  case c of
    SDLK_y -> modify $ modPlMissions $ setMission alleg mis
    _      -> return ()
offerMissionGeneric mis lc msg = do
  state <- State.get
  let alleg = getAllegiance lc
  let txt = intercalate "\n" msg
  c <- pressOneOfScreen 
             (liftIO $ makeTextScreen (100, 500) 
                         [(gamefont state, Color4 1.0 1.0 1.0 1.0, txt)]
                          (return ()))
             [SDLK_y, SDLK_n, SDLK_ESCAPE]
  modify $ modAvailMission (const Nothing)
  case c of
    SDLK_y -> modify $ modPlMissions $ setMission alleg mis
    _      -> return ()