public void ApplyModifiersOnEnemy(EnemyEnitity enemy) { if (AreEnemiesNightmare) { enemy._DifficultyType = EnemyEnitity.enumDifficultyType.Nightmare; } if (enemy is NPCEntity == false && data.enemiesScalingRatio > 0f && data.enemiesScalingRatio != 1f) { float scaleRatio = Mathf.Clamp(data.enemiesScalingRatio, 0.1f, 20f); Vector3 scale = enemy.transform.localScale; scale.x *= scaleRatio; scale.y *= scaleRatio; enemy.transform.localScale = scale; } if (data.activateTrainingMode && enemy._AISetting != null) { if (aiSettings.ContainsKey(enemy.ClassType) == false) { aiSettings.Add(enemy.ClassType, enemy._AISetting); } enemy._AISetting = Instantiate(enemy._AISetting); EnemyEnitity[] enemies = FindObjectsOfType <EnemyEnitity>(); for (int i = 0; i < enemies.Length; i++) { UpdateAiSetting(enemies[i]); } } }
public void UpdateAiSetting(EnemyEnitity enemy) { if (data.activateTrainingMode == false || enemy._AISetting == null || enemy is NPCEntity) { return; } enemy.AI_ChangeState <AI_Idle>(); enemy.SetAIChangeState(!AreEnemiesNoAi); enemy.SetAIChangeState_CombatEntityMainManager(!AreEnemiesNoAi); enemy._AISetting.PercentageOfGetupAttack = AreEnemiesPacifist ? 0f : aiSettings[enemy.ClassType].PercentageOfGetupAttack; enemy._AISetting.AIAttackDetails_RunHeavyAttack.Weight = AreEnemiesPacifist ? 0f : aiSettings[enemy.ClassType].AIAttackDetails_RunHeavyAttack.Weight; enemy._AISetting.AIAttackDetails_RunSpecialAttack.Weight = AreEnemiesPacifist ? 0f : aiSettings[enemy.ClassType].AIAttackDetails_RunSpecialAttack.Weight; enemy._AISetting.AIAttackDetails_RunQuickAttack.Weight = AreEnemiesPacifist ? 0f : aiSettings[enemy.ClassType].AIAttackDetails_RunQuickAttack.Weight; enemy._AISetting.ChasingAttack_WhatToUse = AreEnemiesPacifist ? AI_MoveToAttackRange.AttackType.None : aiSettings[enemy.ClassType].ChasingAttack_WhatToUse; enemy._AISetting.AttackTime_Min = AreEnemiesPacifist ? float.PositiveInfinity : aiSettings[enemy.ClassType].AttackTime_Min; enemy._AISetting.AttackTime_Max = AreEnemiesPacifist ? float.PositiveInfinity : aiSettings[enemy.ClassType].AttackTime_Max; enemy._AISetting.Retaliate_AftersHPCount_ByBlocking = AreEnemiesPacifist ? false : aiSettings[enemy.ClassType].Retaliate_AftersHPCount_ByBlocking; enemy._AISetting.Blocking_HowManyBlockHitsBeforeRetaliation = AreEnemiesPacifist ? int.MaxValue : aiSettings[enemy.ClassType].Blocking_HowManyBlockHitsBeforeRetaliation; enemy._AISetting.Retaliate_AfterManyHitsWithoutIdle_HPCount = AreEnemiesPacifist ? int.MaxValue : aiSettings[enemy.ClassType].Retaliate_AfterManyHitsWithoutIdle_HPCount; }