show enemy name

This commit is contained in:
2024-04-20 08:43:26 +00:00
parent 37b3a6a538
commit 27b7f6fc62
4 changed files with 16 additions and 5 deletions

View File

@@ -130,6 +130,7 @@ export function initAdminSocketHandler() {
if (game.updateTeam(teamId, newTeam)) {
secureAdminBroadcast("teams", game.teams);
sendUpdatedTeamInformations(teamId)
sendUpdatedTeamInformations(game.getTeam(teamId).chased)
}
})

View File

@@ -63,6 +63,7 @@ export default class Game {
lastSentLocation: null,
locationSendDeadline: null,
enemyLocation: null,
enemyName: null,
captureCode: this.createCaptureCode(),
sockets: [],
startingArea: null,
@@ -95,6 +96,7 @@ export default class Game {
if (previousTeam != null) {
this.teams[i].chased = previousTeam;
this.getTeam(previousTeam).chasing = this.teams[i].id;
this.getTeam(previousTeam).enemyName = this.teams[i].name;
} else {
firstTeam = this.teams[i].id;
}
@@ -103,6 +105,7 @@ export default class Game {
}
this.getTeam(firstTeam).chased = previousTeam;
this.getTeam(previousTeam).chasing = firstTeam;
this.getTeam(previousTeam).enemyName = this.getTeam(firstTeam).name;
return true;
}
@@ -183,7 +186,7 @@ export default class Game {
*/
requestCapture(teamId, captureCode) {
let enemyTeam = this.getTeam(this.getTeam(teamId).chasing)
if (enemyTeam.captureCode == captureCode) {
if (enemyTeam && enemyTeam.captureCode == captureCode) {
this.capture(enemyTeam);
this.updateTeamChasing();
return true;

View File

@@ -40,6 +40,7 @@ export function sendUpdatedTeamInformations(teamId) {
io.of("player").to(socketId).emit("update_team", {
name: team.name,
enemyLocation: team.enemyLocation,
enemyName: team.enemyName,
currentLocation: team.currentLocation,
lastSentLocation: team.lastSentLocation,
locationSendDeadline: team.locationSendDeadline,

View File

@@ -1,5 +1,5 @@
import randomLocation, { randomCirclePoint } from 'random-location'
import { getDistanceFromLatLon, isInCircle } from './map_utils.js';
import { randomCirclePoint } from 'random-location'
import { isInCircle } from './map_utils.js';
import { map } from './util.js';
export class ZoneManager {
@@ -123,9 +123,9 @@ export class ZoneManager {
let ok = false;
let res = null
let tries = 0;
const MAX_TRIES = 1000
const MAX_TRIES = 100000
//take a random point satisfying both conditions
while (tries++<MAX_TRIES) {
while (tries++ < MAX_TRIES && !ok) {
res = randomCirclePoint({ latitude: this.currentZone.center.lat, longitude: this.currentZone.center.lng }, this.currentZone.radius - newRadius);
ok = (isInCircle({ lat: res.latitude, lng: res.longitude }, this.zoneSettings.min.center, newRadius - this.zoneSettings.min.radius))
}
@@ -155,6 +155,11 @@ export class ZoneManager {
this.currentZoneCount++;
} else if (this.currentZoneCount < this.zoneSettings.reductionCount) {
this.nextZone.center = this.getRandomNextCenter(this.nextZone.radius - this.nextZoneDecrement)
//Next center cannot be found
if(this.nextZone.center === false) {
console.log("no center")
return false;
}
this.nextZone.radius -= this.nextZoneDecrement;
this.currentStartZone = JSON.parse(JSON.stringify(this.currentZone))
this.nextZoneTimeoutId = setTimeout(() => this.startShrinking(), 1000 * 60 * this.zoneSettings.reductionInterval)
@@ -165,6 +170,7 @@ export class ZoneManager {
begin: JSON.parse(JSON.stringify(this.currentStartZone)),
end: JSON.parse(JSON.stringify(this.nextZone))
})
return true;
}
/*