// // ScPPacket.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.Packets.Enums; using NosSmooth.Packets.Server.Character; using NosSmooth.PacketSerializer.Abstractions.Attributes; using NosSmooth.PacketSerializer.Abstractions.Common; namespace NosSmooth.Packets.Server.Mates; /// /// Information about a pet the /// character owns. /// /// The id of the pet entity. /// The vnum of the pet. /// Unknown TODO. /// The level of the pet. /// The loyalty of the pet. /// The experience of the pet. /// Unknown TODO. /// The upgrade of attack. /// The minimum attack amount. /// The maximum attack amount. /// Unknown TODO. /// The critical chance of the pet's hit. /// The critical rate of the pet's hit. /// The pet's defence upgrade. /// The melee defence. /// The dodge of melee defence. /// The ranged defence. /// The dodge of ranged defence. /// The magical defence. /// The element of the pet. /// Information about pet's resistance /// The current hp of the pet. /// The maximum hp of the pet. /// The current mp of the pet. /// The maximum mp of the pet. /// Unknown TODO. /// The maximum experience in current level of the pet. /// Whether the pet can pick up stuff. /// The name of the pet. /// Whether the pet is summonable. [PacketHeader("sc_p", PacketSource.Server)] [GenerateSerializer(true)] public record ScPPacket ( [PacketIndex(0)] long PetId, [PacketIndex(1)] long NpcVNum, [PacketIndex(2)] long TransportId, [PacketIndex(3)] short Level, [PacketIndex(4)] short Loyalty, [PacketIndex(5)] long Experience, [PacketIndex(6)] short Unknown1, [PacketIndex(7)] short AttackUpgrade, [PacketIndex(8)] int MinimumAttack, [PacketIndex(9)] int MaximumAttack, [PacketIndex(10)] int Concentrate, [PacketIndex(11)] int CriticalChance, [PacketIndex(12)] int CriticalRate, [PacketIndex(13)] short DefenceUpgrade, [PacketIndex(14)] int MeleeDefence, [PacketIndex(15)] int MeleeDefenceDodge, [PacketIndex(16)] int RangeDefence, [PacketIndex(17)] int RangeDodgeRate, [PacketIndex(18)] int MagicalDefence, [PacketIndex(19)] Element Element, [PacketIndex(20, InnerSeparator = ' ')] ResistanceSubPacket ResistanceSubPacket, [PacketIndex(21)] int Hp, [PacketIndex(22)] int HpMax, [PacketIndex(23)] int Mp, [PacketIndex(24)] int MpMax, [PacketIndex(25)] int Unknown4, [PacketIndex(26)] int LevelExperience, [PacketIndex(27)] bool CanPickUp, [PacketIndex(28)] NameString Name, [PacketIndex(29)] bool IsSummonable ) : IPacket;