public static bool HasLegendaryShematic(this IMissionX m) { var count = m.Items.Any(f => f.Class == ItemClass.Schematic && f.Rarity == ItemRarity.Legendary); m.SetOrderNumber(count, 2); return(count); }
public static bool HasMythicSurvivor(this IMissionX m) { var rslt = m.HasSurvivor(ItemRarity.Mythic); m.SetOrderNumber(rslt, 0); return(rslt); }
public static bool HasLegendarySurvivor(this IMissionX m) { var rslt = m.HasSurvivor(ItemRarity.Legendary); m.SetOrderNumber(rslt, 0); return(rslt); }
private static void SetOrderNumber(this IMissionX m, bool hasValue, int orderNumber) { if (hasValue) { if (m.OrderNumber > orderNumber) { m.OrderNumber = orderNumber; } } }
public static bool HasLegendaryPerkUp(this IMissionX m, WorldName world) { var rslt = m.FindNormalItemById("Reagent_Alteration_Upgrade_SR", world); m.SetOrderNumber(rslt, 4); if (m.IsGroupMission) { m.SetOrderNumber(rslt, 3); } return(rslt); }
public static bool HasVBuck(this IMissionX m) { var rslt = m.FindNormalItemById("MtxGiveaway"); if (!rslt) { rslt = m.FindNormalItemById("currency_mtxswap"); } if (rslt) { m.SetOrderNumber(rslt, 0); } return(rslt); }
public static bool FindNormalItemById(this IMissionX m, string IdContains, WorldName worldName = WorldName.All) { if (worldName == WorldName.All) { var exsts = m.Items.Any(f => f.ItemType.Contains(IdContains, StringComparison.CurrentCultureIgnoreCase)); return(exsts); } else { if (m.WorldName != worldName) { return(false); } var exsts = m.Items.Any(f => f.AlertReward == false && f.ItemType.Contains(IdContains, StringComparison.CurrentCultureIgnoreCase)); return(exsts); } }
public static bool IsFourStacks(this IMissionX m, string specificItemName, WorldName mapName = WorldName.Twine_Peaks) { var count = m.Items.FirstOrDefault(f => f.AlertReward = false && f.quantity == 4 && f.GetRealItemName().Value == specificItemName); if (count == null) { var grp = m.Items.GroupBy(p => p.AlertReward).FirstOrDefault(p => p.Key == false)?.Count(x => x.GetRealItemName().Value == specificItemName); if (grp.HasValue && grp == 4) { return(m.WorldName == mapName); } else { return(false); } } else { return(m.WorldName == mapName); } }
public static bool Has4x(this IMissionX m, string IdContains, WorldName world = WorldName.Twine_Peaks) { if (!m.Has4xAny()) { return(false); } var rslt = m.FindNormalItemById(IdContains, world); if (!rslt) { return(false); } rslt = m.IsMissionReward(IdContains); if (!rslt) { return(false); } m.SetOrderNumber(rslt, 6); return(true); }
public static bool HasAnyAlert(this IMissionX m, Alert alert) { return(m.MissionCategory == alert); }
public static bool HasSurvivor(this IMissionX m, ItemRarity RarityType) { var exists = m.Items.Any(f => f.Class == ItemClass.Worker && f.Rarity == RarityType); return(exists); }
public static bool HasAnyTransform(this IMissionX m, ItemRarity RarityType) { var count = m.Items.Any(f => f.Class == ItemClass.ConversionControl && f.Rarity == RarityType); return(count); }
public static bool HasAnyElementalAlert(this IMissionX m) { return(m.MissionCategory == Alert.ElemementalZoneWaterCategory || m.MissionCategory == Alert.ElemementalZoneFireCategory || m.MissionCategory == Alert.ElemementalZoneNatureCategory); }
public static bool HasEpicHero(this IMissionX m) { return(m.HasHero(ItemRarity.Epic)); }
public static bool HasEpicAnyTransform(this IMissionX m) { return(m.HasAnyTransform(ItemRarity.Epic)); }
public static bool Has4xLightningInABottle(this IMissionX m, WorldName world = WorldName.Twine_Peaks) { var rslt = m.Has4x("reagent_c_t02", world); return(rslt); }
public static bool HasHero(this IMissionX m, ItemRarity RarityType) { var count = m.Items.Any(f => f.Class == ItemClass.Hero && f.Rarity == RarityType); return(count); }
public static bool AnyMythic(this IMissionX m) { var count = m.Items.Any(f => f.Rarity == ItemRarity.Mythic); return(count); }
public static bool Has4xPureDropOfRain(this IMissionX m, WorldName world = WorldName.Twine_Peaks) { var rslt = m.Has4x("reagent_c_t01", world); return(rslt); }
public static bool IsGroupMission(this IMissionX m, WorldName worldName) { return(m.IsGroupMission2() && m.WorldName == worldName); }
public static bool Has4xAny(this IMissionX m) { return(m.IsGroupMission); }
public static bool HasLegendaryAnyTransform(this IMissionX m) { return(m.HasAnyTransform(ItemRarity.Legendary)); }
public static bool AnyLegendary(this IMissionX m) { var count = m.Items.Any(f => f.Rarity == ItemRarity.Legendary); return(count); }
public static bool Has4xStormShard(this IMissionX m, WorldName world = WorldName.Twine_Peaks) { var rslt = m.Has4x("reagent_c_t04", world); return(rslt); }
public static bool IsMissionReward(this IMissionX m, string IdContains) { var exsts = m.Items.Any(f => f.AlertReward == false && f.ItemType.Contains(IdContains, StringComparison.CurrentCultureIgnoreCase)); return(exsts); }
public static bool HasEpicSurvivor(this IMissionX m) { return(m.HasSurvivor(ItemRarity.Epic)); }
public static bool IsGroupMission2(this IMissionX m) { return(m.IsGroupMission); }
public static Embed ToWebhookEmbed(this IMissionX mission, GuildLanguage language = GuildLanguage.EN) { int xy = 0; EmbedBuilder embed = new EmbedBuilder(); try { if (mission.MissionNameInfo.Name == "Launch the Rocket") { return(null); } string GroupMission = $""; if (mission.IsGroupMission) { GroupMission = $"{SurvivorStaticData.Get4xGroupMissionImage()}"; } bool firstAlertSet = false; var time = mission.availableUntil.ToStringHMS(); var Translate = DIManager.Services.GetRequiredService <IJsonStringLocalizer>(); string availableTime = Translate.GetBotTranslation(BotTranslationString.MA_ExpreIn, language, time); List <string> mapRewards = new List <string>(); List <string> alertRewards = new List <string>(); string alertNameStr = ""; foreach (var item in mission.Items) { if (item.AlertReward && firstAlertSet == false) { firstAlertSet = true; alertNameStr = mission.MissionCategory.ToDescriptionString(); } string amount = ""; if (item.AlertReward && item.quantity > 1) { amount = $"(**x{item.quantity:#,##0.##}**)"; } else { if (item.AlertReward && item.quantity == 4) { amount = $"(**x4**)"; } else if (item.AlertReward && item.quantity != 1) { amount = $"(**x{item.quantity}**)"; } } var itmInfo = item.GetRealItemName(false, language.ToString()); if (item.AlertReward == false) { mapRewards.Add($"<:{itmInfo.Key}:{itmInfo.Key}> *{itmInfo.Value}* {amount}"); } else { alertRewards.Add($"<:{itmInfo.Key}:{itmInfo.Key}> *{itmInfo.Value}* {amount}"); } } string mapLevel = mission.MissionLevel.ToString(); embed.Title = $"{mapLevel}:zap: {mission.MissionNameInfo.Name} {GroupMission} <:{mission.MissionNameInfo.EmojiId}:{mission.MissionNameInfo.EmojiId}>"; embed.Description = $"**{Translate.GetBotTranslation(mission.WorldName.ToString().Replace("_", ""), language)}**"; embed.WithFooter($"{availableTime}"); embed.AddField(Translate.GetBotTranslation(BotTranslationString.MA_Rewards, language), string.Join("\n", mapRewards.ToArray()), true); embed.AddField($"**{alertNameStr}**", string.Join("\n", alertRewards.ToArray()), true); string positive_mutations = ""; string negative_mutations = ""; int p = 0, n = 0; foreach (var mutation in mission.Modifiers) { string mId = Fortnite.Static.Utils.GetImage(mutation.AssetId); if (mutation.IsPositiveMutation.Value) { n++; positive_mutations += $"<:{mId}:{mId}> "; if (n % 5 == 0) { positive_mutations += "\n"; } } else { p++; negative_mutations += $"<:{mId}:{mId}> "; if (p % 5 == 0) { negative_mutations += "\n"; } } } if (positive_mutations.Length != 0 && negative_mutations.Length != 0) { embed.AddField(Translate.GetBotTranslation(BotTranslationString.MA_NegativeMutation, language), negative_mutations, false); embed.AddField(Translate.GetBotTranslation(BotTranslationString.MA_PositiveMutation, language), positive_mutations, true); } else if (negative_mutations.Length == 0 || positive_mutations.Length != 0) { embed.AddField(Translate.GetBotTranslation(BotTranslationString.MA_PositiveMutation, language), positive_mutations, false); } else if (negative_mutations.Length != 0 || positive_mutations.Length == 0) { embed.AddField(Translate.GetBotTranslation(BotTranslationString.MA_NegativeMutation, language), negative_mutations, false); } if (mission.AnyEpic()) { embed.Color = new Color(187, 143, 206); } if (mission.AnyLegendary()) { embed.Color = new Color(248, 196, 113); } if (mission.HasVBuck()) { embed.Color = new Color(133, 193, 233); } } catch (Exception e) { Console.WriteLine(e); Console.WriteLine("-------------------------------------------"); Console.WriteLine(JsonConvert.SerializeObject(mission)); Console.WriteLine("-------------------------------------------"); } return(embed.Build()); }