public static void AttachMasterToRangerGadgets(List <Player> players, Dictionary <long, List <AbstractDamageEvent> > damageData, Dictionary <long, List <AbstractCastEvent> > castData) { var playerAgents = new HashSet <AgentItem>(players.Select(x => x.AgentItem)); // entangle works fine already HashSet <AgentItem> jacarandaEmbraces = ProfHelper.GetOffensiveGadgetAgents(damageData, 1286, playerAgents); HashSet <AgentItem> blackHoles = ProfHelper.GetOffensiveGadgetAgents(damageData, 31436, playerAgents); var rangers = players.Where(x => x.Prof == "Ranger" || x.Prof == "Soulbeast" || x.Prof == "Druid").ToList(); // if only one ranger, could only be that one if (rangers.Count == 1) { Player ranger = rangers[0]; ProfHelper.SetGadgetMaster(jacarandaEmbraces, ranger.AgentItem); ProfHelper.SetGadgetMaster(blackHoles, ranger.AgentItem); } else if (rangers.Count > 1) { ProfHelper.AttachMasterToGadgetByCastData(castData, jacarandaEmbraces, new List <long> { 44980 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(castData, blackHoles, new List <long> { 31503 }, 1000); } }
public static void AttachMasterToRangerGadgets(IReadOnlyList <Player> players, CombatData combatData) { var playerAgents = new HashSet <AgentItem>(players.Select(x => x.AgentItem)); // entangle works fine already HashSet <AgentItem> jacarandaEmbraces = ProfHelper.GetOffensiveGadgetAgents(combatData, 1286, playerAgents); HashSet <AgentItem> blackHoles = ProfHelper.GetOffensiveGadgetAgents(combatData, 31436, playerAgents); var rangers = players.Where(x => x.BaseSpec == Spec.Ranger).ToList(); // if only one ranger, could only be that one if (rangers.Count == 1) { Player ranger = rangers[0]; ProfHelper.SetGadgetMaster(jacarandaEmbraces, ranger.AgentItem); ProfHelper.SetGadgetMaster(blackHoles, ranger.AgentItem); } else if (rangers.Count > 1) { ProfHelper.AttachMasterToGadgetByCastData(combatData, jacarandaEmbraces, new List <long> { 44980 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, blackHoles, new List <long> { 31503 }, 1000); } }
public static void AttachMasterToEngineerTurrets(List<Player> players, Dictionary<long, List<AbstractHealthDamageEvent>> damageData, Dictionary<long, List<AnimatedCastEvent>> castData) { var playerAgents = new HashSet<AgentItem>(players.Select(x => x.AgentItem)); HashSet<AgentItem> flameTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, 5903, playerAgents); HashSet<AgentItem> rifleTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, 5841, playerAgents); rifleTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(damageData, 5875, playerAgents)); HashSet<AgentItem> netTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, 5896, playerAgents); netTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(damageData, 22137, playerAgents)); HashSet<AgentItem> rocketTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, 6108, playerAgents); rocketTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(damageData, 5914, playerAgents)); HashSet<AgentItem> thumperTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, 5856, playerAgents); thumperTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(damageData, 5890, playerAgents)); // TODO: need ID here HashSet<AgentItem> harpoonTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, -1, playerAgents); HashSet<AgentItem> healingTurrets = ProfHelper.GetOffensiveGadgetAgents(damageData, 5958, playerAgents); healingTurrets.RemoveWhere(x => thumperTurrets.Contains(x) || rocketTurrets.Contains(x) || netTurrets.Contains(x) || rifleTurrets.Contains(x) || flameTurrets.Contains(x) || harpoonTurrets.Contains(x)); var engineers = players.Where(x => x.Prof == "Engineer" || x.Prof == "Scrapper" || x.Prof == "Holosmith").ToList(); // if only one engineer, could only be that one if (engineers.Count == 1) { Player engineer = engineers[0]; ProfHelper.SetGadgetMaster(flameTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(netTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(rocketTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(rifleTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(thumperTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(harpoonTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(healingTurrets, engineer.AgentItem); } else if (engineers.Count > 1) { ProfHelper.AttachMasterToGadgetByCastData(castData, flameTurrets, new List<long> { 5836, 5868 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(castData, rifleTurrets, new List<long> { 5818 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(castData, netTurrets, new List<long> { 5837, 5868, 6183 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(castData, rocketTurrets, new List<long> { 5912, 22574, 6183 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(castData, thumperTurrets, new List<long> { 5838 }, 1000); //AttachMasterToGadgetByCastData(castData, harpoonTurrets, new List<long> { 6093, 6183 }, 1000); //AttachMasterToGadgetByCastData(castData, healingTurrets, new List<long> { 5857, 5868 }, 1000); } }
public static void AttachMasterToEngineerTurrets(IReadOnlyList <Player> players, CombatData combatData) { var playerAgents = new HashSet <AgentItem>(players.Select(x => x.AgentItem)); HashSet <AgentItem> flameTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, 5903, playerAgents); HashSet <AgentItem> rifleTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, 5841, playerAgents); rifleTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, 5875, playerAgents)); HashSet <AgentItem> netTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, 5896, playerAgents); netTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, 22137, playerAgents)); HashSet <AgentItem> rocketTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, 6108, playerAgents); rocketTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, 5914, playerAgents)); HashSet <AgentItem> thumperTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, 5856, playerAgents); thumperTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, 5890, playerAgents)); // TODO: need ID here HashSet <AgentItem> harpoonTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, -1, playerAgents); HashSet <AgentItem> healingTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, 5958, playerAgents); healingTurrets.RemoveWhere(x => thumperTurrets.Contains(x) || rocketTurrets.Contains(x) || netTurrets.Contains(x) || rifleTurrets.Contains(x) || flameTurrets.Contains(x) || harpoonTurrets.Contains(x)); var engineers = players.Where(x => x.BaseSpec == Spec.Engineer).ToList(); // if only one engineer, could only be that one if (engineers.Count == 1) { Player engineer = engineers[0]; ProfHelper.SetGadgetMaster(flameTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(netTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(rocketTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(rifleTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(thumperTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(harpoonTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(healingTurrets, engineer.AgentItem); } else if (engineers.Count > 1) { ProfHelper.AttachMasterToGadgetByCastData(combatData, flameTurrets, new List <long> { 5836, 5868 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, rifleTurrets, new List <long> { 5818 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, netTurrets, new List <long> { 5837, 5868, 6183 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, rocketTurrets, new List <long> { 5912, 22574, 6183 }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, thumperTurrets, new List <long> { 5838 }, 1000); //AttachMasterToGadgetByCastData(castData, harpoonTurrets, new List<long> { 6093, 6183 }, 1000); //AttachMasterToGadgetByCastData(castData, healingTurrets, new List<long> { 5857, 5868 }, 1000); } }
public static void AttachMasterToEngineerTurrets(IReadOnlyList <Player> players, CombatData combatData) { var playerAgents = new HashSet <AgentItem>(players.Select(x => x.AgentItem)); HashSet <AgentItem> flameTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, FireTurretDamage, playerAgents); HashSet <AgentItem> rifleTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, RifleTurretDamage, playerAgents); rifleTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, RifleTurretDamageUW, playerAgents)); HashSet <AgentItem> netTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, NetTurretDamage, playerAgents); netTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, NetTurretDamageUW, playerAgents)); HashSet <AgentItem> rocketTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, RocketTurretDamage, playerAgents); rocketTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, RocketTurretDamageUW, playerAgents)); HashSet <AgentItem> thumperTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, ThumperTurret, playerAgents); thumperTurrets.UnionWith(ProfHelper.GetOffensiveGadgetAgents(combatData, ThumperTurretUW, playerAgents)); // TODO: need ID here HashSet <AgentItem> harpoonTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, Unknown, playerAgents); HashSet <AgentItem> healingTurrets = ProfHelper.GetOffensiveGadgetAgents(combatData, TurretExplosion, playerAgents); healingTurrets.RemoveWhere(x => thumperTurrets.Contains(x) || rocketTurrets.Contains(x) || netTurrets.Contains(x) || rifleTurrets.Contains(x) || flameTurrets.Contains(x) || harpoonTurrets.Contains(x)); var engineers = players.Where(x => x.BaseSpec == Spec.Engineer).ToList(); // if only one engineer, could only be that one if (engineers.Count == 1) { Player engineer = engineers[0]; ProfHelper.SetGadgetMaster(flameTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(netTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(rocketTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(rifleTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(thumperTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(harpoonTurrets, engineer.AgentItem); ProfHelper.SetGadgetMaster(healingTurrets, engineer.AgentItem); } else if (engineers.Count > 1) { ProfHelper.AttachMasterToGadgetByCastData(combatData, flameTurrets, new List <long> { FlameTurretCast, SupplyCrate }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, rifleTurrets, new List <long> { RifleTurretCast }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, netTurrets, new List <long> { NetTurretCast, SupplyCrate, SupplyCrateUW }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, rocketTurrets, new List <long> { RocketTurretCast, RocketTurretCast2, SupplyCrateUW }, 1000); ProfHelper.AttachMasterToGadgetByCastData(combatData, thumperTurrets, new List <long> { ThumperTurretCast }, 1000); //AttachMasterToGadgetByCastData(castData, harpoonTurrets, new List<long> { 6093, 6183 }, 1000); //AttachMasterToGadgetByCastData(castData, healingTurrets, new List<long> { 5857, 5868 }, 1000); } }