public static string GetGruntLeaderString(InvasionGruntType gruntType) { switch (gruntType) { case InvasionGruntType.Blanche: case InvasionGruntType.Candela: case InvasionGruntType.Spark: return(Convert.ToString(gruntType)); case InvasionGruntType.ExecutiveArlo: return("Executive Arlo"); case InvasionGruntType.ExecutiveCliff: return("Executive Cliff"); case InvasionGruntType.ExecutiveSierra: return("Executive Sierra"); case InvasionGruntType.Giovanni: return("Giovanni or Decoy"); case InvasionGruntType.DecoyFemale: case InvasionGruntType.DecoyMale: return("Decoy"); case InvasionGruntType.PlayerTeamLeader: return("Player Team Leader"); default: return("Tier II"); } }
public List <SubscriptionObject> GetUserSubscriptionsByGruntType(InvasionGruntType gruntType) { return(_subscriptions?.Where(x => x.Enabled && x.Invasions != null && x.Invasions.Exists(y => y.GruntType == gruntType) )?.ToList()); }
public bool AddInvasion(ulong userId, InvasionGruntType gruntType, List <string> cities) { _logger.Trace($"SubscriptionManager::AddInvasion [UserId={userId}, GruntType={gruntType}, Cities={cities}]"); using (var conn = DataAccessLayer.CreateFactory().Open()) { var subscription = GetUserSubscriptions(userId); for (var i = 0; i < cities.Count; i++) { var city = cities[i]; var invasionSub = subscription.Invasions.FirstOrDefault(x => gruntType == x.GruntType && string.Compare(x.City, city, true) == 0); if (invasionSub != null) { continue; } //Create new Team Rocket invasion subscription object. invasionSub = new InvasionSubscription { UserId = userId, GruntType = gruntType, City = city }; subscription.Invasions.Add(invasionSub); } try { if (conn.Save(subscription, true)) { _logger.Debug($"Invasion Added!"); } else { _logger.Debug("Invasion Updated!"); } } catch (MySql.Data.MySqlClient.MySqlException) { return(AddInvasion(userId, gruntType, cities)); } catch (Exception ex) { _logger.Error(ex); } } return(true); }
public bool RemoveInvasion(ulong userId, InvasionGruntType gruntType, List <string> cities) { _logger.Trace($"SubscriptionManager::RemoveInvasion [UserId={userId}, GruntType={gruntType}, Cities={cities}]"); using (var conn = DataAccessLayer.CreateFactory().Open()) { for (var i = 0; i < cities.Count; i++) { if (conn.Delete <InvasionSubscription>(x => x.UserId == userId && x.GruntType == gruntType && string.Compare(cities[i], x.City, true) == 0) == 0) { _logger.Warn($"Could not delete invasion subscription for user {userId} invasion {gruntType} city {cities[i]}"); } } } return(true); }
public TeamRocketInvasion(InvasionGruntType gruntType) { InvasionGruntType = gruntType; var gender = PokemonGender.Unset; var type = PokemonType.None; var secondReward = false; var encounters = new TeamRocketEncounters(); switch (gruntType) { case InvasionGruntType.Unset: case InvasionGruntType.Blanche: case InvasionGruntType.Candela: case InvasionGruntType.Spark: break; case InvasionGruntType.MaleGrunt: gender = PokemonGender.Male; secondReward = true; encounters.First = new List <int> { 1, 4, 7 }; encounters.Second = new List <int> { 2, 5, 8 }; encounters.Third = new List <int> { 3, 6, 9 }; break; case InvasionGruntType.FemaleGrunt: gender = PokemonGender.Female; secondReward = false; encounters.First = new List <int> { 143, 131 }; encounters.Second = new List <int> { 143, 62, 282 }; encounters.Third = new List <int> { 143, 149, 130 }; break; case InvasionGruntType.BugFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Bug; break; case InvasionGruntType.BugMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Bug; secondReward = false; encounters.First = new List <int> { 13, 48, 123 }; encounters.Second = new List <int> { 14, 49, 212 }; encounters.Third = new List <int> { 15, 123, 212 }; break; case InvasionGruntType.DarknessFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Ghost; break; case InvasionGruntType.DarknessMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Ghost; secondReward = false; encounters.First = new List <int> { 302, 353, 355 }; encounters.Second = new List <int> { 302, 354, 356 }; encounters.Third = new List <int> { 302, 354, 477 }; break; case InvasionGruntType.DarkFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Dark; break; case InvasionGruntType.DarkMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Dark; break; case InvasionGruntType.DragonFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Dragon; secondReward = false; encounters.First = new List <int> { 147 }; encounters.Second = new List <int> { 147, 148, 330 }; encounters.Third = new List <int> { 130, 148, 149 }; break; case InvasionGruntType.DragonMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Dragon; break; case InvasionGruntType.ElectricFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Electric; secondReward = false; encounters.First = new List <int> { 125, 179 }; encounters.Second = new List <int> { 125, 180 }; encounters.Third = new List <int> { 125, 181 }; break; case InvasionGruntType.ElectricMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Electric; break; case InvasionGruntType.FairyFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Fairy; break; case InvasionGruntType.FairyMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Fairy; break; case InvasionGruntType.FightingFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Fighting; secondReward = false; encounters.First = new List <int> { 107 }; encounters.Second = new List <int> { 107 }; encounters.Third = new List <int> { 107 }; break; case InvasionGruntType.FightingMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Fighting; break; case InvasionGruntType.FireFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Fire; secondReward = true; encounters.First = new List <int> { 58, 126, 228 }; encounters.Second = new List <int> { 5, 229 }; encounters.Third = new List <int> { 5, 59, 229 }; break; case InvasionGruntType.FireMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Fire; break; case InvasionGruntType.FlyingFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Flying; secondReward = false; encounters.First = new List <int> { 41, 42 }; encounters.Second = new List <int> { 42, 123, 169 }; encounters.Third = new List <int> { 130, 149, 169 }; break; case InvasionGruntType.FlyingMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Flying; break; case InvasionGruntType.GhostFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Ghost; break; case InvasionGruntType.GhostMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Ghost; secondReward = false; encounters.First = new List <int> { 302, 353, 355 }; encounters.Second = new List <int> { 302, 354, 356 }; encounters.Third = new List <int> { 302, 354, 477 }; break; case InvasionGruntType.GrassFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Grass; break; case InvasionGruntType.GrassMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Grass; secondReward = true; encounters.First = new List <int> { 273, 331, 387 }; encounters.Second = new List <int> { 1, 2, 44 }; encounters.Third = new List <int> { 45, 275, 332 }; break; case InvasionGruntType.GroundFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Ground; break; case InvasionGruntType.GroundMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Ground; secondReward = false; encounters.First = new List <int> { 104, 246, 328 }; encounters.Second = new List <int> { 104, 105, 329 }; encounters.Third = new List <int> { 105, 130 }; break; case InvasionGruntType.IceFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Ice; break; case InvasionGruntType.IceMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Ice; break; case InvasionGruntType.MetalFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Steel; break; case InvasionGruntType.MetalMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Steel; break; case InvasionGruntType.NormalFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Normal; break; case InvasionGruntType.NormalMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Normal; secondReward = true; encounters.First = new List <int> { 19, 41 }; encounters.Second = new List <int> { 19, 20 }; encounters.Third = new List <int> { 20, 143 }; break; case InvasionGruntType.PoisonFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Poison; secondReward = true; encounters.First = new List <int> { 41, 48, 88 }; encounters.Second = new List <int> { 42, 88, 89 }; encounters.Third = new List <int> { 42, 49, 89 }; break; case InvasionGruntType.PoisonMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Poison; break; case InvasionGruntType.PsychicFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Psychic; break; case InvasionGruntType.PsychicMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Psychic; secondReward = true; encounters.First = new List <int> { 63, 96, 280 }; encounters.Second = new List <int> { 96, 97, 280 }; encounters.Third = new List <int> { 64, 97, 281 }; break; case InvasionGruntType.RockFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Rock; break; case InvasionGruntType.RockMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Rock; secondReward = false; encounters.First = new List <int> { 246 }; encounters.Second = new List <int> { 246, 247 }; encounters.Third = new List <int> { 247, 248 }; break; case InvasionGruntType.WaterFemaleGrunt: gender = PokemonGender.Female; type = PokemonType.Water; secondReward = false; encounters.First = new List <int> { 54, 60 }; encounters.Second = new List <int> { 55, 61 }; encounters.Third = new List <int> { 62, 186 }; break; case InvasionGruntType.WaterMaleGrunt: gender = PokemonGender.Male; type = PokemonType.Water; secondReward = false; encounters.First = new List <int> { 129 }; encounters.Second = new List <int> { 129 }; encounters.Third = new List <int> { 129, 130 }; break; case InvasionGruntType.PlayerTeamLeader: case InvasionGruntType.DecoyFemale: case InvasionGruntType.DecoyMale: case InvasionGruntType.Giovanni: case InvasionGruntType.ExecutiveCliff: case InvasionGruntType.ExecutiveArlo: case InvasionGruntType.ExecutiveSierra: break; } Type = type; Gender = gender; SecondReward = secondReward; Encounters = encounters; }
public static string InvasionTypeToString(InvasionGruntType gruntType) { switch (gruntType) { case InvasionGruntType.Unset: return("None"); case InvasionGruntType.Blanche: return("Blanche"); case InvasionGruntType.Candela: return("Candela"); case InvasionGruntType.Spark: return("Spark"); case InvasionGruntType.MaleGrunt: return("Male Grunt"); case InvasionGruntType.FemaleGrunt: return("Female Grunt"); case InvasionGruntType.BugFemaleGrunt: return("Bug - Female Grunt"); case InvasionGruntType.BugMaleGrunt: return("Bug - Male Grunt"); case InvasionGruntType.DarknessFemaleGrunt: return("Ghost - Female Grunt"); case InvasionGruntType.DarknessMaleGrunt: return("Ghost - Male Grunt"); case InvasionGruntType.DarkFemaleGrunt: return("Dark - Female Grunt"); case InvasionGruntType.DarkMaleGrunt: return("Dark - Male Grunt"); case InvasionGruntType.DragonFemaleGrunt: return("Dragon - Female Grunt"); case InvasionGruntType.DragonMaleGrunt: return("Dragon - Male Grunt"); case InvasionGruntType.FairyFemaleGrunt: return("Fairy - Female Grunt"); case InvasionGruntType.FairyMaleGrunt: return("Fairy - Male Grunt"); case InvasionGruntType.FightingFemaleGrunt: return("Fighting - Female Grunt"); case InvasionGruntType.FightingMaleGrunt: return("Fighting - Male Grunt"); case InvasionGruntType.FireFemaleGrunt: return("Fire - Female Grunt"); case InvasionGruntType.FireMaleGrunt: return("Fire - Male Grunt"); case InvasionGruntType.FlyingFemaleGrunt: return("Flying - Female Grunt"); case InvasionGruntType.FlyingMaleGrunt: return("Flying - Male Grunt"); case InvasionGruntType.GrassFemaleGrunt: return("Grass - Female Grunt"); case InvasionGruntType.GrassMaleGrunt: return("Grass - Male Grunt"); case InvasionGruntType.GroundFemaleGrunt: return("Ground - Female Grunt"); case InvasionGruntType.GroundMaleGrunt: return("Ground - Male Grunt"); case InvasionGruntType.IceFemaleGrunt: return("Ice - Female Grunt"); case InvasionGruntType.IceMaleGrunt: return("Ice - Male Grunt"); case InvasionGruntType.MetalFemaleGrunt: return("Steel - Female Grunt"); case InvasionGruntType.MetalMaleGrunt: return("Steel - Male Grunt"); case InvasionGruntType.NormalFemaleGrunt: return("Normal - Female Grunt"); case InvasionGruntType.NormalMaleGrunt: return("Normal - Male Grunt"); case InvasionGruntType.PoisonFemaleGrunt: return("Poison - Female Grunt"); case InvasionGruntType.PoisonMaleGrunt: return("Poison - Male Grunt"); case InvasionGruntType.PsychicFemaleGrunt: return("Psychic - Female Grunt"); case InvasionGruntType.PsychicMaleGrunt: return("Psychic - Male Grunt"); case InvasionGruntType.RockFemaleGrunt: return("Rock - Female Grunt"); case InvasionGruntType.RockMaleGrunt: return("Rock - Male Grunt"); case InvasionGruntType.WaterFemaleGrunt: return("Water - Female Grunt"); case InvasionGruntType.WaterMaleGrunt: return("Water - Male Grunt"); case InvasionGruntType.PlayerTeamLeader: return("Player Team Leader"); default: return(gruntType.ToString()); } }
public string GetInvasionIcon(string style, InvasionGruntType gruntType) { return(_iconStyles[style] + "invasion/" + (int)gruntType + ".png"); }