public string EnemiesString() { StringBuilder b = new StringBuilder(); StageEnemy curEnemy = null; int curCount = 0; foreach (var enemy in Enemies) { if (curEnemy == null) { curCount = 1; curEnemy = enemy; } else if (enemy.EnemyType.Id != curEnemy.EnemyType.Id || enemy.CycleNumber != curEnemy.CycleNumber || enemy.StageNumber != curEnemy.StageNumber) { b.AppendLine(curEnemy.ToString() + ": " + curCount.ToString()); curCount = 1; curEnemy = enemy; } else { curCount += 1; } } if (curCount > 0) { b.AppendLine(curEnemy.ToString() + ": " + curCount.ToString()); } return(b.ToString()); }
public void AddEnemy(BattleSceneTypeEnemy enemy, bool processResources) { for (int i = 0; i < enemy.Count; i++) { StageEnemy curEnemy = new StageEnemy(); curEnemy.StageNumber = StageNumber; curEnemy.CycleNumber = CycleNumber; curEnemy.EnemyType = enemy; double intensityMult = 1; double cycleMultiplier = 1; if (CycleNumber > 1) { intensityMult = Math.Pow((1 + (double)enemy.CycleIntensityMult / 100), CycleNumber - 1); cycleMultiplier = Math.Pow((1 + (double)enemy.CycleMultiplier / 100), CycleNumber - 1); } curEnemy.BattleIntensity = (int)Math.Round(enemy.Rig.sModel.BattleIntensity * intensityMult); curEnemy.EnemyStatsMultiplier = cycleMultiplier; curEnemy.CalculateParameters(); if (processResources) { foreach (var c in Cr) { c.ProcessEnemy(curEnemy); } } Enemy.Add(curEnemy); } }
public void AddEnemy(StageEnemy enemy) { Enemies.Add(enemy); if (enemy.Resources != null) { Res.AddRange(enemy.Resources); } }
public Enemy(StageEnemy enemyFrom) { ResourceList = new List <EnemyResource>(); CycleNumber = enemyFrom.CycleNumber; StageNumber = enemyFrom.StageNumber; StructurePoints = enemyFrom.EnemyStructurePoints; ShieldPoints = enemyFrom.EnemyShieldPoints; ShieldRegen = enemyFrom.EnemyShieldRegen; RigId = enemyFrom.EnemyType.ShipRigId; if (enemyFrom.Resources.Count > 0) { foreach (var res in enemyFrom.Resources) { ResourceList.Add(new EnemyResource(res)); } } }
public void ProcessEnemy(StageEnemy enemy) { if (EnemyId > 0 && enemy.EnemyType.Id != EnemyId) { return; } if (guaranteedAmount > 0) { enemies.Add(enemy); } if (probability <= 0 || amount <= 0) { return; } if (probability > rnd.NextDouble()) { amount = amount * (1 + (CommonFunctions.NextDouble() - 0.5) * 2); amount = Math.Round(amount); if (amount > 0) { if (resType != null) { enemy.Resources.Add(new EnemyResource(resType, (int)amount)); } if (bpType != null) { enemy.Resources.Add(new EnemyResource(bpType, (int)amount)); } } } }