Exemple #1
0
 public static void SendMode(IPacketReceiver receiver, IEntity pet, PetAttackMode attackMode, PetAction action,
                             PetFlags flags)
 {
     using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.SMSG_PET_MODE, 12))
     {
         packet.Write(pet.EntityId);
         packet.Write((byte)attackMode);
         packet.Write((byte)action);
         packet.Write((ushort)flags);
         receiver.Send(packet, false);
     }
 }
Exemple #2
0
        internal static T CreateDefaultPetRecord <T>(NPCEntry entry, uint ownerId) where T : IPetRecord, new()
        {
            T             obj           = new T();
            PetAttackMode petAttackMode = entry.Type == CreatureType.NonCombatPet
        ? PetAttackMode.Passive
        : PetAttackMode.Defensive;

            obj.OwnerId    = ownerId;
            obj.AttackMode = petAttackMode;
            obj.Flags      = PetFlags.None;
            obj.EntryId    = entry.NPCId;
            return(obj);
        }
Exemple #3
0
        public void SetPetAttackMode(PetAttackMode mode)
        {
            if (m_PetRecord != null)
            {
                m_PetRecord.AttackMode = mode;
            }

            if (mode == PetAttackMode.Passive)
            {
                m_brain.IsAggressive = false;
                m_brain.DefaultState = BrainState.Follow;
            }
            else
            {
                m_brain.IsAggressive = mode == PetAttackMode.Aggressive;
                m_brain.DefaultState = BrainState.Guard;
            }
            m_brain.EnterDefaultState();
        }
Exemple #4
0
		public static void SendMode(IPacketReceiver receiver, IEntity pet, PetAttackMode attackMode,
			PetAction action, PetFlags flags)
		{
			using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_PET_MODE, 12))
			{
				packet.Write(pet.EntityId);
				packet.Write((byte)attackMode);
				packet.Write((byte)action);
				packet.Write((ushort)flags);

				receiver.Send(packet);
			}
		}
Exemple #5
0
		public void SetPetAttackMode(PetAttackMode mode)
		{
			if (m_PetRecord != null)
			{
				m_PetRecord.AttackMode = mode;
			}

			if (mode == PetAttackMode.Passive)
			{
				m_brain.IsAggressive = false;
				m_brain.DefaultState = BrainState.Follow;
			}
			else
			{
				m_brain.IsAggressive = mode == PetAttackMode.Aggressive;
				m_brain.DefaultState = BrainState.Guard;
			}
			m_brain.EnterDefaultState();
		}