node-gamedig/protocols/americasarmy.js

24 lines
724 B
JavaScript
Raw Normal View History

class AmericasArmy extends require('./gamespy2') {
2017-08-09 12:32:09 +02:00
finalizeState(state) {
super.finalizeState(state);
state.name = this.stripColor(state.name);
state.map = this.stripColor(state.map);
for(const key of Object.keys(state.raw)) {
if(typeof state.raw[key] === 'string') {
state.raw[key] = this.stripColor(state.raw[key]);
}
2017-08-09 12:32:09 +02:00
}
for(const player of state.players) {
if(!('name' in player)) continue;
player.name = this.stripColor(player.name);
}
}
2017-08-09 12:32:09 +02:00
stripColor(str) {
// uses unreal 2 color codes
return str.replace(/\x1b...|[\x00-\x1a]/g,'');
}
}
module.exports = AmericasArmy;