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