Exemplo n.º 1
0
        /// <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...
        }