using CommonAI.data; using CommonAI.Zone; using CommonAI.Zone.Instance; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using XmdsCommonServer.XLS.Data; namespace XmdsCommonSkill.Plugin.Skills { // 战士天赋数据 public class PlayerCache_Warrior : PlayerCacheBase { private int mTalnetMax; // 天赋最大值 //普攻怒气增加 private int mNormalAtkAnger; public PlayerCache_Warrior(InstanceUnit unit, int talnetMaxValue, IntIntIntData refreshRule) : base(unit, refreshRule) { this.mTalnetMax = talnetMaxValue; //this.mTalnetUpdateTime = 0; this.mTalentValue = 0; } // 增加天赋点信息 public override bool AddTalentValue(int value) { if(value <= 0) { return false; } // 基础天赋值变更 this.mTalentValue = Math.Min(this.mTalentValue + value, this.mTalnetMax); //this.mTalnetUpdateTime = CommonLang.CUtils.S_LOCAL_TIMESTAMPMS; return base .AddTalentValue(value); } // 使用天赋(怒气/剑气) public override bool UseTalentValue(int value) { if (value <= 0) { return false; } else if (value > this.mTalentValue) { string stackInfo = new StackTrace().ToString(); log.Error("UseTalentValue天赋扣除异常:" + this.mTalentValue + " - " + value + ", " + this.mOwner.PlayerUUID + ", " + stackInfo); } this.mTalentValue = Math.Max(0, this.mTalentValue - value); //this.mTalnetUpdateTime = CommonLang.CUtils.localTimeMS; return base.UseTalentValue(value); } public void SetNormalAtakAnger(int value) { this.mNormalAtkAnger = value; } public void NormalHitAddAnger() { if (this.mNormalAtkAnger > 0) { this.AddTalentValue(this.mNormalAtkAnger); } } } }