/* * Author: Needles * https://steamcommunity.com/profiles/76561198026257137/ */ ::Debug.Print("*** FILTER"); ::Filter <- {}; ::Filter.Filter <- class { constructor() {} function Filter(player) { return null; } } ::Filter.BotFilter <- class extends ::Filter.Filter { analogue = null; constructor(_analogue) { analogue = _analogue; } function Filter(player) { return (::Players.IsPlayerBot(player) == analogue); } } ::Filter.TagFilter <- class extends ::Filter.Filter { tag = null; constructor(_tag) { tag = _tag; } function Filter(player) { return player.HasBotTag(tag); } } ::Filter.TFClassFilter <- class extends ::Filter.Filter { tfClass = null; constructor(_tfClass) { tfClass = _tfClass; } function Filter(player) { return (player.GetPlayerClass() == tfClass); } } ::Filter.TFTeamFilter <- class extends ::Filter.Filter { tfTeam = null; constructor(_tfTeam) { tfTeam = _tfTeam; } function Filter(player) { return (player.GetTeam() == tfTeam); } } ::Filter.TFCondFilter <- class extends ::Filter.Filter { cond = null; constructor(_cond) { cond = _cond; } function Filter(player) { return (player.InCond(cond)); } } function Filter::FilterAll(player, filterList) { foreach(filter in filterList) { if (!filter.Filter(player)) { return false; } } return true; }