/// <summary> /// Returns necessary units to conquer or turn neutral /// </summary> /// <param name="ent">Entity we want to know abouta</param> /// <param name="turnNeutral">If true will return units to turn neutral</param> /// <returns></returns> public static int CountNecessaryUnitsToConquer(EventEntity ent, Player myPlayer, bool randomNumber = false, bool turnNeutral = false) { int objective = 0; if (ent.CurrentPlayerOwner == myPlayer.Id) { if (ent.CurrentLevel >= ent.MaxLevel) { return(0); } else { objective = ent.ExpForNextLevel - ent.CurrentExp; } } if ((ent.CurrentPlayerOwner == GlobalData.NO_PLAYER && ent.CurrentContestantId == myPlayer.Id) || (ent.CurrentPlayerOwner == GlobalData.NO_PLAYER && ent.CurrentContestantId == GlobalData.NO_PLAYER)) { objective = ent.ExpForNextLevel - ent.CurrentExp; } else if (ent.CurrentPlayerOwner == GlobalData.NO_PLAYER && ent.CurrentContestantId != myPlayer.Id) { objective = ent.ExpForNextLevel + ent.CurrentHealth; } else { if (turnNeutral) { objective = ent.CurrentUnits + ent.CurrentHealth; } else { objective = ent.CurrentHealth + ent.CurrentUnits + ent.GetExpForLEvel(0); } } if (randomNumber) { return(Mathf.RoundToInt(objective * (1.4f - Random.value))); } else { return(objective); } }