I just want to check that there isn't a better way to do this. What I have works fine, but could be considered clumsy/hacky.
I have a map where there is an optional side quest. If the player completes this side quest, I would like it to be acknowledged in the exittext for the map.
Originally, the map did not have the side quest, so it was just set up in a cluster with an entertext to set the scene and an exittext to tell the player they'd done a great job.
However, with the side quest in place, I want the game to tell the player about the additional stuff. If they just complete the map, they have done a great job but if they did the side quest, they did an even greater job.
I know that I could do it via a HUDMessage (indeed, I do have a HUDMessage just before the map exits that tells part of the story) but I would also like to have a proper exittext that comes up after the stat screen and behaves just like a normal enter/exittext. (i.e. a type-on effect, skips to full text if [use] is pressed, scaled appropriately etc etc.)
Fortunately, after the main map, I have a little epilogue map with a simple cutscene, and that makes things simpler.
So, this is what I have set up:
- The main map is in its own cluster. I have kept the entertext for that cluster, but removed the exittext.
- I have duplicated the epilogue map under a different name (but the WAD itself is identical).
- Each of the two epilogue maps are set up in MAPINFO to be in their own cluster. Each of these clusters have their own entertext.
- When the player completes the main map, the ACS script that calls the exit instruction (after displaying the HUDMessage that I mentioned) checks for a quest item in the player's inventory. (The quest item is given for doing the side quest.)
- If the quest item is present, the player is sent to one of the epilogue maps.
- if the quest item is not present, the player is sent to the other epilogue map.
- before entering whichever epilogue map has been triggered, the entertext for that map/cluster is displayed.
I don't *think* there is any way to make enter/exittexts conditional but I could be wrong.