public static bool IsLikedTreat(Character character, Object item) { try { TreatItem treatItem = null; switch (character) { case Pet _: treatItem = DataLoader.AnimalData.Pet; break; case FarmAnimal farmAnimal: treatItem = GetTreatItem(farmAnimal); break; } if (treatItem != null) { return(IsLikedTreat(treatItem, item)); } } catch (Exception) { // ignored } return(false); }
public static int DaysUntilNextTreat(long id, TreatItem treatItem) { if (GetAnimalStatus(id).LastDayFeedTreat == null) { return(0); } return(GetAnimalStatus(id).LastDayFeedTreat.DaysSinceStart + treatItem.MinimumDaysBetweenTreats - SDate.Now().DaysSinceStart); }
public static int DaysUntilNextTreat(Character character, TreatItem treatItem) { SDate lastDayFeedTreat = character.GetLastDayFeedTreat(); if (lastDayFeedTreat == null) { return(0); } return(lastDayFeedTreat.DaysSinceStart + treatItem.MinimumDaysBetweenTreats - SDate.Now().DaysSinceStart); }
private static void AddTreatIdsFromTreatItems(Dictionary <int, string> objects, TreatItem treatItem) { foreach (object likedTreat in treatItem.LikedTreats) { if (likedTreat is string s) { KeyValuePair <int, string> pair = objects.FirstOrDefault(o => o.Value.StartsWith(s + "/")); if (pair.Value != null) { treatItem.LikedTreatsId.Add(pair.Key); } } else if (likedTreat is long l) { treatItem.LikedTreatsId.Add((int)l); } else if (likedTreat is int i) { treatItem.LikedTreatsId.Add(i); } } }
private static bool IsLikedTreat(TreatItem treatItem, Object item) { return(treatItem.LikedTreatsId.Contains(item.ParentSheetIndex) || treatItem.LikedTreatsId.Contains(item.Category) || (item.ParentSheetIndex == 1720 && DataLoader.DgaApi != null && treatItem.LikedTreats.Contains(DataLoader.DgaApi.GetDGAItemId(item)))); }