public void DeleteItem() { SlotItem.gameObject.SetActive(false); SlotItem.Delete(); }
protected override void OnTick() { m_Count++; if (m_Count < m_MaxCount) { switch (Utility.Random(6)) { case 0: m_From.PublicOverheadMessage(MessageType.Emote, 0x47, true, "Hear me, animal friends!"); break; case 1: m_From.PublicOverheadMessage(MessageType.Emote, 0x47, true, "Come to my aid."); break; case 2: m_From.PublicOverheadMessage(MessageType.Emote, 0x47, true, "I am a friend to the animals."); break; case 3: m_From.PublicOverheadMessage(MessageType.Emote, 0x47, true, "I call to you my friends."); break; case 4: m_From.PublicOverheadMessage(MessageType.Emote, 0x47, true, "Hear me, my friends!"); break; case 5: m_From.PublicOverheadMessage(MessageType.Emote, 0x47, true, "** whistles softly **"); break; } LokaiSkill lokaiSkill = LokaiSkillUtilities.XMLGetSkills(m_From).SpeakToAnimals; int Max = m_From.FollowersMax - m_From.Followers; int Cur = 0; foreach (Mobile mob in m_From.GetMobilesInRange(10)) { if (mob is BaseCreature) { BaseCreature creature = mob as BaseCreature; if (m_Animals.Contains(creature) || creature.Controlled) { continue; } if (creature.AI == AIType.AI_Animal && AllowPackAnimal(creature, lokaiSkill) && creature.Combatant != m_From) { if (Cur >= Max) { break; } Cur++; m_Animals.Add(creature); } } } foreach (BaseCreature animal in m_Animals) { if (m_Controlled >= m_CreatureMax) { break; } if (Utility.RandomBool() && !animal.Controlled) { m_Controlled++; animal.Owners.Add(m_From); animal.SetControlMaster(m_From); animal.ControlOrder = OrderType.Guard; } } } else { foreach (BaseCreature animal in m_Animals) { animal.Controlled = false; animal.Owners.Remove(m_From); animal.SetControlMaster(null); } m_From.FollowersMax = m_Slots; m_From.SendMessage("The animals have stopped listening to you."); item.Delete(); } m_From.NextSkillTime = Core.TickCount + (int)TimeSpan.FromSeconds(3.0 * (m_MaxCount - m_Count)).TotalSeconds; }