//
// Mate.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.Stats;
using NosSmooth.Packets.Enums;
using NosSmooth.PacketSerializer.Abstractions.Common;
namespace NosSmooth.Game.Data.Mates;
/// <summary>
/// Information about player's pet or partner.
/// </summary>
/// <remarks>
/// Used for mates the character owns
/// </remarks>
/// <param name="MateId">The id of the mate.</param>
/// <param name="NpcVNum">The vnum of the mate.</param>
/// <param name="TransportId">Unknown function TODO.</param>
/// <param name="Level">The level of the mate.</param>
/// <param name="Loyalty">The loyalty of the mate.</param>
/// <param name="Attack">The attack statistics of the mate.</param>
/// <param name="Armor">The armor statistics of the mate.</param>
/// <param name="Element">The element of the mate.</param>
/// <param name="Resistance">The resistance of the mate.</param>
/// <param name="Hp">The health of the mate.</param>
/// <param name="Mp">The mana of the mate.</param>
/// <param name="Name">The name of the mate.</param>
/// <param name="IsSummonable">Whether the mate is summonable.</param>
public record Mate
(
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
);