public int GetMaxUnitsInCamp(LogicCharacterData data) { LogicAvatar homeOwnerAvatar = this.m_parent.GetLevel().GetHomeOwnerAvatar(); if (homeOwnerAvatar != null) { return(data.GetUnitsInCamp(homeOwnerAvatar.GetUnitUpgradeLevel(data))); } Debugger.Error("AVATAR = NULL"); return(0); }
public static float GetCharacterStrength(LogicCharacterData data, int upgLevel) { if (data.IsProductionEnabled()) { float attackStrength = data.GetHitpoints(upgLevel) * 0.04f + LogicMath.Abs(data.GetAttackerItemData(upgLevel).GetDamagePerMS(0, false)) * 0.2f; if (data.GetUnitsInCamp(upgLevel) > 0 && data.GetUnitsInCamp(0) > 0) { attackStrength = (float)data.GetUnitsInCamp(upgLevel) / data.GetUnitsInCamp(0) * attackStrength; } for (int i = data.GetSpecialAbilityLevel(upgLevel); i > 0; i--) { attackStrength *= 1.1f; } return(attackStrength * 0.01f * data.GetStrengthWeight(upgLevel) / data.GetHousingSpace() * 10f); } return(0f); }
/// <summary> /// Gets the max unit count. /// </summary> public int GetMaxCapacity() { LogicAvatar homeOwnerAvatar = this._parent.GetLevel().GetHomeOwnerAvatar(); LogicCharacterData characterData = (LogicCharacterData)this._unit.GetData(); if (homeOwnerAvatar != null) { return(characterData.GetUnitsInCamp(homeOwnerAvatar.GetUnitUpgradeLevel(characterData))); } Debugger.Error("AVATAR = NULL"); return(0); }