// WingsEmu // // Developed by NosWings Team using System; using System.Collections.Generic; using WingsEmu.Core.Generics; using WingsEmu.Game.Battle; using WingsEmu.Game.Battle.Managers; using WingsEmu.Game.Buffs; using WingsEmu.Game.Skills; using WingsEmu.Packets.Enums; namespace WingsEmu.Game.Entities; public interface IBattleEntity : IMoveableEntity, IEventTriggerContainer, IBattleEntityEventEmitter, ICastingComponent, IEndBuffDamageComponent { public byte Level { get; set; } public byte Direction { get; set; } byte HpPercentage => Math.Max((byte)1, (byte)(MaxHp <= 1 ? 1 : (byte)(Hp / (float)MaxHp * 100))); public int Hp { get; set; } public int MaxHp { get; set; } byte MpPercentage => Math.Max((byte)1, (byte)(MaxMp <= 1 ? 1 : (byte)(Mp / (float)MaxMp * 100))); public int Mp { get; set; } public int MaxMp { get; set; } public byte Element { get; set; } public int ElementRate { get; set; } public int FireResistance { get; set; } public int WaterResistance { get; set; } public int LightResistance { get; set; } public int DarkResistance { get; set; } public int DamagesMinimum { get; set; } public int DamagesMaximum { get; set; } public FactionType Faction { get; } public IBattleEntity Killer { get; set; } public byte Size { get; set; } public List Skills { get; } public IBuffComponent BuffComponent { get; } public IBCardComponent BCardComponent { get; } public IChargeComponent ChargeComponent { get; } public ThreadSafeHashSet AggroedEntities { get; } }