public void AddExp(int e) { float bonusAddition = 0f; if (mBonuses != null && e > 0) { bonusAddition = (float)System.Math.Ceiling(e * mBonuses.expPcBonus); } int additionalExp = (int)bonusAddition; e += additionalExp; exp += (e); // log.InfoFormat("added exp = {0}, additional exp = {1}".Color(LogColor.orange), e, e - additionalExp); mPlayer.UpdateCharacterOnMaster(); mPlayer.EventOnPlayerInfoUpdated(); //mMessage.ReceiveServiceMessage(ServiceMessageType.Info, string.Format("exp received = {0}", e)); mMessage.ReceiveExp(e); if (m_PetManager) { m_PetManager.AddExp(e); } int currentLevel = resource.Leveling.LevelForExp(exp); if (m_Achivments != null) { m_Achivments.SetVariable("player_level", currentLevel); } //if(m_QuestManager != null ) { // m_QuestManager.OnPlayerLevel(currentLevel); //} }