// // Skill.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.Data.Abstractions.Infos; namespace NosSmooth.Game.Data.Characters; /// /// Represents nostale skill entity. /// /// The vnum of the skill. /// The level of the skill. Unknown feature. /// The information obtained from Data assembly. public record Skill(int SkillVNum, int? Level = default, ISkillInfo? Info = default) { /// /// Gets the last time this skill was used. (su received). /// public DateTimeOffset LastUseTime { get; internal set; } /// /// Gets the last time this skill was requested to be used. (u_s sent). /// public DateTimeOffset? LastUseRequestTime { get; internal set; } /// /// Gets whether the skill is on cooldown. /// /// /// This is set when the server sends sr packet, /// prefer to use this instead of checking the LastUseTime and Cooldown. /// public bool IsOnCooldown { get; internal set; } /// /// Gets the last time the cooldown was reset. /// public DateTimeOffset? LastCooldownReset { get; internal set; } }