akarnokd / open-ig

Free & open-source reimplementation of Imperium Galactica. Download the Installer below the file list!
GNU Lesser General Public License v3.0
244 stars 55 forks source link

Unable to attack traders, v0.95.246 #1143

Closed akarnokd closed 1 month ago

akarnokd commented 1 month ago

Reported on Facebook. Confirmed locally.

Starting a new campaign and attacking the traders does not start a spacewar.

In fact, the attack gets cancelled several times within a few seconds if the trader is away. If my fleet is within range, when the trader is reached, nothing happens.

akarnokd commented 1 month ago

This is what cancels the attack:

Fleet.stop() line: 560  
DiplomaticRelation.updateDrValue(double) line: 63   
Player.setStance(Player, int) line: 345 
Radar.updateKnowledge(World, Player, Fleet, FleetKnowledge) line: 240   
Radar.compute(World) line: 97   
hemoridos commented 1 month ago

Tested this on v0.95.246 with #1142 . I was unable to reproduce it with the fix in that PR. Unfortunately I only submitted it after the release of v0.95.246 . Turns out the fix wasn't so minor after all... Sorry about that.

On that topic stopping player fleets also when diplomatic relations improve was an intended effect, though it might be better to put that behind a configuration.

akarnokd commented 1 month ago

Traders started out with 50 and then bumped to 100 by some initialization, which triggered the stopping of all player fleets because passing the threshold.

On that topic stopping player fleets also when diplomatic relations improve was an intended effect, though it might be better to put that behind a configuration.

No need for config. Put that on a code path that is only triggered by the change in the diplomatic stance from the Diplomacy screen.