• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

WIP Enhanced Smuggling

:ahoy

@Levis - looking at the code in Smuggling.c - it appears that the minimum number of goods available to smuggle on any island should be two.

On my F2 > Colonies screen I have some islands with only one good available to smuggle - have I misunderstood the code or is this correct?

:read


Code:
int idx = 1;
   switch(sti(sisland.smuggling_nation))
   {
     case ENGLAND:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_EBONY);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_COFFEE);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_PAPRIKA);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_BRICKS);
       }
     break;
     
     case FRANCE:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_SANDAL);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_COTTON);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_CINNAMON);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_MAHOGANY);
       }
     break;
     
     case SPAIN:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_ALE);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_SILK);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_TOBACCO);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_CHOCOLATE);
       }
     break;
     
     case PIRATE:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_LEATHER);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_CLOTHES);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_COTTON);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_SILK);
       }
     break;
     
     case HOLLAND:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_SUGAR);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_LINEN);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_FRUITS);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_SANDAL);
       }
     break;
     
     case PORTUGAL:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_WINE);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_MAHOGANY);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_COPRA);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_EBONY);
       }
     break;
     
     case AMERICA:
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_PAPRIKA);
       idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_OIL);
       if(sti(sisland.smuggling.state)>1)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_LINEN);
       }
       if(sti(sisland.smuggling.state)>3)
       {
         idx = AddTradeGood(sisland, TRADE_TYPE_CONTRABAND_NAME, idx, GOOD_ALE);
       }
     break;
   }

:type1
 

Attachments

  • PotC JS Smuggling Hispaniola.jpg
    PotC JS Smuggling Hispaniola.jpg
    253.1 KB · Views: 146
  • PotC JS Smuggling Turks.jpg
    PotC JS Smuggling Turks.jpg
    246 KB · Views: 156
  • PotC Smuggling Eleuthera.jpg
    PotC Smuggling Eleuthera.jpg
    257.3 KB · Views: 147
Last edited:
@Talisman there is a check in place (later) to see if a contraband good is also a import or export good. if so this is removed as contraband. This is how you can end up with only 1 contraband good.
 
A whole bunch of posts from here have been moved to their own individual Bug Tracker entries to prevent us getting confused about the different things that need doing. :facepalm
 
Guess we should fix the dialog a bit here tough.
Maybe @pedrwyth could take a look at that?
 
While ideally Thomas the Terror SHOULD be locked like other quest ships that aren't yours, I remember that indeed he isn't.
So he should behave like any companion that IS actually yours to command.

What exactly needs changing with the dialog here?
For now it totals up every time but doesn't give a subtotal for the specific good.
This might be nice to add to prevent further confusion.

I believe giving him the TRADER officertype should lock his cargo and stuff but I don't think we want that.
So I think we should then add a extra check in IsTrader for a specific character attribute, and give this to everyone who's cargo should be locked out too
 
So I'm still looking for a use of opium
What do you guys think about this:
- it unlocks a random perk

This doesn't mean it picks on of the locked perks and unlocks it, no it picks from all perks. and only if the one picked is locked it will be unlocked. I believe there are about 30 perks or so, so that should give you a 1/30 chance of a specific perk unlocking.
 
Interesting idea. Won't affect those players who disable the Locked Perks feature though.
 
Interesting idea. Won't affect those players who disable the Locked Perks feature though.
Hmm...true. Still it has use and if you decide to play without locked perks this might make you change because you can get them in another way too.
 
these are the effects (it's all explained ingame (but less precise) also so if you want the suprise dont read this):
there is a 10% chance of your max hp being decreases for a tiny amount.
there is a 50% chance of it trying to unlock a perk
there is a 15% chance of you getting a skillpoint
there is a 5% chance of getting poisoned
the last 20% does nothing

Every time you use it you will get a "sickness" which can stack up. this will wear off. If you only use one it wears off in 1 day. if you are still sick and use another one it will wear off in 2, then 3 etc.
This sickness influences your blocking ability. the sicker you are the less chance you have of blocking blows. Also the damage done by oponents will be increased slightly.
If you go to the apothecary and ask him to heal you, this sickness will also be healed.
 
these are the effects (it's all explained ingame (but less precise) also so if you want the suprise dont read this):
there is a 10% chance of your max hp being decreases for a tiny amount.
there is a 50% chance of it trying to unlock a perk
there is a 15% chance of you getting a skillpoint
there is a 5% chance of getting poisoned
the last 20% does nothing

Every time you use it you will get a "sickness" which can stack up. this will wear off. If you only use one it wears off in 1 day. if you are still sick and use another one it will wear off in 2, then 3 etc.
This sickness influences your blocking ability. the sicker you are the less chance you have of blocking blows. Also the damage done by oponents will be increased slightly.
If you go to the apothecary and ask him to heal you, this sickness will also be healed.
Fancy! :cheers
 
Just wondering. Maybe @Pieter Boelen or @ANSEL or @Grey Roger knows.
Is oxbay the only island which has towns on it but doesn't have a governor? (besides Khael Roa but its pirate owned right?)

I still want to make it so the first time you are caught smuggling you are brought to the gouvenor, but it would only work if each island actually has a govenor.
 
Back
Top