//
//  Pet.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.Game.Data.Info;
using NosSmooth.Game.Data.Items;
using NosSmooth.Game.Data.Stats;
using NosSmooth.Packets.Enums;
using NosSmooth.PacketSerializer.Abstractions.Common;
namespace NosSmooth.Game.Data.Mates;
/// 
/// Information about player's pet or partner.
/// 
/// 
/// Used for mates the character owns
/// 
/// The id of the mate.
/// The vnum of the mate.
/// Unknown function TODO.
/// The level of the mate.
/// The loyalty of the mate.
/// The attack statistics of the mate.
/// The armor statistics of the mate.
/// The element of the mate.
/// The resistance of the mate.
/// The health of the mate.
/// The mana of the mate.
/// The name of the mate.
/// Whether the mate is summonable.
/// Whether the pet can pick up items.
public record Pet
(
    long MateId,
    long NpcVNum,
    long TransportId,
    Level Level,
    short Loyalty,
    MateAttackStats Attack,
    MateArmorStats Armor,
    Element Element,
    Resistance Resistance,
    Health Hp,
    Health Mp,
    string Name,
    bool IsSummonable,
    bool CanPickUp
) : Mate
(
    MateId,
    NpcVNum,
    TransportId,
    Level,
    Loyalty,
    Attack,
    Armor,
    Element,
    Resistance,
    Hp,
    Mp,
    Name,
    IsSummonable
);