mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 09:40:44 +00:00
fixed surrounded by ally bug, right click out of map bug
This commit is contained in:
@@ -122,12 +122,12 @@
|
||||
* make alliance icon DONE 9/19/2024
|
||||
* bots attack traitors DONE 9/19/2024
|
||||
* BUG: alliance should stop attack DONE 9/19/2024
|
||||
* create event box
|
||||
* BUG: bot attacks don't stop when allied ?
|
||||
* BUG: bot attacks don't stop when allied DONE 9/19/2024
|
||||
* click alliance sends alliance request DONE 9/20/2024
|
||||
* notification for alliance request DONE 9/20/2024
|
||||
* comfirm alliance DONE 9/20/2024
|
||||
* create event box DONE 9/20/2024
|
||||
* make fake humans easier
|
||||
* click alliance sends alliance request
|
||||
* notification for alliance request
|
||||
* comfirm alliance
|
||||
* first place has crown
|
||||
* alliance has icon
|
||||
* BUG: FakeHuman don't be enemy if don't share border
|
||||
|
||||
@@ -28,10 +28,10 @@ export class UILayer implements Layer {
|
||||
|
||||
constructor(
|
||||
private eventBus: EventBus,
|
||||
private game: Game,
|
||||
private clientID: ClientID,
|
||||
private transformHandler: TransformHandler
|
||||
) {
|
||||
private game: Game,
|
||||
private clientID: ClientID,
|
||||
private transformHandler: TransformHandler
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
@@ -229,6 +229,9 @@ export class UILayer implements Layer {
|
||||
|
||||
private onRightClick(e: RightClickEvent) {
|
||||
const cell = this.transformHandler.screenToWorldCoordinates(e.x, e.y)
|
||||
if (!this.game.isOnMap(cell)) {
|
||||
return
|
||||
}
|
||||
const tile = this.game.tile(cell)
|
||||
if (!tile.hasOwner()) {
|
||||
return
|
||||
|
||||
@@ -51,7 +51,8 @@ export class PlayerExecution implements Execution {
|
||||
clusters.sort((a, b) => b.size - a.size);
|
||||
|
||||
const main = clusters.shift()
|
||||
if (this.isSurroundedBySamePlayer(main)) {
|
||||
const surroundedBy = this.surroundedBySamePlayer(main)
|
||||
if (surroundedBy && !this.player.alliedWith(surroundedBy)) {
|
||||
this.removeCluster(main)
|
||||
}
|
||||
|
||||
@@ -62,7 +63,7 @@ export class PlayerExecution implements Execution {
|
||||
}
|
||||
}
|
||||
|
||||
private isSurroundedBySamePlayer(cluster: Set<Tile>): boolean {
|
||||
private surroundedBySamePlayer(cluster: Set<Tile>): false | Player {
|
||||
const enemies = new Set<Player>()
|
||||
for (const tile of cluster) {
|
||||
if (tile.isOceanShore() || tile.neighbors().find(n => !n.hasOwner())) {
|
||||
@@ -75,7 +76,10 @@ export class PlayerExecution implements Execution {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
if (enemies.size != 1) {
|
||||
return false
|
||||
}
|
||||
return Array.from(enemies)[0]
|
||||
}
|
||||
|
||||
private isSurrounded(cluster: Set<Tile>): boolean {
|
||||
|
||||
Reference in New Issue
Block a user