public void CreateFromIncubator(StardewValley.AnimalHouse animalHouse, string name) { Incubator incubator; try { incubator = new Incubator(animalHouse); } catch { // Could not find an incubator; do nothing. return; } List <string> types = this.DetermineHatchlingTypes(incubator); // Remove types that should not be here types = this.Sanitize(types); // Create the animal if we could pull the type this.CreateRandomBaby(name, types, animalHouse); // Reset the incubator regardless if a baby was hatched or not incubator.ResetIncubatingItem(); }
public static void AutoGrabFromAnimals(SDV.AnimalHouse animalHouse, SDV.Object autoGrabber) { foreach (var pair in animalHouse.animals.Pairs) { if (FarmAnimal.IsAProducer(pair.Value) && FarmAnimal.RequiresToolForHarvest(pair.Value) && FarmAnimal.IsCurrentlyProducing(pair.Value) && !FarmAnimal.CanFindProduce(pair.Value) && autoGrabber.heldObject.Value != null && autoGrabber.heldObject.Value is Chest chest) { SDV.Item obj = new SDV.Object(Vector2.Zero, FarmAnimal.GetCurrentProduce(pair.Value), null, false, true, false, false) { Quality = FarmAnimal.GetProduceQuality(pair.Value) }; if (chest.addItem(obj) == null) { FarmAnimal.SetCurrentProduce(pair.Value, -1); if (FarmAnimal.IsSheared(pair.Value)) { FarmAnimal.ReloadSpriteTexture(pair.Value); } autoGrabber.showNextIndex.Value = true; } } } }
public static SDV.Event GetIncubatorHatchEvent( SDV.AnimalHouse animalHouse, string message = null) { return(new SDV.Event("none/-1000 -1000/farmer 2 9 0/pause 250/message \"" + (message ?? Content.LoadString( "Strings\\Locations:AnimalHouse_Incubator_Hatch_RegularEgg")) + "\"/pause 500/animalNaming/pause 500/end")); }
public static void AddAnimal(SDV.AnimalHouse animalHouse, SDV.FarmAnimal animal) { animalHouse.animals.Add(animal.myID.Value, animal); if (animalHouse.animalsThatLiveHere.Contains(animal.myID.Value)) { return; } animalHouse.animalsThatLiveHere.Add(animal.myID.Value); }
private FarmAnimals.FarmAnimal CreateBaby(string name, string type, StardewValley.AnimalHouse animalHouse, long parentID = FarmAnimals.FarmAnimal.PARENT_ID_DEFAULT) { FarmAnimals.FarmAnimal baby = new FarmAnimals.FarmAnimal(type, this.Farmer.GetNewID(), this.Farmer.MyID); baby.SynchronizeNames(name); baby.AssignParent(parentID); baby.RandomizeLocation(animalHouse); baby.AddToAnimalHouse(animalHouse); return(baby); }
public static void ResetIncubator(SDV.AnimalHouse animalHouse, SDV.Object incubator) { incubator.heldObject.Value = null; if (animalHouse.getBuilding() is Barn _) { incubator.ParentSheetIndex = OstrichIncubatorItemIndex; } else { incubator.ParentSheetIndex = DefaultIncubatorItemIndex; } ResetIncubator(animalHouse); }
private void CreateRandomBaby(string name, List <string> types, StardewValley.AnimalHouse animalHouse, long parentID = FarmAnimals.FarmAnimal.PARENT_ID_DEFAULT) { if (types.Count < 1) { return; } // Randomize an eligible animal type string type = types.ElementAt(Game1.random.Next(types.Count)); // Create the baby! this.CreateBaby(name, type, animalHouse, parentID); }
public static bool IsFull(SDV.AnimalHouse animalHouse) { return(animalHouse.isFull()); }
public static void ResetIncubator(SDV.AnimalHouse animalHouse) { animalHouse.incubatingEgg.X = 0; animalHouse.incubatingEgg.Y = -1; }
public static SDV.Object GetIncubatorWithEggReadyToHatch(SDV.AnimalHouse animalHouse) { var incubators = GetIncubators(animalHouse); return(!incubators.Any() ? null : incubators.FirstOrDefault(o => Object.IsHoldingObject(o) && Object.IsReady(o))); }
public static List <SDV.Object> GetIncubators(SDV.AnimalHouse animalHouse) { return(animalHouse.objects.Values.Where(o => Object.IsIncubator(o)) .ToList()); }
public static SDV.Event GetCurrentEvent(SDV.AnimalHouse animalHouse) { return(animalHouse.currentEvent); }
public static void SetCurrentEvent(SDV.AnimalHouse animalHouse, SDV.Event currentEvent) { animalHouse.currentEvent = currentEvent; }
public static Building GetBuilding(SDV.AnimalHouse animalHouse) { return(animalHouse.getBuilding()); }
public static bool IsEggReadyToHatch(SDV.AnimalHouse animalHouse) { return(animalHouse.incubatingEgg.Y > 0 || animalHouse.incubatingEgg.X - 1 <= 0); }
public void AutoGrabFromAnimals(StardewValley.AnimalHouse animalHouse) { Paritee.StardewValley.Core.Locations.AnimalHouse.AutoGrabFromAnimals(animalHouse, GetOriginal()); }
public AnimalHouse(StardewValley.AnimalHouse original) : base(original) { }
public static void SetIncubatorHatchEvent(SDV.AnimalHouse animalHouse) { var incubatorHatchEvent = GetIncubatorHatchEvent(animalHouse); SetCurrentEvent(animalHouse, incubatorHatchEvent); }