mirror of
https://git.rezel.net/LudoTech/traque.git
synced 2026-02-09 10:20:16 +01:00
show enemy name
This commit is contained in:
@@ -130,6 +130,7 @@ export function initAdminSocketHandler() {
|
||||
if (game.updateTeam(teamId, newTeam)) {
|
||||
secureAdminBroadcast("teams", game.teams);
|
||||
sendUpdatedTeamInformations(teamId)
|
||||
sendUpdatedTeamInformations(game.getTeam(teamId).chased)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user