//If has not been boarded before, needs to fight for it if (!pilot_isFlag(p,PILOT_BOARDED_SUCCESS)) { chance=100-(0.4 * (5. + p->crew*p->boarding_skills)/(5. + player.p->crew*player.p->boarding_skills))*100; chance=MAX(chance,0); chance=MIN(chance,100);

nsnprintf( buf, 512, "Do you wish to attempt to board the %s?" "\n\nYou have a crew of %d fighting at %d%% efficiency." "\n\nThey have a crew of %d fighting at %d%% efficiency." "\n\nYour chance of winning are of %d%%.", p->name, (int)player.p->crew,(int)(player.p->boarding_skills*100), (int)p->crew,(int)(p->boarding_skills*100), chance);

This would pre-empt any of the default boarding stuff by setting the board_stopboard flag.

Because the check for the boarding fight comes before the hook there is no way to pre-empt that message.

I can imaging two possible solutions to this.

1. Add a lua function to pilot that allows you to set PILOT_BOARDED_SUCCESS. For example pilot:skipBoardingRoll(true) or something like that.2. The other option would be to move the boarding roll down below the boarding_stopboard check.

My hunch is that the first option might be more useful. This allows a developer the choice of if they want to use the fight and not the looting, or to skip the fight and only give the player the loot window, i.e. for a quest were they have to loot a special quest item from a ship.