// Use this for initialization void Start() { State = EnemyState.PATROL; Player = PlayerManager.instance.Player.transform; _anim = GetComponent <Animator>(); _anim.SetFloat("Health", Health); _rend = gameObject.GetComponent <SpriteRenderer>(); shaderGUItext = Shader.Find("GUI/Text Shader"); shaderSpritesDefault = Shader.Find("Sprites/Default"); combatScript = GetComponent <EnemyCombatScript>(); }
public void SpawnRandomEnemy(int level) { GameObject newEnemy; if (!underwater) { newEnemy = Instantiate(terranEnemies[NextInt(terranEnemies.Count - 1)]); } else { newEnemy = Instantiate(waterEnemies[NextInt(waterEnemies.Count - 1)]); } EnemyCombatScript combatScript = newEnemy.GetComponent <EnemyCombatScript>(); combatScript.level = level; combatScript.AdjustStatsForLevel(); newEnemy.transform.position = transform.position; }
public void ProcessHit(EnemyCombatScript enemy) { int enemyDamage = NormalDistribution.CalculateNormalDistRandom(enemy.damage, enemy.deviation); if (enemy.crit) { TakeDamage(enemyDamage * 2, Color.red); enemy.crit = false; } else { TakeDamage(enemyDamage); } if (!blocking) { movementScript.Pushback(enemy.DirectionPointingToPlayer()); } else { enemy.PushbackShield(); } }