void Awake() { sr = GetComponent <SpriteRenderer>(); enemy = GetComponentInParent <EnemyDefaults>(); health = gameObject.transform; barRatio = transform.localScale.x / enemy.Enemy.maxHP; }
// Start is called before the first frame update void Start() { enemyDefaults = GetComponent <EnemyDefaults>(); anim = GetComponent <Animator>(); anim.SetInteger("Stage", 1); }
// Reduce DamagePlayer speed void OnTriggerEnter2D(Collider2D other) { // Slow damage player objects such as projectiles if (other.tag == "DamagePlayer") { DamagePlayerDefaults dmgPlayer = other.GetComponent <DamagePlayerDefaults>(); if (dmgPlayer != null) { dmgPlayer.RestoreMoveSpeedTime = Time.time + restoreProjectileSpeedDelay; dmgPlayer.Speed = dmgPlayer.DmgPlayer.baseSpeed * projectileSlowMultiplier; } } // Slow enemies if (other.tag == "Enemy") { EnemyDefaults enemy = other.GetComponent <EnemyDefaults>(); if (enemy != null) { enemy.RestoreMoveSpeedTime = Time.time + restoreEnemySpeedDelay; // Apply slow while also taking into consideration the move speed multiplier of enemy enemy.MoveSpeed = (enemy.Enemy.baseMoveSpeed * ((enemy.MoveSpeedMultiplier - 1) + enemySlowMultiplier)); } } }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.applyRootMotion = true; boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); nextX = rightX; }
void Awake() { gravity = -1f * gravityScale; collisionMask = LayerMask.GetMask("Ground"); enemyDefaults = GetComponent <EnemyDefaults>(); nextPos = posB; }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { player = GameObject.FindGameObjectWithTag("Player"); boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); nextAttack = Time.time + delay; }
void Awake() { player = GameObject.FindGameObjectWithTag("Player").transform; enemyDefaults = GetComponent <EnemyDefaults>(); // Set starting position and move from there nextPos = startPos; }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); startX = boss.transform.position.x; reachedTarget = false; }
void Start() { enemyDefaults = GetComponent <EnemyDefaults>(); // Set starting position and move from there nextPos = startPos; transform.position = pos[nextPos].position; }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.applyRootMotion = true; boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); // Move to position based on current facing direction nextX = boss.transform.localScale.x > 0 ? -x : x; }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.applyRootMotion = true; boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); // Set facing direction to opposite of where enemy is boss.transform.localScale = new Vector2((Mathf.Abs(rightX - boss.transform.position.x) <= 0.1f ? 1 : -1) , boss.transform.localScale.y); }
bool playerInView; // Must be in camera view and within distance to be in view (InView and InDistance) void Awake() { player = GameObject.FindGameObjectWithTag("Player"); playerHP = player.GetComponent <PlayerHP>(); view = player.GetComponent <PlayerInView>(); nextPos = posB; enemyDefaults = GetComponent <EnemyDefaults>(); anim = GetComponent <Animator>(); rb = GetComponent <Rigidbody2D>(); }
void Awake() { bossStage = GetComponent <BossStages>(); enemyDefaults = GetComponent <EnemyDefaults>(); phaseTwo = GetComponent <MeleePhaseTwo>(); barObject = transform.GetChild(0).gameObject; // barObject MUST BE FIRST CHILD OF OBJECT THIS SCRIPT IS ATTACHED TO originalMoveDelay = phaseTwo.MoveDelay; barOrigPos = barObject.transform.localPosition; }
void Awake() { gravity = -1f * gravityScale; collisionMask = LayerMask.GetMask("Ground"); enemyDefaults = GetComponent <EnemyDefaults>(); anim = GetComponent <Animator>(); player = GameObject.FindGameObjectWithTag("Player"); playerHP = player.GetComponent <PlayerHP>(); view = player.GetComponent <PlayerInView>(); }
void Awake() { collisionMask = LayerMask.GetMask("Ground"); player = GameObject.FindGameObjectWithTag("Player"); playerHP = player.GetComponent <PlayerHP>(); playerInView = player.GetComponent <PlayerInView>(); enemyDefaults = GetComponent <EnemyDefaults>(); anim = GetComponent <Animator>(); nextPos = posB; }
// Slow enemy move speed void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Enemy") { EnemyDefaults enemy = other.GetComponent <EnemyDefaults>(); if (enemy != null) { enemy.RestoreMoveSpeedTime = Time.time + restoreEnemySpeedDelay; // Apply slow while also taking into consideration the move speed multiplier of enemy enemy.MoveSpeed = (enemy.Enemy.baseMoveSpeed * ((enemy.MoveSpeedMultiplier - 1) + enemySlowMultiplier)); } } }
float resetRestoreRate = .2f; // Rate at which restoreHPTime should be reset void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Enemy") { EnemyDefaults enemy = other.GetComponent <EnemyDefaults>(); if (enemy != null) { if (Time.time > enemy.RestoreHPTime) { enemy.RestoreHPTime = Time.time + restoreHPDelay; // Take max hp of enemy and half it int halvedMaxHP = enemy.Enemy.maxHP / 2; // If enemy's current hp is more than the halved max health, set current hp to the halved max if (enemy.HP > halvedMaxHP) { // The difference between enemy's hp and halved hp is the amount to be restored after restoreHPDelay expires enemy.RestoreHPAmount = enemy.HP - halvedMaxHP; enemy.DisplayDmgNum(enemy.RestoreHPAmount); enemy.SpriteRender.material = demiEffect; // Apply different material on enemy to indicate is affected by demi enemy.HP = halvedMaxHP; enemy.OnDamaged.Invoke(); enemy.StartColorChange(); } else { enemy.DisplayDmgNum(0); enemy.SpriteRender.material = demiEffect; // Apply different material on enemy to indicate is affected by demi enemy.OnDamaged.Invoke(); enemy.StartColorChange(); } } else if ((enemy.RestoreHPTime - Time.time) < (restoreHPDelay - resetRestoreRate)) { // Reset restore timer enemy.RestoreHPTime = Time.time + restoreHPDelay; enemy.DisplayDmgNum(0); enemy.OnDamaged.Invoke(); enemy.StartColorChange(); } } } }
void Awake() { // Shoot behaviour must either be in main enemy object which this script is attached to or in child object shootBehaviourScript = GetComponentInChildren <ShootBehaviour>(); // Do not shoot until aggro'd if (shootBehaviourScript != null) { shootBehaviourScript.enabled = false; } player = GameObject.FindGameObjectWithTag("Player"); playerHP = player.GetComponent <PlayerHP>(); view = player.GetComponent <PlayerInView>(); enemyDefaults = GetComponent <EnemyDefaults>(); anim = GetComponent <Animator>(); nextPos = posB; }
//If collides with anything that damages player, take damage void OnTriggerEnter2D(Collider2D other) { EnemyDefaults enemyDmg = other.GetComponent <EnemyDefaults>(); DamagePlayerDefaults dmgPlayer = other.GetComponent <DamagePlayerDefaults>(); bool isEnemy = enemyDmg != null ? true : false; if ((enemyDmg != null || dmgPlayer != null) && Time.time > damagedTime && !dead) { int dmg = isEnemy ? enemyDmg.Dmg : dmgPlayer.Dmg; // If dmg is 0 or less, do nothing and return if (dmg <= 0) { return; } // Disable other object if DamagePlayer property is true if (dmgPlayer != null && dmgPlayer.DmgPlayer.disableOnPlayer) { other.gameObject.SetActive(false); } DisplayDmgNum(dmg); //Show damage number currentHP -= dmg; //Calculate HP if (currentHP < 0) //Do not go below 0 hp { currentHP = 0; } OnHealthChange.Invoke(); // OnHealthChanged event damagedTime = Time.time + damagedDelay; //Take damage rate //Damaged response PlaySound(); StartCoroutine(Knockback(other.gameObject)); StartCoroutine(FlashRed()); } }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { player = GameObject.FindGameObjectWithTag("Player"); animator.applyRootMotion = true; boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); // Choose closest x position to player float closest = int.MaxValue; float playerPos = player.transform.position.x; for (int i = 0; i < targetsX.Length; i++) { if (Mathf.Abs(targetsX[i] - playerPos) < Mathf.Abs(closest - playerPos)) { closest = targetsX[i]; } } chosenX = closest; // Set boss to the chosen x position boss.transform.position = new Vector2(chosenX, boss.transform.position.y); }
void Awake() { barObject = transform.GetChild(0).gameObject; // barObject MUST BE FIRST CHILD OF OBJECT THIS SCRIPT IS ATTACHED TO enemy = GetComponent <EnemyDefaults>(); }
void Awake() { enemyDefaults = GetComponent <EnemyDefaults>(); targetReachedEffect = Instantiate(targetReachedEffectPrefab, transform.position, Quaternion.identity); targetReachedEffect.SetActive(false); }
void Start() { enemyDefaults = GetComponent <EnemyDefaults>(); }
void Awake() { enemyDefaults = GetComponent <EnemyDefaults>(); }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { boss = animator.gameObject.transform; enemyDefaults = boss.GetComponent <EnemyDefaults>(); animator.SetBool("Dashing", false); }