//
// 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.
///
public class Character : Player
{
///
/// Gets or sets the inventory of the character.
///
public Inventory.Inventory? Inventory { get; set; }
///
/// Get or sets the friends of the character.
///
public IReadOnlyList? Friends { get; set; }
///
/// Gets or sets the skills of the player.
///
public Skills? Skills { get; set; }
///
/// Gets or sets the group the player is in.
///
public Group? Group { get; set; }
///
/// Gets or sets the c skill points.
///
public int? SkillCp { get; set; }
///
/// Gets or sets the job level.
///
public Level? JobLevel { get; set; }
///
/// Gets or sets the player level.
///
public Level? PlayerLevel { get; set; }
///
/// Gets or sets the player level.
///
public Level? HeroLevelStruct { get; set; }
///
public override short? HeroLevel
{
get => HeroLevelStruct?.Lvl;
set
{
if (HeroLevelStruct is not null && value is not null)
{
HeroLevelStruct = HeroLevelStruct with
{
Lvl = value.Value
};
}
}
}
///
/// Gets or sets the sp points of the player.
///
///
/// Resets every day, max 10 000.
///
public int SpPoints { get; set; }
///
/// Gets or sets the additional sp points of the player.
///
///
/// Used if are 0. Max 1 000 000.
///
public int AdditionalSpPoints { get; set; }
}