public static string ToText(this AggressionLevel aggression) { switch (aggression) { case AggressionLevel.Friendly: return("Friendly"); case AggressionLevel.Normal: return("Normal"); case AggressionLevel.Aggressive: return("Aggressive"); default: return(null); } }
public override void Init(GameState s, int ti, object args) { base.Init(s, ti, args); Team.Capital = int.MaxValue / 2; Team.PopulationCap = int.MaxValue / 2; Team.OnBuildingSpawn += OnBuildingSpawn; Team.OnUnitSpawn += OnUnitSpawn; random = new Random(); spawnCap = 0; unitSpawnP = new int[] { 33, 33, 34 }; barracksControllers = new List <BarracksController>(); squads = new List <List <IEntity> >(); numActive = 0; timeElapsed = 0; level = AggressionLevel.None; dt = 10; //5 foreach (var b in Team.Buildings) { DevConsole.AddCommand("added barracks"); barracksControllers.Add(new BarracksController(this, b)); } for (int i = 0; i < s.activeTeams.Length; i++) { if (s.activeTeams[i].Team.Input.Type == RTSInputType.Player) { playerIndex = s.activeTeams[i].Team.Index; } } player = s.teams[playerIndex]; thread = new Thread(WorkThread); thread.IsBackground = true; running = true; paused = true; }
public Creature(AggressionLevel aggressionLevel) { Aggression = (int)aggressionLevel / 100.0; FoodToSurvive = 1; FoodToReplicate = FoodToSurvive; }
private void UpdateLevel() { AggressionLevel newLevel = level; if (timeElapsed > 40 * dt) { newLevel = AggressionLevel.VeryHigh; } else if (timeElapsed > 28 * dt) { newLevel = AggressionLevel.High; } else if (timeElapsed > 14 * dt) { newLevel = AggressionLevel.Medium; } else if (timeElapsed > 7 * dt) { newLevel = AggressionLevel.Low; } else if (timeElapsed > 2 * dt) { newLevel = AggressionLevel.VeryLow; } if (newLevel != level) { level = newLevel; switch (level) { case AggressionLevel.VeryLow: //DevConsole.AddCommand("very low level"); IncreaseActive(1); spawnCap += 1; break; case AggressionLevel.Low: //DevConsole.AddCommand("low level"); IncreaseActive(1); spawnCap += 1; break; case AggressionLevel.Medium: DevConsole.AddCommand("medium level"); IncreaseActive(barracksControllers.Count / 3); spawnCap += 2; break; case AggressionLevel.High: DevConsole.AddCommand("high level"); IncreaseActive(barracksControllers.Count / 2); spawnCap += 2; break; case AggressionLevel.VeryHigh: DevConsole.AddCommand("very high level"); IncreaseActive(barracksControllers.Count); spawnCap += 3; break; default: break; } } }
/// <summary> /// Modify the leader aggression level. /// </summary> /// <param name="value">The new agression level for the leader.</param> public Aggression(AggressionLevel value) : base(typeof(AggressionLevel), value, InRange) { }
public override void Init(GameState s, int ti, object args) { base.Init(s, ti, args); Team.Capital = int.MaxValue/2; Team.PopulationCap = int.MaxValue/2; Team.OnBuildingSpawn += OnBuildingSpawn; Team.OnUnitSpawn += OnUnitSpawn; random = new Random(); spawnCap = 0; unitSpawnP = new int[] { 33, 33, 34 }; barracksControllers = new List<BarracksController>(); squads = new List<List<IEntity>>(); numActive = 0; timeElapsed = 0; level = AggressionLevel.None; dt = 10; //5 foreach (var b in Team.Buildings) { DevConsole.AddCommand("added barracks"); barracksControllers.Add(new BarracksController(this, b)); } for (int i = 0; i < s.activeTeams.Length; i++) { if (s.activeTeams[i].Team.Input.Type == RTSInputType.Player) playerIndex = s.activeTeams[i].Team.Index; } player = s.teams[playerIndex]; thread = new Thread(WorkThread); thread.IsBackground = true; running = true; paused = true; }