public static async void DrawMissions(this BaseModule module, KeyValuePair <bool, PriorityTable> pstate, EmbedBuilder embed, IEnumerable <IMissionX> missions, string search) { int count = 0; foreach (var mission in missions) { if (mission.MissionNameInfo.Name == "Launch the Rocket") { continue; } count++; string GroupMission = $""; if (mission.IsGroupMission) { GroupMission = $"x4"; } string itemList = ""; bool firstAlertSet = false; string time = ""; var fraction = mission.availableUntil - DateTimeOffset.UtcNow; if ((int)(fraction).TotalHours > 0) { time = $"{(int)(fraction).TotalHours}h{(int)(fraction).Minutes }m"; } else if ((int)(fraction).Minutes > 0) { time = $"{(int)(fraction).Minutes}m"; } itemList += module.ToTranslate(BotTranslationString.MA_Available, module.GetLanguage(), time); foreach (var item in mission.Items) { if (item.GetRealItemName().Key == "0") { continue; } if (item.AlertReward && firstAlertSet == false) { firstAlertSet = true; var alertNameStr = mission.MissionCategory.ToDescriptionString(); itemList += $"**{alertNameStr}:**\n"; } string amount = ""; if (item.AlertReward && item.quantity > 1) { amount = $"(**x{item.quantity:#,##0.##}**)"; } else { if (item.AlertReward == false && item.quantity == 4) { amount = $"(**x4**)"; } else if (item.AlertReward == false && item.quantity != 1) { amount = $"(**x{item.quantity}**)"; } } var rname = item.GetRealItemName(true, module.GetLanguage().ToString()); itemList += $"<:{rname.Key}:{rname.Key}> *{rname.Value}* {amount}\n"; } itemList += SurvivorStaticData.InvinsibleImage(); string mapLevel = mission.MissionLevel.ToString(); embed.AddField($":zap:{mapLevel}<:{mission.MissionNameInfo.EmojiId}:{mission.MissionNameInfo.EmojiId}>{GroupMission} {mission.WorldName.GetName()}", itemList, true); } if (count == 0) { await module.ReplyEmbedErrorAsync($"no result found {search}"); return; } var frat = 3 - (count % 3); for (int i = 0; i < frat; i++) { embed.AddField(SurvivorStaticData.InvinsibleImage(), SurvivorStaticData.InvinsibleImage(), true); } await module.ReplyEmbedAsync(null, module.ToTranslate(BotTranslationString.MA_Title, module.GetLanguage()), embed.Fields, embed.Footer, embed.Color.Value, 0, pstate); }
public static Embed ToWebhookEmbed(this List <DailyLlama> mission) { EmbedBuilder embed = new EmbedBuilder(); var vbuck = SurvivorStaticData.AssetBot2["currency_mtxswap"].EmojiId; var tickets = SurvivorStaticData.AssetBot2["campaign_event_currency"].EmojiId; foreach (var m in mission) { var priceIcon = vbuck; if (m.GameItem) { priceIcon = tickets; } // embed.AddField($"{m.Title}", $"**{(m.Price == 0 ? "FREE" : m.Price.ToString())}** {(m.Price == 0 ? "" : $"<:{priceIcon}:{priceIcon}>")} [ **Limit:** {m.Amount} ]\n{m.Description}\n{SurvivorStaticData.InvinsibleImage()}"); } embed.Color = new Color(230, 176, 170); return(embed.Build()); }