mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 09:30:45 +00:00
Use trade ship travelled distance instead of Manhattan distance when calculating value (#646)
## Description: This PR makes trade ships actually use their traveled distance when calculating their monetary value, instead of the the Manhattan distance from port to port. ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I understand that submitting code with bugs that could have been caught through manual testing blocks releases and new features for all contributors ## Please put your Discord username so you can be contacted if a bug or regression is found: Koranir
This commit is contained in:
@@ -21,6 +21,7 @@ export class TradeShipExecution implements Execution {
|
||||
private tradeShip: Unit;
|
||||
private index = 0;
|
||||
private wasCaptured = false;
|
||||
private tilesTraveled = 0;
|
||||
|
||||
constructor(
|
||||
private _owner: PlayerID,
|
||||
@@ -113,6 +114,7 @@ export class TradeShipExecution implements Execution {
|
||||
this.tradeShip.setSafeFromPirates();
|
||||
}
|
||||
this.tradeShip.move(result.tile);
|
||||
this.tilesTraveled++;
|
||||
break;
|
||||
case PathFindResultType.PathNotFound:
|
||||
consolex.warn("captured trade ship cannot find route");
|
||||
@@ -127,11 +129,7 @@ export class TradeShipExecution implements Execution {
|
||||
private complete() {
|
||||
this.active = false;
|
||||
this.tradeShip.delete(false);
|
||||
const gold = this.mg
|
||||
.config()
|
||||
.tradeShipGold(
|
||||
this.mg.manhattanDist(this.srcPort.tile(), this._dstPort.tile()),
|
||||
);
|
||||
const gold = this.mg.config().tradeShipGold(this.tilesTraveled);
|
||||
|
||||
if (this.wasCaptured) {
|
||||
this.tradeShip.owner().addGold(gold);
|
||||
|
||||
Reference in New Issue
Block a user