//
// Character.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.Chat;
using NosSmooth.Game.Data.Entities;
using NosSmooth.Game.Data.Info;
using NosSmooth.Game.Data.Social;
using NosSmooth.Packets.Enums;
using NosSmooth.Packets.Enums.Players;
namespace NosSmooth.Game.Data.Characters;
///
/// Represents the client character.
///
/// The character's inventory with items.
/// The family of the character, if any..
/// The friends of the character.
/// The current skill set of the character.
/// The group the character is in, if any. Contains pets and partners as well.
/// The skill cp amount used for learning new skills.
/// The id of the character entity.
/// The name of the character entity.
/// The position of the character.
/// The movement speed of the character.
/// The
/// The
/// The
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
public record Character
(
Inventory.Inventory? Inventory = default,
Family? Family = default,
IReadOnlyList? Friends = default,
Skills? Skills = default,
Group? Group = default,
int? SkillCp = default,
long Id = default,
string? Name = default,
Position? Position = default,
byte? Speed = default,
Level? Level = default,
Level? JobLevel = default,
Level? HeroLevel = default,
byte? Direction = default,
Health? Hp = default,
Health? Mp = default,
FactionType? Faction = default,
short Size = default,
AuthorityType AuthorityType = default,
SexType Sex = default,
HairStyle HairStyle = default,
HairColor HairColor = default,
PlayerClass Class = default,
byte? Icon = default,
short? Compliment = default,
Morph? Morph = default,
bool? ArenaWinner = default,
bool? Invisible = default,
long? Reputation = default,
IReadOnlyList? EffectsVNums = default
) : Player(
Id,
Name,
Position,
Speed,
Level,
HeroLevel,
Direction,
Hp,
Mp,
Faction,
Size,
AuthorityType,
Sex,
HairStyle,
HairColor,
Class,
Icon,
Compliment,
Morph,
ArenaWinner,
Invisible,
Reputation,
EffectsVNums
);