public void GenerateBasicBattleAttribute() { if (battleAttribute != null) { return; } //TODO NOTE THIS IS STILL BETA AND WORK IN PROGRESS, USED FOR TESTING PURPOSE NO BALANCING battleAttribute = new BattleAttribute(); CalculateEqAttribute(); battleAttribute.hp = Mathf.RoundToInt(level * 1.2f) + Mathf.RoundToInt((((3 * attribute.cons) + attribute.endurance) / 4f) * 15); battleAttribute.currHp = battleAttribute.hp; battleAttribute.mp = 10; battleAttribute.currMp = battleAttribute.mp; battleAttribute.stamina = 0; battleAttribute.pAtk = attribute.str + eqAttribute.str + equipBAttribute.basePAtk; battleAttribute.pDef = attribute.cons + eqAttribute.cons + equipBAttribute.basePDef; battleAttribute.mAtk = attribute.intel + eqAttribute.intel + equipBAttribute.baseMatk; battleAttribute.mDef = attribute.wisdom + eqAttribute.wisdom + equipBAttribute.baseMDef; battleAttribute.speed = attribute.speed + eqAttribute.speed + equipBAttribute.speed; battleAttribute.baseMatk = battleAttribute.mAtk; battleAttribute.basePAtk = battleAttribute.pAtk; battleAttribute.baseMDef = battleAttribute.mDef; battleAttribute.basePDef = battleAttribute.pDef; battleAttribute.backRow = battleSetting.backRow; }
public int GetAttributeRaise(BattleAttribute attribute) { int attr = (int)attribute; if(Data.AttributeRaiseDic.ContainsKey(attr)) { return Data.AttributeRaiseDic[attr]; } return 0; }
public float GetAttributeRatio(BattleAttribute attribute) { int attr = (int)attribute; if(Data.AttributeRatioDic.ContainsKey(attr)) { return Data.AttributeRatioDic[attr]; } return 1f; }
public virtual void Init(BattleMgr battleMgr, StateMgr stateMgr, SkillMgr skillMgr, Controller ctrl, BattleAttribute attribute, Vector3 pos, Orient dir) { this.battleMgr = battleMgr; this.stateMgr = stateMgr; this.skillMgr = skillMgr; this.controller = ctrl; this.battleAttribute = attribute; ctrl.Init(pos, dir); }
public void AddBase(BattleAttribute toAdd) { basePAtk += toAdd.basePAtk; basePDef += toAdd.basePDef; baseMatk += toAdd.baseMatk; baseMDef += toAdd.baseMDef; hp += toAdd.hp; mp += toAdd.mp; stamina += toAdd.stamina; speed += toAdd.speed; }
public float GetAttribute(BattleAttribute attribute) { int attrID = (int)attribute; if (!attrDic.ContainsKey(attrID)) { BaseLogger.LogFormat("attributeDic has no attribute: {0}", attribute); return -1; } float ratio = GetBuffRatioAttribute(attribute); int raise = GetBuffRaiseAttribute(attribute); return attrDic[attrID] * ratio + raise; }
void ResetEquipmentAttribute() { if (eqAttribute == null) { eqAttribute = new Attribute(); equipBAttribute = new BattleAttribute(); } else { eqAttribute.Reset(); equipBAttribute.Reset(); } }
private int GetBuffRaiseAttribute(BattleAttribute attribute) { Dictionary<int, Buff>.Enumerator attrEnum = buffDic.GetEnumerator(); int resultVal = 0; while(attrEnum.MoveNext()) { int attrVal = attrEnum.Current.Value.GetAttributeRaise(attribute); resultVal += attrVal; } return resultVal; }
private float GetBuffRatioAttribute(BattleAttribute attribute) { Dictionary<int, Buff>.Enumerator attrEnum = buffDic.GetEnumerator(); float resultVal = 1f; while(attrEnum.MoveNext()) { float attrVal = attrEnum.Current.Value.GetAttributeRatio(attribute); resultVal *= attrVal; } return resultVal; }