/// <inheritdoc /> public void GiveExeperience(IPlayerEntity player, long experience) { if (player.PlayerData.Mode.HasFlag(ModeType.MODE_EXPUP_STOP)) { return; } var exp = CalculateExtraExperience(player, experience); // TODO: experience to party if (GiveExperienceToPlayer(player, exp)) { _moverPacketFactory.SendUpdateAttributes(player, DefineAttributes.HP, player.Attributes[DefineAttributes.HP]); _moverPacketFactory.SendUpdateAttributes(player, DefineAttributes.MP, player.Attributes[DefineAttributes.MP]); _moverPacketFactory.SendUpdateAttributes(player, DefineAttributes.FP, player.Attributes[DefineAttributes.FP]); _playerPacketFactory.SendPlayerSetLevel(player, player.Object.Level); _playerPacketFactory.SendPlayerStatsPoints(player); } _playerPacketFactory.SendPlayerExperience(player); // TODO: send packet to friends, messenger, guild, couple, party, etc... }