public CharacterCharacteristicsInformations GetCharacterCharacteristics(Character character) { ulong expFloor = ExperienceRecord.GetExperienceForLevel(character.Level).Player; ulong expNextFloor = ExperienceRecord.GetExperienceForNextLevel(character.Level).Player; CharacterCharacteristicsInformations informations = new CharacterCharacteristicsInformations() { actionPoints = ActionPoints.GetBaseCharacteristic(), actionPointsCurrent = ActionPoints.TotalInContext(), additionnalPoints = 0, agility = Agility.GetBaseCharacteristic(), airDamageBonus = AirDamageBonus.GetBaseCharacteristic(), airElementReduction = AirReduction.GetBaseCharacteristic(), airElementResistPercent = AirResistPercent.GetBaseCharacteristic(), alignmentInfos = character.Record.Alignment.GetActorExtendedAlignement(), allDamagesBonus = AllDamagesBonus.GetBaseCharacteristic(), chance = Chance.GetBaseCharacteristic(), criticalDamageBonus = CriticalDamageBonus.GetBaseCharacteristic(), criticalDamageReduction = CriticalDamageReduction.GetBaseCharacteristic(), criticalHit = CriticalHit.GetBaseCharacteristic(), criticalHitWeapon = CriticalHitWeapon, criticalMiss = Characteristic.Zero().GetBaseCharacteristic(), damagesBonusPercent = DamagesBonusPercent.GetBaseCharacteristic(), dodgePALostProbability = DodgePAProbability.GetBaseCharacteristic(), dodgePMLostProbability = DodgePMProbability.GetBaseCharacteristic(), earthDamageBonus = EarthDamageBonus.GetBaseCharacteristic(), earthElementReduction = EarthReduction.GetBaseCharacteristic(), earthElementResistPercent = EarthResistPercent.GetBaseCharacteristic(), pvpEarthElementReduction = PvPEarthReduction.GetBaseCharacteristic(), pvpEarthElementResistPercent = PvPEarthResistPercent.GetBaseCharacteristic(), fireDamageBonus = FireDamageBonus.GetBaseCharacteristic(), fireElementReduction = FireReduction.GetBaseCharacteristic(), fireElementResistPercent = FireResistPercent.GetBaseCharacteristic(), pvpFireElementReduction = PvPFireReduction.GetBaseCharacteristic(), pvpFireElementResistPercent = PvPFireResistPercent.GetBaseCharacteristic(), glyphBonusPercent = GlyphBonusPercent.GetBaseCharacteristic(), healBonus = HealBonus.GetBaseCharacteristic(), initiative = new CharacterBaseCharacteristic((short)FormulasProvider.Instance.BaseInitiative(this), 0, Initiative.Total(), 0, 0), intelligence = Intelligence.GetBaseCharacteristic(), kamas = character.Record.Kamas, lifePoints = (uint)LifePoints, maxEnergyPoints = MaxEnergyPoints, maxLifePoints = (uint)MaxLifePoints, movementPoints = MovementPoints.GetBaseCharacteristic(), movementPointsCurrent = MovementPoints.TotalInContext(), PMAttack = PMAttack.GetBaseCharacteristic(), PAAttack = PAAttack.GetBaseCharacteristic(), pvpAirElementReduction = PvPAirReduction.GetBaseCharacteristic(), pvpAirElementResistPercent = PvPAirResistPercent.GetBaseCharacteristic(), pvpNeutralElementReduction = PvPNeutralReduction.GetBaseCharacteristic(), pvpNeutralElementResistPercent = PvPNeutralResistPercent.GetBaseCharacteristic(), pvpWaterElementReduction = PvPWaterReduction.GetBaseCharacteristic(), pvpWaterElementResistPercent = PvPWaterResistPercent.GetBaseCharacteristic(), energyPoints = Energy, experience = character.Experience, experienceLevelFloor = expFloor, experienceNextLevelFloor = expNextFloor, neutralDamageBonus = NeutralDamageBonus.GetBaseCharacteristic(), neutralElementReduction = NeutralReduction.GetBaseCharacteristic(), neutralElementResistPercent = NeutralResistPercent.GetBaseCharacteristic(), tackleEvade = TackleEvade.GetBaseCharacteristic(), tackleBlock = TackleBlock.GetBaseCharacteristic(), range = Range.GetBaseCharacteristic(), waterElementReduction = WaterReduction.GetBaseCharacteristic(), waterDamageBonus = WaterDamageBonus.GetBaseCharacteristic(), waterElementResistPercent = WaterResistPercent.GetBaseCharacteristic(), reflect = Reflect.GetBaseCharacteristic(), permanentDamagePercent = PermanentDamagePercent.GetBaseCharacteristic(), prospecting = Prospecting.GetBaseCharacteristic(), pushDamageBonus = PushDamageBonus.GetBaseCharacteristic(), pushDamageReduction = PushDamageReduction.GetBaseCharacteristic(), runeBonusPercent = RuneBonusPercent.GetBaseCharacteristic(), spellModifications = new CharacterSpellModification[0], spellsPoints = character.Record.SpellPoints, statsPoints = character.Record.StatsPoints, vitality = Vitality.GetBaseCharacteristic(), strength = Strength.GetBaseCharacteristic(), summonableCreaturesBoost = SummonableCreaturesBoost.GetBaseCharacteristic(), trapBonus = TrapBonus.GetBaseCharacteristic(), trapBonusPercent = TrapBonusPercent.GetBaseCharacteristic(), weaponDamagesBonusPercent = WeaponDamagesBonusPercent.GetBaseCharacteristic(), wisdom = Wisdom.GetBaseCharacteristic(), probationTime = 0, }; return(informations); }