I think you could apply a tradegoods 'mask' to make many goods unavailable or available cheaply and have illegal goods for sale at low prices.
Booze and luxuries should have a nice high price as pirates and their harlots alike like to squander their
loot hard-earned paychecks on things that supply instant grattification.
A highly volatile market would suit best, as the available stock would depend on what has been 'scavenged'. Prices for available goods should always be fairly low, as they are from highly suspect sources.
Possibly a fence-risk can be scripted.
Triggered when you deal with a piratebarge, and checked+reset when you dock at a Galcoop mainstation. If you fail the %check, you get fined for trafficking in stolen goods.
Check may take into account player-legal-status and system-government-type.
Is there any way to querry the cargo_carried of the player_entity?
Code: Select all
/** Docked at mainstation: check whether player has taken on goods in a piratbase recently. Chances of cargomanifest check depend on system society. Severity of penaly depends on size of cargo discrepancy. Reset variable regardless of fine or not. /**
{
"Smuggling_Stolen_Cargo" = (
{
conditions = ("status_string equal STATUS_DOCKED", "dockedAtMainStation_bool equals true");
do = (
{
conditions = ("mission_fence greaterthan 0");
do = (
{
conditions = ("systemGovernment_string equals Anarchy");
do = ("reset: mission_fence");
else = (
"set: local_smugglingbust 25",
"add: local_smugglingbust [systemGovernment_number]",
"add: local_smugglingbust [systemEconomy_number]",
"add: local_smugglingbust [systemTechLevel_number]",
"subtract: local_smugglingbust [d100_number]",
{
conditions = (local_fencebust greaterthan 0);
do = (
{
conditions = ("[mission_fence] lessthan 11");
do = ("set: local_fence_fine [legalStatus_number]", "add: local_fence_fine 10");
conditions = ("[mission_fence] lessthan 101");
do = ("set: local_fence_fine [legalStatus_number]", "add: local_fence_fine 100");
conditions = ("[mission_fence] greaterthan 100");
do = ("set: local_fence_fine [legalStatus_number]", "add: local_fence_fine 250");
},
"setLegalStatus: [local_fence_fine]" );
};
);
};
);
},
"reset: mission_fence");
};
**/ When docked at a pirate base, check cargo. Possible to cheat if cargotonnage remains equal. /**
**/ enter piratebase: /**
{
conditions = ("local_goods equal UNDEFINED", "status_string equal STATUS_DOCKED", "dockedStationName_string equal piratebase");
do = ("set: local_goods [i][cargo_carried][/i]");
};
**/ leave piratebase: /**
{
conditions = ("status_string equal STATUS_LAUNCHING");
do = (
{
conditions = ("local_goods equal UNDEFINED"); **/ Only defined if a piratebase /**
do =();
else = ("subtract: local_goods [[i]cargo_carried[/i]]",
{
conditions = ("local_goods lessthan 0");
do = (
{
conditions = ("mission_fence equal UNDEFINED");
do = ("set: mission_fence [local_goods]");
else = ("add: mission_fence [local_goods]");
},
"reset: local_goods"
);
};
);
};
);
}
);
};