The attached file Usurers.c - will put smugglers in the taverns of Charlestown ( Nevis ) and Williamstad ( Curacao ) where they were previously missing.
It will also fix the bug which stopped the smuggler from appearing in the Pointe a Pitre ( Guadeloupe ) tavern.
Now all islands with towns should have a smuggler in a tavern.
EXCEPT:-
Turks - Pirate island with no contraband
Tortuga - no smuggler - no beach on island - can't remove contraband from colonies screen as part of Hispaniola - ALSO - Hispaniola island Smugglers use Tortuga prices as their base price.
Eleuthera - which has no beaches therefore no place for Smugglers - contraband has therefore been removed from colonies screen with attached Islands_init.c file - can be reinstated again if a beach is made on the island.
The Taverns.c file attached removes 4 drunk soliders from Pointe a Pitre ( Guadeloupe ) tavern - they did not appear anyway & gave error messages ( unable to load gm file ) - and I don't know how to make them work with the Period soldiers models. Also they would make the tavern very crowded.
PROBLEMS:-
I have not managed to get the Smugglers to appear on the beach at Curacao & Nevis
Curacao = Bullen Bay
Nevis = White Bay
when I talk to the smuggler in the tavern the beach name in the last line of the dialog appears as " error " (see image ) and I get the following in the error log:-
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
missed attribute: name
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
no rAP data
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
missed attribute: name
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
no rAP data
which shows that this code from Smuggler Agent_dialog.c is not working when I talk to the Curacao & Nevis smuggler in the tavern.
case "Meeting_3":
if(CheckAttribute(Pchar, "quest.Contraband.Active") && Pchar.quest.Contraband.Active == true)
{
Dialog.snd = "voice\SMAG\SMAG006";
d.Text = DLG_TEXT[17];
Link.l1 = DLG_TEXT[18];
Link.l1.go = "Exit";
}
else
{
Dialog.snd = "voice\SMAG\SMAG007";
Pchar.quest.contraband.CurrentPlace = SelectSmugglingLocation();
d.Text = DLG_TEXT[19] + locations[FindLocation(Pchar.quest.contraband.CurrentPlace)].name + DLG_TEXT[20];
Link.l1 = DLG_TEXT[21];
Link.l1.go = "Smuggling_exit";
}
break;
Any help in fixing this to get these two smugglers working appreciated. - where does this dialog pick up the beach when it works ok for the other islands.
The files Taverns.c and Usurers.c --- go in PROGRAM \ Characters \ init \
The file Islands_init.c ---- goes in PROGRAM \ Islands \
EDIT:- Start New Game required for changes to take effect
It will also fix the bug which stopped the smuggler from appearing in the Pointe a Pitre ( Guadeloupe ) tavern.
Now all islands with towns should have a smuggler in a tavern.
EXCEPT:-
Turks - Pirate island with no contraband
Tortuga - no smuggler - no beach on island - can't remove contraband from colonies screen as part of Hispaniola - ALSO - Hispaniola island Smugglers use Tortuga prices as their base price.
Eleuthera - which has no beaches therefore no place for Smugglers - contraband has therefore been removed from colonies screen with attached Islands_init.c file - can be reinstated again if a beach is made on the island.
The Taverns.c file attached removes 4 drunk soliders from Pointe a Pitre ( Guadeloupe ) tavern - they did not appear anyway & gave error messages ( unable to load gm file ) - and I don't know how to make them work with the Period soldiers models. Also they would make the tavern very crowded.
PROBLEMS:-
I have not managed to get the Smugglers to appear on the beach at Curacao & Nevis
Curacao = Bullen Bay
Nevis = White Bay
when I talk to the smuggler in the tavern the beach name in the last line of the dialog appears as " error " (see image ) and I get the following in the error log:-
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
missed attribute: name
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
no rAP data
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
missed attribute: name
RUNTIME ERROR - file: dialogs\Smuggler Agent_dialog.c; line: 103
no rAP data
which shows that this code from Smuggler Agent_dialog.c is not working when I talk to the Curacao & Nevis smuggler in the tavern.
case "Meeting_3":
if(CheckAttribute(Pchar, "quest.Contraband.Active") && Pchar.quest.Contraband.Active == true)
{
Dialog.snd = "voice\SMAG\SMAG006";
d.Text = DLG_TEXT[17];
Link.l1 = DLG_TEXT[18];
Link.l1.go = "Exit";
}
else
{
Dialog.snd = "voice\SMAG\SMAG007";
Pchar.quest.contraband.CurrentPlace = SelectSmugglingLocation();
d.Text = DLG_TEXT[19] + locations[FindLocation(Pchar.quest.contraband.CurrentPlace)].name + DLG_TEXT[20];
Link.l1 = DLG_TEXT[21];
Link.l1.go = "Smuggling_exit";
}
break;
Any help in fixing this to get these two smugglers working appreciated. - where does this dialog pick up the beach when it works ok for the other islands.

The files Taverns.c and Usurers.c --- go in PROGRAM \ Characters \ init \
The file Islands_init.c ---- goes in PROGRAM \ Islands \
EDIT:- Start New Game required for changes to take effect