/// <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);
            }
        }
Exemple #2
0
        /// <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);
            }
        }