public static global::StardewValley.Event GetIncubatorHatchEvent(global::StardewValley.AnimalHouse animalHouse, string message = null) { // Use the same messaging for all types of "eggs" string str = message ?? Paritee.StardewValley.Core.Utilities.Content.LoadString("Strings\\Locations:AnimalHouse_Incubator_Hatch_RegularEgg"); return(new global::StardewValley.Event("none/-1000 -1000/farmer 2 9 0/pause 250/message \"" + str + "\"/pause 500/animalNaming/pause 500/end")); }
public static void ResetIncubator(global::StardewValley.AnimalHouse animalHouse, global::StardewValley.Object incubator) { incubator.heldObject.Value = null; incubator.ParentSheetIndex = Locations.AnimalHouse.DefaultIncubatorItemIndex; Locations.AnimalHouse.ResetIncubator(animalHouse); }
public static void AddAnimal(global::StardewValley.AnimalHouse animalHouse, global::StardewValley.FarmAnimal animal) { animalHouse.animals.Add(animal.myID.Value, animal); if (!animalHouse.animalsThatLiveHere.Contains(animal.myID.Value)) { animalHouse.animalsThatLiveHere.Add(animal.myID.Value); } }
public static global::StardewValley.Object GetIncubatorWithEggReadyToHatch(global::StardewValley.AnimalHouse animalHouse) { List <global::StardewValley.Object> incubators = Locations.AnimalHouse.GetIncubators(animalHouse); if (!incubators.Any()) { // Can't do anything about it return(null); } // Try to get the first incubator that has an egg ready to hatch return(incubators.FirstOrDefault(o => Objects.Object.IsHoldingObject(o) && Objects.Object.IsReady(o))); }
public static void AutoGrabFromAnimals(global::StardewValley.AnimalHouse animalHouse, global::StardewValley.Object autoGrabber) { foreach (KeyValuePair <long, global::StardewValley.FarmAnimal> pair in animalHouse.animals.Pairs) { // Skip non-producers if (!Characters.FarmAnimal.IsAProducer(pair.Value)) { continue; } // Must require a tool for harvest, .. if (!Characters.FarmAnimal.RequiresToolForHarvest(pair.Value)) { continue; } // .. be currently producing an item (ex. not a baby) .. if (!Characters.FarmAnimal.IsCurrentlyProducing(pair.Value)) { continue; } // .. and must not be an animal that finds its produce (ex. Pigs) // This is the logic check where previously it validated solely // against Truffles. This may not always be the case. if (Characters.FarmAnimal.CanFindProduce(pair.Value)) { continue; } if (autoGrabber.heldObject.Value != null && autoGrabber.heldObject.Value is Chest chest) { Item item = (Item) new global::StardewValley.Object(Vector2.Zero, Characters.FarmAnimal.GetCurrentProduce(pair.Value), null, false, true, false, false) { Quality = Characters.FarmAnimal.GetProduceQuality(pair.Value) }; if (chest.addItem(item) == null) { Characters.FarmAnimal.SetCurrentProduce(pair.Value, Characters.FarmAnimal.NoProduce); if (Characters.FarmAnimal.IsSheared(pair.Value)) { Characters.FarmAnimal.ReloadSpriteTexture(pair.Value); } autoGrabber.showNextIndex.Value = true; } } } }
public static void AddAnimal(Building building, global::StardewValley.FarmAnimal animal) { global::StardewValley.AnimalHouse animalHouse = Locations.AnimalHouse.GetIndoors(building); Locations.AnimalHouse.AddAnimal(animalHouse, animal); }
public static bool IsEggReadyToHatch(global::StardewValley.AnimalHouse animalHouse) { return(animalHouse.incubatingEgg.Y > 0 || (animalHouse.incubatingEgg.X - 1) <= 0); }
public static bool IsFull(global::StardewValley.AnimalHouse animalHouse) { return(animalHouse.isFull()); }
public static void ResetIncubator(global::StardewValley.AnimalHouse animalHouse) { animalHouse.incubatingEgg.X = 0; animalHouse.incubatingEgg.Y = -1; }
public static List <global::StardewValley.Object> GetIncubators(global::StardewValley.AnimalHouse animalHouse) { return(animalHouse.objects.Values.Where(o => Objects.Object.IsIncubator(o)).ToList()); }
public static void SetIncubatorHatchEvent(global::StardewValley.AnimalHouse animalHouse) { global::StardewValley.Event hatchEvent = Locations.AnimalHouse.GetIncubatorHatchEvent(animalHouse); Locations.AnimalHouse.SetCurrentEvent(animalHouse, hatchEvent); }
public static global::StardewValley.Event GetCurrentEvent(global::StardewValley.AnimalHouse animalHouse) { return(animalHouse.currentEvent); }
public static void SetCurrentEvent(global::StardewValley.AnimalHouse animalHouse, global::StardewValley.Event currentEvent) { animalHouse.currentEvent = currentEvent; }
public static global::StardewValley.Buildings.Building GetBuilding(global::StardewValley.AnimalHouse animalHouse) { return(animalHouse.getBuilding()); }