fix: update layer list

This commit is contained in:
Davide Fantino 2023-03-15 19:52:27 +01:00
parent 2efaf0df90
commit 83c2c2ed89

View File

@ -1035,21 +1035,21 @@ export default class MapVote extends DiscordBasePlugin {
if (!Layers.layers.find((e) => e.layerid == layer.rawName)) Layers.layers.push(new Layer(layer)); if (!Layers.layers.find((e) => e.layerid == layer.rawName)) Layers.layers.push(new Layer(layer));
} }
const sheetCsv = (await axios.get('https://docs.google.com/spreadsheets/d/1OYO1IvNI0wrUZWKz_pz6Ka1xFAvBjBupddYn2E4fNFg/gviz/tq?tqx=out:csv&sheet=Map%20Layers')).data?.replace(/\"/g, '')?.split('\n')//.map((l) => l.split(',')) const sheetCsv = (await axios.get('https://docs.google.com/spreadsheets/d/1OYO1IvNI0wrUZWKz_pz6Ka1xFAvBjBupddYn2E4fNFg/gviz/tq?tqx=out:csv&sheet=Map%20Layers')).data?.replace(/\"/g, '')?.split('\n') || []//.map((l) => l.split(','))
sheetCsv.shift(); sheetCsv.shift();
// this.verbose(1, 'Sheet', Layers.layers.length, sheetCsv.length, sheetCsv.find(l => l[ 2 ] == "Manicouagan_RAAS_v1")) // this.verbose(1, 'Sheet', Layers.layers.length, sheetCsv.length, sheetCsv.find(l => l[ 2 ] == "Manicouagan_RAAS_v1"))
// this.verbose(1, 'Sheet', sheetCsv) // this.verbose(1, 'Sheet', sheetCsv)
const rconLayers = (await this.server.rcon.execute('ListLayers')).split('\n'); const rconLayers = (await this.server.rcon.execute('ListLayers'))?.split('\n') || [];
rconLayers.shift(); rconLayers.shift();
Layers.layers = Layers.layers.filter((l) => rconLayers.includes(l.layerid)) if (rconLayers.length > 0) Layers.layers = Layers.layers.filter((l) => l != null && rconLayers.includes(l.layerid))
// this.verbose(1, 'RCON Layers', this.mapLayer(rconLayers[ 0 ])) // this.verbose(1, 'RCON Layers', this.mapLayer(rconLayers[ 0 ]))
if (sheetCsv.length > 0) { if (sheetCsv.length > 0) {
for (const layer of rconLayers) { for (const layer of rconLayers) {
if (!Layers.layers.find((e) => e.layerid == layer)) { if (!Layers.layers.find((e) => e?.layerid == layer)) {
let newLayer = this.mapLayer(layer); let newLayer = this.mapLayer(layer);
const csvLayer = sheetCsv.find(l => l.includes(newLayer.layerid))?.split(','); const csvLayer = sheetCsv.find(l => l.includes(newLayer?.layerid))?.split(',');
// console.log(newLayer.layerid, csvLayer[ 2 ]); // console.log(newLayer.layerid, csvLayer[ 2 ]);
if (csvLayer) { if (csvLayer) {
if (csvLayer[ 6 ]) newLayer.teams[ 0 ].faction = csvLayer[ 6 ] if (csvLayer[ 6 ]) newLayer.teams[ 0 ].faction = csvLayer[ 6 ]
@ -1082,7 +1082,7 @@ export default class MapVote extends DiscordBasePlugin {
// this.verbose(1, 'Parsing layer', l) // this.verbose(1, 'Parsing layer', l)
const gl = /^(?<level>\w+)_(?<gamemode>\w+)_(?<version>\w+)$/i.exec(l)?.groups const gl = /^(?<level>\w+)_(?<gamemode>\w+)_(?<version>\w+)$/i.exec(l)?.groups
// this.verbose(1, 'Parsed layer', gl) // this.verbose(1, 'Parsed layer', gl)
if (Object.keys(gl).length != 3) return; if (!gl || Object.keys(gl).length != 3) return;
let teams = [] let teams = []
for (const t of [ 'team1', 'team2' ]) { for (const t of [ 'team1', 'team2' ]) {