Changing

(if (eq (objGetData gPlayerShip "blackMarketXP") 0)

to

(if (geq (objGetData gPlayerShip "blackMarketXP") (objGetData gPlayerShip "blackMarketCrimeCost"))

will make things behave a bit more intuitively - the Black Market will only avoid shooting the player on sight if he's been a consistent enough partner that they can reasonably expect that he might repay the debt.

george moromisato 13 Sep 2017:

Great idea! Implemented in 1.8 Alpha 3. Thanks!