That is the best option - as a quick fix - until we get more feedback
PROGRAM\smuggling.c find:
Code:
PChar.quest.Rand_Smuggling.win_condition.l1 = "Timer";
PChar.quest.Rand_Smuggling.win_condition.l1.date.day = GetAddingDataDay(0,0,3);
PChar.quest.Rand_Smuggling.win_condition.l1.date.month = GetAddingDataMonth(0,0,3);
PChar.quest.Rand_Smuggling.win_condition.l1.date.year = GetAddingDataYear(0,0,3);
PChar.quest.Rand_Smuggling.win_condition = "Rand_Smuggling";
Replace with:
Code:
PChar.quest.Rand_Smuggling.win_condition.l1 = "Timer";
PChar.quest.Rand_Smuggling.win_condition.l1.date.day = GetAddingDataDay(0,0,7);
PChar.quest.Rand_Smuggling.win_condition.l1.date.month = GetAddingDataMonth(0,0,7);
PChar.quest.Rand_Smuggling.win_condition.l1.date.year = GetAddingDataYear(0,0,7);
PChar.quest.Rand_Smuggling.win_condition = "Rand_Smuggling";
And in RESOURCE\INI\TEXTS\ENGLISH\QUESTBOOK\smuggle.txt I added the phrase
"I may need to wait for that by talking to one of my crew on deck." for each line that mentions the #stime# .
Hopefully that will help players to notice that they can skip time without manual waiting.
-------------------------------------------------------------------------------------------------------------
The code suggests that quite a lot of the desired functionality is already in there.
This seems to be the sequence of events:
- When you are ready and accept to meet with the smugglers, quest case "Made Deal with Smuggler" is triggered from the "Smuggler Agent_dialog.c" file
- When you reach the smuggling location, the quest case "GenerateCoastGuard" is triggered
- At that time, the soldiers and coastguard ships are pre-generated, but NOT at their appropriate spots
- A continuous checking function is then started that may or may not result in the soldiers coming to intercept you while in the shore location
- The chance for being intercepted while ashore takes into account a LOT of variables, including:
. Island smuggling state
. Governor involvement (from the sidequest for privateers)
. Player Luck Skill
. Moon state (full/new)
. Weather (storm/rain/fog)
. Difficulty level
. Player Abilities (Improved and Advanced Smuggling)
- If you ARE caught, then the "Rand_ContrabandInterruption" quest case is called; you then get intercepted by soldiers ashore
- This sets the soldiers on the shore where you are and gets them to talk to you
- This also calls "SetCoastalGuardPursuit", which sets the coastguard ships as enemies at sea
- If you DO get caught, there are several possible dialogs; some also contain the code to make the coastguard ships disappear upon entering worldmap
- This ALSO contains a call to
UpdateRMRelation, which is my recently rewritten function to trigger consequences from sea battles and such
- When you exit the location, then the continuous checking function is stopped
- If at that time you DID get caught, but did NOT get to talk to the soldiers, then the coastguard ships will be removed when you enter worldmap
As far as I can tell, this does have the potential to work well.
But there
may be some instances where the coastguard ships are NOT removed upon entering worldmap, which seems to be the original problem.
-------------------------------------------------------------------------------------------------------------
If you can, please DO keep smuggling, both deliberately showing up at times that there IS a patrol and times that there isn't.
If anything is to be done, we need to know exactly how that behaves and in which way that is wrong.
When you do, be sure to set DEBUG_SMUGGLING to 1 (or even 2 or 3) at the top of PROGRAM\smuggling.c !
Then do your smuggling runs and whenever something seems wrong to you, explain here what happened, why you think this is wrong AND post your compile.log file.
We can then compare your sequence of events with the log file to see what code actually got triggered and if that is actually correct.