using WingsEmu.Game._enum; using WingsEmu.Packets.Enums; using WingsEmu.Packets.Enums.Battle; using WingsEmu.Packets.Enums.Character; namespace WingsEmu.Game.Algorithm; public interface IBattleEntityAlgorithmService { /// /// Returns the MaxHp based on basic algorithm /// /// /// /// /// /// /// int GetBasicHp(int race, int level, int modifier, int additionalHp = 0, bool isMonster = true); /// /// Returns the MaxMp based on basic algorithm /// /// /// /// /// /// /// int GetBasicMp(int race, int level, int modifier, int additionalMp = 0, bool isMonster = true); /// /// Returns the MaxHp based on ClassType /// /// /// /// int GetBasicHpByClass(ClassType classType, int level); /// /// Returns the MaxMp based on ClassType /// /// /// /// int GetBasicMpByClass(ClassType classType, int level); /// /// Get minimum/maximum attack damage /// /// /// /// /// /// /// /// /// /// /// /// /// int GetAttack(bool isMin, int race, AttackType attackType, short weaponLevel, byte wInfo, short level, int modifier, int additional, bool isWild = true, short petLevel = 0, MateType mateType = MateType.Pet); /// /// Get hitrate /// /// /// /// /// /// /// /// /// /// /// int GetHitrate(int race, AttackType attackType, short weaponLevel, short level, int modifier, int additional, bool isWild = true, short petLevel = 0, MateType mateType = MateType.Pet); /// /// Get dodge /// /// /// /// /// /// /// /// /// int GetDodge(int race, short armorLevel, short level, int modifier, int additional, bool isWild = true, short petLevel = 0, MateType mateType = MateType.Pet); /// /// Get defense /// /// /// /// /// /// /// /// /// /// /// int GetDefense(int race, AttackType attackType, short armorLevel, short level, int modifier, int additional, bool isWild = true, short petLevel = 0, MateType mateType = MateType.Pet); /// /// Get Speed /// /// byte GetSpeed(ClassType classType); int GetBaseStatistic(int level, ClassType classType, StatisticType statisticType); }