I totally understand that, sometimes I even have a hard time keeping track of my own changes. That’s why I started to tag everything I do change, it should avoid wondering why there’s a problem and where it is. I like the idea of things being optional, as you do, and that’s where I try very hard to a) keep things as simple as possible while b) allowing some way to enable and disable a feature at a whim.
In this case, the overall control is with the CanEncounter variable so if the UNIQUE_ENCOUNTERS global define is set to false then it would work exactly as it did before - things only change if it is set to true. So if it is true then any ship with the define can be spawned in the normal fashion, and currently I only have about 4 ships which have been enabled in this way (the rest of the unique ones are false anyway and therefore cannot be spawned at all).
It’s way too early anyway to say this is stable, in some areas I’m still improvising until code is properly in place, but it’s worth keeping in mind that because I am able to prevent a ship from being regenerated once it has been sunk then I obviously do have some decent control over them. I guess it would probably be a simple task to use that same logic to prevent them being spawned at all on a per-ship basis, by flagging the ship (or indeed all of them) as sunk in the first place.
The one thing I like about the random encounters is that they are precisely that, random. Grabbing a rumour or side-quest is not entirely random - yes, the resulting quest might be but the player has to actually go looking for this specific thing rather than happening upon it by sheer chance. I quite like the idea of the chance increasing as time goes by, particularly if reputation is relevant, for these ‘orrible scurvies to start causing the player some problems - if they are only available by side-quests then the player can completely avoid ever meeting them.
Personally, I like the idea of both. So likewise, if the player is a pirate then they could be unfortunate enough to run into HMS Victory, but they might also find a quest in piratey place to go sink (or even capture) her.
In this case, the overall control is with the CanEncounter variable so if the UNIQUE_ENCOUNTERS global define is set to false then it would work exactly as it did before - things only change if it is set to true. So if it is true then any ship with the define can be spawned in the normal fashion, and currently I only have about 4 ships which have been enabled in this way (the rest of the unique ones are false anyway and therefore cannot be spawned at all).
It’s way too early anyway to say this is stable, in some areas I’m still improvising until code is properly in place, but it’s worth keeping in mind that because I am able to prevent a ship from being regenerated once it has been sunk then I obviously do have some decent control over them. I guess it would probably be a simple task to use that same logic to prevent them being spawned at all on a per-ship basis, by flagging the ship (or indeed all of them) as sunk in the first place.
The one thing I like about the random encounters is that they are precisely that, random. Grabbing a rumour or side-quest is not entirely random - yes, the resulting quest might be but the player has to actually go looking for this specific thing rather than happening upon it by sheer chance. I quite like the idea of the chance increasing as time goes by, particularly if reputation is relevant, for these ‘orrible scurvies to start causing the player some problems - if they are only available by side-quests then the player can completely avoid ever meeting them.
Personally, I like the idea of both. So likewise, if the player is a pirate then they could be unfortunate enough to run into HMS Victory, but they might also find a quest in piratey place to go sink (or even capture) her.