/// <summary>Adds the given Pet, Horse, or FarmAnimal into the A&S database</summary> internal void AddCreature(Character creature, int skinID = 0, Farmer owner = null) { string type = ModApi.GetInternalType(creature); if (ModApi.IsInDatabase(creature) || !ModApi.IsRegisteredType(type)) { return; } // Set internal IDs SetShortID(creature, GetUnusedShortID()); IDToCategory[GetLongID(creature)] = ModApi.GetCreatureCategory(type); // Set ownership if (creature is Horse) { if (owner != null) { HorseOwnershipMap.Add(GetLongID(creature), owner); // DEBUG Monitor.Log($"Horse ID: {GetShortID(creature)}\nOwner: {owner.Name}", LogLevel.Debug); } else { Monitor.Log($"No adopter able to be detected. Horse {GetShortID(creature)} will be owned by the host player.", LogLevel.Debug); HorseOwnershipMap.Add(GetLongID(creature), Game1.MasterPlayer); } } // Give a skin if (skinID != 0) { SetSkin(creature, skinID); } else { RandomizeSkin(creature); } }
/// <summary>Adds the given Pet, Horse, or FarmAnimal into the A&S database</summary> internal void AddCreature(Character creature, int skinID = 0) { string type = ModApi.GetInternalType(creature); if (ModApi.IsInDatabase(creature) || !ModApi.IsRegisteredType(type)) { return; } // Set internal IDs SetShortID(creature, GetUnusedShortID()); IDToCategory[GetLongID(creature)] = ModApi.GetCreatureCategory(type); // Give a skin if (skinID != 0) { SetSkin(creature, skinID); } else { RandomizeSkin(creature); } }