public short GetTalentLevel(TalentMarkId id) { TalentData ret; Talents.TryGetValue(id, out ret); return(ret.Level); }
public void AddExp(TalentMarkId talant, uint exp, uint bonusExp = 0) { var talantState = _mPlayer.Data.Talents[talant]; if (talantState.Level >= CharsMgr.MaxLevel) { return; } if (CalculateTalentLevel(ref talantState, exp + bonusExp)) { UpdateBase(); _mPlayer.Player.Rpc(4, _mPlayer.Data.SerTalents); _mPlayer.Player.Rpc(3, new TalentNetData((uint)talant, talantState.Exp, (uint)talantState.Level)); _view.Rpc <Int16Serializer>(4, 53, RpcMode.AllUnordered, _mPlayer.Char.Level); } else { _mPlayer.Player.Rpc(2, new TalentNetData((uint)talant, exp, bonusExp)); } _mPlayer.Data.Talents[talant] = talantState; }