In my game I want to have missions/quests for the player to complete.
So I am thinking how I should proceed into implementing it.
As I understand it, there will be a Mission base class, where the other missions/quests will derive from, and implement some methods.
Some missions will be similar though, and I don't want to copy-paste code everywhere. My idea is to have some classes that are the most basic missions, e.g:
1) Bring an item somewhere or to someone
2) Kill one or more enemy
3) Escape from one or more enemy
4) Go from location A to location B (in a given time or not)
5) Drive an enemy away from a location
6) Make an enemy go to some location
7) Follow an ally
8) Avoiding being spotted by someone or for some time
Then I can combine those basic missions to make some more complex ones. E.g a mission where the player must bring an item to someone (1) while at the same time avoiding being spotted (8).
What do you think of this approach?
How are mission systems usually implemented?